Пример #1
0
    // 현재 메시지를 처리 할 수 없으면 전역 엔티티로 변경되서 메시지를 처리함
    public bool HandleMessage(MAGADATA.Telegram msg)
    {
        /// 현재상태에서 처리가능한지 체크
        if (mCurrentState != null && mCurrentState.OnMessage(mEntity, msg))
        {
            return(true);
        }

        /// 전역 상태의 메시지로 넘겨 처리
        if (mGlobalState != null && mGlobalState.OnMessage(mEntity, msg))
        {
            return(true);
        }
        return(false);
    }
Пример #2
0
    // 다른에이전트에게 메시지를 보냄
    public void DispatchMessage(float delayTime, int Sender, int Receiver, int Msg, object Extrainfo)
    {
        Miner ReceiverMiner = MinerGameManager.I.GetMiner(Receiver);

        MAGADATA.Telegram tel = new MAGADATA.Telegram(0, Sender, Receiver, Msg, Extrainfo);

        // 지연될 필요가 없으면 발송
        if (delayTime <= 0.0f)
        {
            Discharge(ReceiverMiner, tel);
        }
        else //시간 계산
        {
            tel.DispatchTime = delayTime;
            mListDelayMsg.Add(tel);
        }
    }
Пример #3
0
 public abstract bool HandleMessage(MAGADATA.Telegram msg);
Пример #4
0
 // 전보전달
 void Discharge(Miner Reciver, MAGADATA.Telegram msg)
 {
 }
Пример #5
0
 public override bool OnMessage(Miner t, MAGADATA.Telegram tel)
 {
     return(false);
 }
Пример #6
0
 public override bool HandleMessage(MAGADATA.Telegram msg)
 {
     return(mStateMachine.HandleMessage(msg));
 }
Пример #7
0
 public bool HandleMessage(MAGADATA.Telegram tel)
 {
     return(false);
 }
Пример #8
0
 public abstract bool OnMessage(T t, MAGADATA.Telegram tel);