Ejemplo n.º 1
0
 public void BeingAttacked(CombatAI attacker)
 {
     if (_currentTarget != attacker.Health) {
         Creature.ChangeState (State.Attack);
         GameController.CombatController.AddToCombat (this);
         _currentTarget = attacker.GetComponent<Health>();
         HasTarget = true;
     }
 }
Ejemplo n.º 2
0
    public void AddToCombat(CombatAI combatAI)
    {
        _engagedAI.Add (combatAI);

        if (combatAI.GetComponent<Monster>() != null) {
            GameController.LevelGeneration.RemoveFromGrid(gameObject);
            foreach (Dog dog in GameController.MainCharacter.DogInventory) {
                if (dog.Creature.CurrentState == State.Follow && !dog.CombatAI.HasTarget) {
                    dog.CombatAI.BeingAttacked(combatAI);
                }
            }
        } else if (combatAI.GetComponent<Dog>() != null) {
            foreach (CombatAI ai in EngagedAI) {
                if(ai != null && ai.GetComponent<Monster>() != null)
                    ai.GetNewDogTarget();
            }
        }
    }