커스텀 [워밍업] 커스텀 펑션 - 아웃풋에 로그 남기기.
페이지 정보
본문
안녕하세요. 소심비형입니다. 요즘 유튜브를 보고 있으면 정말 우리나라는 사기꾼들이 많다는걸 새삼 느끼게 됩니다. 여러분도 항상 조심해야 합니다-_-; 사기치는 품목도 다양하죠? 중고차는 뭐 입이 아플 정도고요. 아파트, 토지등등... 중고나라에서 거래되는 전자 제품들~ 정말 너무한다 싶기도 하고요. 사기 범죄에 대해서 처벌이 좀 강해졌으면 좋겠습니다-_-; 아무튼... 오늘도 메뉴얼 작성에 열을 올려봅니다. 새로운 기분으로 시작하기 위해 새 프로젝트를 만들어서 해볼께요. 비주얼 스튜디오를 실행하고 새로 만들기 > 프로젝트를 선택하세요.
아래 절차대로 새로운 프로젝트를 생성 하세요. 이름은 CustomFunction으로 만들도록 하겠습니다.
- 왼쪽 프로젝트 템플릿 카테고리에서 Visual C# 선택
- 클래스 라이브러리 (.NET Framework) 선택
- 이름에 CustomFunction 입력
- 프로젝트가 만들어질 위치 선택
- .NET Framework 4.6.1 선택
- 새 Git 리포지토리 만들기 체크 해제 (Git을 사용한다면 선택)
- 확인 버튼을 클릭하여 작업 완료
프로젝트를 생성하면 기본 클래스 Class1.cs가 만들어집니다. NGM에서 사용하려면 클래스의 이름이 XxxModel.cs처럼 마지막에 Model로 끝나야 합니다. 그래서 이름을 변경해줘야 합니다. Class1.cs 파일에서 우클릭 후 이름 바꾸기를 선택하세요.
이름을 OutputModel로 변경하면 아래와 같은 Alert 창이 표시됩니다. 이 창이 표시되는 이유는 이렇습니다. 이 클래스를 참조했던 모든 클래스에서 변경된 이름으로 수정할지 물어보는겁니다. 예를 들어서 핸드폰에 홍길동 친구를 저장해놨는데, 홍길동이 개명을 해서 고길동으로 변경했을 때 자신을 등록한 모든 친구들 핸드폰의 이름을 자동으로 변경할지 물어보는겁니다. 지금은 Class1.cs를 참조하는 어떤 클래스도 없기 때문에 예, 아니오 아무거나 해도 상관 없습니다.
NGM에서 제공하는 프레임워크를 참조 추가해야 합니다. 그래야~ NGM에서 제공하는 편의 기능들을 사용할 수 있기 때문이죠. 아래 그림처럼 CustomFunction 프로젝트 밑에 참조에서 우클릭 후 참조 추가를 클릭하세요.
NGM 프레임워크를 사용하기 위해 라이브러리를 추가합니다. 여러번 동일한 작업을 해봤기 때문에 이제는 메뉴얼을 안보고도 추가할 수 있을겁니다.
- 찾아보기 클릭
- 찾아보기 버튼 클릭
내문서에 NGM5폴더로 이동합니다. 이 안에 FunctionExtension(도구 확장) 폴더로 들어가세요. NGM.dll, NGM.Models.dll, NGM.Models.Interface.dll이 보입니다. 모두 선택하고 추가하세요.
참조에 3개의 dll이 추가된 것을 확인할 수 있습니다. 이렇게 해서 아웃풋에 로그를 기록하는 펑션을 만들기 위한 모든 준비가 완료되었습니다.
이번에는 BaseCustomFunctionModel을 상속 받도록 선택해야 합니다. 그리고 자동으로 추상 클래스를 구현하세요~ Tool이 아니라 Function입니다^^
이 펑션은 아웃풋 창에 로그를 기록하는 아주 단순한 예제입니다. 코드가 복잡하지도 않고, 어려운 내용도 없습니다^^; 전체 코드는 아래와 같습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NGM.Interface;
namespace CustomFunction
{
public class OutputModel : NGM.Models.Interface.BaseCustomFunctionModel
{
public override string DisplayCategory { get { return "아웃풋 카테고리"; } }
public override string DisplayName { get { return "아웃풋 함수"; } }
public override void Execute(IMainView mainView, IPlayer player)
{
player.WriteOutput("플레이어 아웃풋입니다.");
mainView.WriteOutput("ID", "Description", "매인뷰 아웃풋입니다.");
}
}
}
|
cs |
솔루션을 빌드하고 NGM에 추가해야겠죠? 아래 그림을 참고해서 솔루션을 다시 빌드합니다.
빌드가 성공하면 아래처럼 NGM을 실행하고 관리자 메뉴의 함수 모듈 설치를 클릭하세요.
오늘 새로 만든 프로젝트의 폴더로 이동하세요. bin > Debug 폴더안에 있는 CustomFunction.dll을 선택하고 하단의 열기를 클릭하세요.
함수 모듈이 NGM에 설치 되었습니다. 아래와 같이 스크립트에 추가하고 실행 해보세요.
- 좌측 하단에 사용자 함수 탭 클릭
- 아웃풋 함수 클릭
- 스크립트로 드래그 앤 드롭하여 추가
- 스크립트 실행 클릭
여러분도 아래와 같은 결과를 확인할 수 있을겁니다. 생각보다 간단하죠? 이미 눈치 채신 분들도 계실겁니다. IMainView, IPlayer 인터페이스들을 상속 받아서 내부를 구현하면 매크로 엔진에서 처리가 된다는 것을 말입니다. 이제 천천히 하나씩 알아가 보도록 하죠~
오늘은 말 그대로 워밍업 차원에서 간단하게 매인뷰에 있는 아웃풋 창에 로그를 기록하는 방법에 대해 알아봤습니다. 다음 예제는 매인뷰와 상호 작용할 수 있는 아이템으로 찾아뵙도록 하겠습니다.
개발자에게 후원하기
추천, 구독, 홍보 꼭~ 부탁드립니다.
여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~
감사합니다~
- 이전글커스텀 펑션 만들기. (스크립트 실행하기) 20.01.30
- 다음글[프롤로그] 커스텀 펑션 만들기. 20.01.30
댓글목록
등록된 댓글이 없습니다.