NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    C# C# .NET 매크로 프로그램 만들기. (상태 처리 방법 1부)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 오늘은 간단한 내용인데요. 이 내용과 문자를 비교할 수 있는 조건 액션을 2부에서 만들어보고, 매크로 플레이어의 상태를 체크해서 중지되어 있으면 다시 실행하는 프로세스를 만들어 보도록 하겠습니다. 이번 내용은 앞서 만들었던 플레이어 상태 정보를 사용자가 확인할 수 있도록 하는 액션입니다. 상태를 확인할 수 있으면, 상태 정보를 변수에 저장하고 저장된 내용을 조건에서 판단할 수 있습니다.

     

    개발자가 아닌 경우 변수에 대한 이해가 어려울 수 있습니다. 사실, 프로그래밍에 처음 입문하는 분들도 변수 개념부터 어려워하거든요. 그리고, 무엇보다 중요한 개념이라서 변수를 이해하지 못하면 프로그램 개발이 불가능합니다. 변수에 대해 이해하려면 아래 설명 글들을 참고 해보세요.

    [ 변수에 대한 이해 ]

    [ 파이썬 코딩 - 변수란? ]

    6HWrFOZ.png

     

     

    자~ 이제 스크립트 플레이어의 상태를 알아오기 위한 액션을 하나 추가해줍니다.

    using Ai.Interface;
    using System.ComponentModel;
    using System.Xml.Serialization;
    
    namespace Ai.Model.Action.Script
    {
        [Serializable]
        public class StateModel : BaseModel
        {
            [XmlIgnore]
            [LocalizedCategory("Data")]
            [LocalizedDisplayName("State")]
            [LocalizedDescription("State")]
            [Browsable(true)]
            [DefaultValue(typeof(Ai.Definition.PlayerState), "Stop")]
            public Ai.Definition.PlayerState State { get; set; } = Definition.PlayerState.Stop;
    
            public override string? Execute(Ai.Interface.IPlayer player)
            {
                string? id = base.Execute(player);
    
                if (!string.IsNullOrEmpty(SelectScriptFile))
                {
                    List<IPlayer> children = new List<IPlayer>();
                    Ai.Common.Helper.GetRecursiveChildPlayers(children, player, SelectScriptFile);
    
                    foreach (var child in children)
                        this.State = child.State;
                }
    
                return id;
            }
        }
    }

     

    위 내용이 전부입니다. 이미 스크립트 실행, 중지, 일시중지 기능을 만들 때 대부분 코딩이 완료되었으므로 상태 가져오는 방법은 간단하게 처리할 수 있습니다. 여기에 추가적으로 몇가지 기능을 만들어야 하지만, 다음에 차차 추가하는걸로 해야겠네요. 일단, 시나리오상 동일한 이름을 가진 스크립트가 실행될수도 있기 때문에 인덱싱을 추가해야 할거 같고요. 인덱싱도 숫자가 아닌 편의성을 위한 항목도 필요할듯 합니다.

     

    테스트용 스크립트는 아래와 같습니다. 실행 액션 아래에 상태 액션을 추가했습니다.

    EED2VTg.png

     

     

    실행에 사용할 스크립트와 상태를 체크할 스크립트는 동일해야 합니다.

    qzKgFMZ.png

     

     

    매크로를 실행하고 결과를 확인 해보면, 실행 상태로 값이 변경된 것을 확인할 수 있습니다.

    AdXmIMT.png

     

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.