public Monitor_Door_Canceling(MonitorController_Door parent, List<POrder> reqOrders)
 {
     _parent = parent;
     _reqOrders = reqOrders;
     _cancelTargetList.AddRange(reqOrders);
     _channel = parent.Parent.Input.CancelChannel;
 }
        public Monitor_Door_Entering(MonitorController_Door parent)
        {
            _parent = parent;
            _channel = parent.Parent.Input.EnterChannel;
            _targetElwCodes = ElwUtil.GetElwCodes();
            _remainElwCodes.AddRange(_targetElwCodes);

            _parent.MonitorPrice.Reset();
        }
 public IMonitor_Door ChangeStateIfPossible(MonitorController_Door.MonitorState targetState)
 {
     // Enter Signal에 반응한다.
     if (targetState == MonitorController_Door.MonitorState.Entering)
     {
         Monitor_Door_Entering next = new Monitor_Door_Entering(_parent);
         return next;
     }
     return null;
 }
 public IMonitor_Door ChangeStateIfPossible(MonitorController_Door.MonitorState targetState)
 {
     // Canceling이 오면 바로 반응한다.
     if (targetState == MonitorController_Door.MonitorState.Canceling)
     {
         Monitor_Door_Canceling next = new Monitor_Door_Canceling(_parent, _orders);
         return next;
     }
     return null;
 }
 public Monitor_Door_Ready(MonitorController_Door parent)
 {
     this._parent = parent;
     _parent.Parent.IncreaseRoundCount();
 }
 public IMonitor_Door ChangeStateIfPossible(MonitorController_Door.MonitorState targetState)
 {
     // 모든 상태 변화 시그널을 무시한다.
     return null;
 }
 void InitController()
 {
     _monitorController = new MonitorController_Door(this);
     _sweeperController = new SweeperController_Door(this);
     _agroorController = new Controller_Agroor(this);
 }