Ejemplo n.º 1
0
 public void AttackMove(Vector2 target)
 {
     PathToFollow = gm.GetPath(controlledUnit.Position, target);
     fsm.ChangeState(FSMState.FSMStates.AttackMove, true);
     AttackMoving          = true;
     AttackMoveDestination = target;
 }
Ejemplo n.º 2
0
    protected override bool OnEndState()
    {
        //NEXT STEPS: End walk/run animation
        index         = 0;
        path          = null;
        unit.HasMoved = true;

        if (CanAttackEnemy())
        {
            fSM.ChangeState(UnitFSM.UnitStates.SELECTED);
        }
        else
        {
            fSM.ChangeState(UnitFSM.UnitStates.IDLE);
        }

        return(true);
    }
    protected override bool OnEndState()
    {
        isInit    = false;
        ForceQuit = false;
        FSM.GetUnitOwner().ShowFeedbackOnAttacked();
        FSM.ChangeState(UnitFSM.UnitStates.IDLE);

        return(true);
    }
Ejemplo n.º 4
0
    protected override bool OnEndState()
    {
        FSM.ChangeState(UnitFSM.UnitStates.IDLE);

        //Attack management
        FSM.GetUnitOwner().HasAttacked = true;
        FSM.GetUnitOwner().CanAttack   = false;
        target.DamageTaken    += FSM.GetUnitOwner().Stats.DamageAttackPoints;
        target.HasBeenAttacked = true;
        target.RecalculateHealth();

        isInit    = false;
        ForceQuit = false;
        counter   = 0;
        return(true);
    }