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; }
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); } }