Example #1
0
    private void HandleEnemyClear()
    {
        BattleManager.ClearEnemies();

        List <GameObject> children = new List <GameObject>();

        foreach (Transform child in enemyPartyPanel)
        {
            children.Add(child.gameObject);
            CharacterPanelScript script = child.gameObject.GetComponent <CharacterPanelScript>();
            if (script != null)
            {
                panelScripts.Remove(script.Character);
            }
        }
        children.ForEach(child => Destroy(child));
        enemyGenerateButton.GetComponent <Button>().interactable = true;
    }
Example #2
0
 private IEnumerator GenerateEnemyParty()
 {
     for (int i = 0; i < EnemyParty.partySize; i++)
     {
         int level = EnemyParty.baseLevel;
         if (EnemyParty.minDelta < EnemyParty.maxDelta)
         {
             level = random.Range(EnemyParty.baseLevel - EnemyParty.minDelta, EnemyParty.baseLevel + EnemyParty.maxDelta, step++);
         }
         Entity entity = EntityManager.Generate(level);
         BattleManager.AddEnemyMember(entity);
         GameObject           charPanel = Instantiate(CharacterPanelPrefab);
         CharacterPanelScript script    = charPanel.GetComponent <CharacterPanelScript>();
         if (script != null)
         {
             script.Character = entity;
             panelScripts.Add(entity, script);
         }
         charPanel.transform.SetParent(enemyPartyPanel);
         charPanel.name = entity.Name + " Panel";
         yield return(null);
     }
 }