Ejemplo n.º 1
0
    void setFSM()
    {
        _fsm                   = new FSMBeetle();
        _fsm.beetle            = this;
        _fsm.beetleFlocking    = _flocking;
        _fsm.beetleLineOfSight = _lineOfSight;

        patrolling      = new StatePatrolling(_fsm);
        wander          = new StateWander(_fsm);
        lostSquirrel    = new StateLostSquirrel(_fsm);
        chasingSound    = new StateChasingSound(_fsm);
        seekingSquirrel = new StateSeekingSquirrel(_fsm);


        //patrolling
        patrolling.transitions[InputBeetle.InSight]      = seekingSquirrel;
        patrolling.transitions[InputBeetle.SoundHearded] = chasingSound;

        //seekingSquirrel
        seekingSquirrel.transitions[InputBeetle.LostSight] = lostSquirrel;

        //lostSquirrel
        lostSquirrel.transitions[InputBeetle.ReachedPosition] = wander;

        //wander
        wander.transitions[InputBeetle.InSight]           = seekingSquirrel;
        wander.transitions[InputBeetle.SoundHearded]      = chasingSound;
        wander.transitions[InputBeetle.finishedWandering] = patrolling;

        //chasingSound
        chasingSound.transitions[InputBeetle.ReachedPosition] = wander;
        chasingSound.transitions[InputBeetle.InSight]         = seekingSquirrel;

        _fsm.SetInitial(patrolling);
    }
Ejemplo n.º 2
0
 public StateWander(FSMBeetle fsm) : base(fsm, "Wander")
 {
 }
 public StateChasingSound(FSMBeetle fsm) : base(fsm, "ChasingSound")
 {
 }
Ejemplo n.º 4
0
 public StatePatrolling(FSMBeetle fsm) : base(fsm, "Patrolling")
 {
 }
 public StateSeekingSquirrel(FSMBeetle fsm) : base(fsm, "SeekingSquirrel")
 {
 }
Ejemplo n.º 6
0
 public StateLostSquirrel(FSMBeetle fsm) : base(fsm, "LostSquirrel")
 {
 }