コード例 #1
0
    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));
    }
コード例 #2
0
 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();
 }
コード例 #3
0
 void OnAnyUnitDead(UnitOnMap deadUnit)
 {
     AllUnits.Remove(deadUnit);
     StartCoroutine(CheckEndGame());
 }