public void BeingAttacked(CombatAI attacker) { if (_currentTarget != attacker.Health) { Creature.ChangeState (State.Attack); GameController.CombatController.AddToCombat (this); _currentTarget = attacker.GetComponent<Health>(); HasTarget = true; } }
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(); } } }