コード例 #1
0
        public bool HandleMessage(Message msg)
        {
            switch (msg.Msg)
            {
                case MessageType.DEALT_DAMAGE:
                    aiSystem.PopState(msg.Receiver);
                    aiSystem.PushState(msg.Receiver, "s_w_aggro");
                    return true;

                default: return false;
            }
        }
コード例 #2
0
        public void Dispatch(double delay, ulong sender, ulong receiver, MessageType msg, Object info = null)
        {
            Message telegram = new Message(delay, sender, receiver, msg, info);

            if (delay <= 0)
            {
                Discharge(receiver, telegram);
            }
            else
            {
                telegram.DispatchTime = currentTime + delay;
                priorityQ.Add(telegram);
            }
        }
コード例 #3
0
ファイル: StartState.cs プロジェクト: InferiorOlive/AIQuest
 public bool HandleMessage(Message msg)
 {
     return false;
 }
コード例 #4
0
 private void Discharge(ulong receiver, Message telegram)
 {
     entityManager.HandleMessage(receiver, telegram);
 }
コード例 #5
0
 public bool HandleMessage(Message msg)
 {
     return true;
 }
コード例 #6
0
ファイル: PlayerState.cs プロジェクト: InferiorOlive/AIQuest
 public bool HandleMessage(Message msg)
 {
     if (msg.Msg == MessageType.DEALT_DAMAGE)
     {
         return true;
     }
     else if (msg.Msg == MessageType.COMBAT_OVER_WIN)
     {
         done = true;
         return true;
     }
     return false;   
 }
コード例 #7
0
        public bool HandleMessage(Message msg)
        {
            switch (msg.Msg)
            {
                case MessageType.UPDATE_CURRENT_STATS:
                    UpdateCurrentStatValues(msg.Receiver);
                    return true;
                case MessageType.REMOVE_ENTITY:
                    RemoveEntity(msg.Receiver);
                    return true;
                case MessageType.LEVEL_UP:
                    Dictionary<StatType, double> stats = professionSystem.GetLevelStats(playerSystem.GetProfessionID(msg.Receiver));
                    foreach (StatType t in stats.Keys)
                        statsSystem.IncreaseBaseValue(msg.Receiver, t, stats[t]);
                    break;
            }

            return false;
        }
コード例 #8
0
 public bool HandleMessage(Message msg)
 {
     return true;
     //throw new NotImplementedException();
 }
コード例 #9
0
ファイル: StateMachine.cs プロジェクト: InferiorOlive/AIQuest
 public bool HandleMessage(Message msg)
 {
     return stateStack.Last().HandleMessage(msg);
 }
コード例 #10
0
 public bool HandleMessage(Message msg)
 {
     throw new NotImplementedException();
 }
コード例 #11
0
ファイル: CombatState.cs プロジェクト: InferiorOlive/AIQuest
 public bool HandleMessage(Message msg)
 {
     switch (msg.Msg)
     {
         case MessageType.EFFECT:
             if (msg.Receiver == 0)
                 instance.AddBattlefieldEffect((Effect)msg.ExtraInfo);
             else combatSystem.HandleMessage(msg);
             return true;
     }
     return false;
 }
コード例 #12
0
ファイル: CombatSystem.cs プロジェクト: InferiorOlive/AIQuest
 public bool HandleMessage(Message msg)
 {
     switch (msg.Msg)
     {
         case MessageType.DAMAGE:
             statsSystem.HandleMessage(msg);
             return true;
         case MessageType.DEALT_DAMAGE:
             aiSystem.HandleMessage(msg);
             effectSystem.HandleMessage(msg);
             return true;
         case MessageType.EFFECT:
             effectSystem.AddEffect(msg.Receiver, (Effect)msg.ExtraInfo);
             return true;
         case MessageType.HEAL:
             statsSystem.HandleMessage(msg);
             return true;
         case MessageType.TOOK_DAMAGE:
             aiSystem.HandleMessage(msg);
             effectSystem.HandleMessage(msg);
             statsSystem.HandleMessage(msg);
             return true;
         case MessageType.COMBAT_OVER_WIN:
             aiSystem.HandleMessage(msg);
             return true;
         case MessageType.RESIZE_HAND:
             aInventorySystem.HandleMessage(msg);
             return true;
     }
     return false;
 }
コード例 #13
0
 public void HandleMessage(ulong entID, Message msg)
 {
     switch (msg.Msg)
     {
         case MessageType.DAMAGE:
             combatSystem.HandleMessage(msg);
             break;
         case MessageType.HEAL:
             combatSystem.HandleMessage(msg);
             break;
         case MessageType.FORCE_STATE:
             combatSystem.HandleMessage(msg);
             break;
         case MessageType.EFFECT:
             stateSystem.HandleMessage(msg);
             break;
         case MessageType.COMBAT_OVER_WIN:
             combatSystem.HandleMessage(msg);
             break;
         case MessageType.TOOK_DAMAGE:
             combatSystem.HandleMessage(msg);
             break;
         case MessageType.DEALT_DAMAGE:
             combatSystem.HandleMessage(msg);
             break;
         case MessageType.UPDATE_CURRENT_STATS:
             entMaintenanceSystem.HandleMessage(msg);
             break;
         case MessageType.REMOVE_ENTITY:
             RemoveEntity(msg.Receiver);
             break;
         case MessageType.LEVEL_UP:
             entMaintenanceSystem.HandleMessage(msg);
             break;
         case MessageType.RESIZE_HAND:
             combatSystem.HandleMessage(msg);
             break;
         case MessageType.GAME_OVER:
             stateSystem.PopAll();
             stateSystem.PushState("game_over_state");
             stateSystem.Update(msg.Receiver, 0, null);
             break;
         default:
             Console.WriteLine("MESSAGE NOT RECOGNIZED");
             break;
     }
 }