예제 #1
0
        public override void Execute(BasicAgent agent)
        {
            if (agent.isSafe())
            {
                agent.ChangeState(new State_Patrol());
            }
            else
            {
                if (agent.runAway())
                {
                    agent.ChangeState(new State_Flee());
                }
                else
                {
                    agent.Chase();
                }
            }

            base.Execute(agent);
        }
예제 #2
0
        public override void Execute(BasicAgent agent)
        {
            if (!agent.isSafe())
            {
                agent.ChangeState(new State_Seek());
            }
            else
            {
                agent.Patrol();
            }

            base.Execute(agent);
        }