public void LoadFightModule(Hero hero, UnitOnMap enemy) { this.hero = hero; this.enemy = enemy; OnEndFight += hero.OnEndFight; OnEndFight += enemy.OnEndFight; hero.UnselectHero(); for (int i = 0; i < hero.GetArmy().Count; i++) { heroArmyPoints[i].SpawnSquad(hero.GetArmy()[i], true); hero.GetArmy()[i].OnDeath += OnAnyDead; heroArmyPoints[i].onMouseDownUnit += OnUnitClick; heroArmyPoints[i].onMouseOverUnit += OnMoseOverUnit; } for (int i = 0; i < enemy.GetArmy().Count; i++) { enemyArmyPoints[i].SpawnSquad(enemy.GetArmy()[i], false); enemy.GetArmy()[i].OnDeath += OnAnyDead; enemyArmyPoints[i].onMouseDownUnit += OnUnitClick; enemyArmyPoints[i].onMouseOverUnit += OnMoseOverUnit; } isHeroTurn = true; List <Camera> cameras = new List <Camera>(FindObjectsOfType <Camera>()); camBeforeFight = cameras.Find((Camera cam) => cam.gameObject.activeInHierarchy); camBeforeFight.gameObject.SetActive(false); fightModuleCamera.gameObject.SetActive(true); SelectUnit(GetCurrentMoveUnit(isHeroTurn)); }
public override void Activate(object controller) { if (controller is Hero) { return; } gameObject.SetActive(true); curUnit = controller as UnitOnMap; icon.sprite = curUnit.GetArmy()[0].unitInfo.unitIcon; unitName.text = curUnit.GetArmy()[0].unitInfo.unitName; UpdateHeroArmy(); }
void OnAnyUnitDead(UnitOnMap deadUnit) { AllUnits.Remove(deadUnit); StartCoroutine(CheckEndGame()); }