Beispiel #1
0
    public virtual bool CheckTransitionToMoving(TrunkFSM trunk)
    {
        InvertDirectionIfNeeded(trunk);

        trunk.TransitionToState(trunk.MovingState);
        return(true);
    }
Beispiel #2
0
 public virtual bool CheckTransitionToAttacking(TrunkFSM trunk)
 {
     if (trunk.attackCooldownTimer <= 0 && PlayerIsOnSight(trunk))
     {
         trunk.TransitionToState(trunk.AttackingState);
         return(true);
     }
     return(false);
 }
Beispiel #3
0
    public virtual bool CheckTransitionToDying(TrunkFSM trunk)
    {
        if (trunk.currentHealth <= 0)
        {
            trunk.TransitionToState(trunk.DyingState);
            return(true);
        }

        return(false);
    }
Beispiel #4
0
    public override bool CheckTransitionToIdle(TrunkFSM trunk)
    {
        if (!ThereIsGroundToWalk(trunk) || ReachedObstacle(trunk))
        {
            trunk.needToTurn = true;
            trunk.TransitionToState(trunk.IdleState);
            return(true);
        }

        return(false);
    }
Beispiel #5
0
 public virtual bool CheckTransitionToIdle(TrunkFSM trunk)
 {
     trunk.TransitionToState(trunk.IdleState);
     return(true);
 }