Пример #1
0
        public override void onMessage(AIMoveController obj, StateMsg <AIMoveController> msg)
        {
            AIMsg type = (AIMsg)msg.type;

            switch (type)
            {
            case AIMsg.reFindPath:
            case AIMsg.moveTimeIsOver:
                obj.getSM().changeState(AIFindingPathState.Instance());
                break;

            case AIMsg.catchPlayer:
                obj.getSM().changeState(AICatchPlayerState.Instance());
                break;

            case AIMsg.catchByTrap:
                obj.getSM().changeState(AICatchByTrapState.Instance());
                break;

            case AIMsg.waitForSomebody:
                AIMoveController ai = (AIMoveController)msg.sender;
                obj.setWaitThisAI(ai);
                obj.getSM().changeState(AIWaitState.Instance());
                break;
            }
        }
Пример #2
0
 public static AIWaitState Instance()
 {
     if (instance == null)
     {
         instance = new AIWaitState();
     }
     return(instance);
 }