public void SwitchToCombat(OverworldEnemyCore aOverworldEnemyCores) { AudioManager.instance.PlaySoundOneShot(AudioManager.AudioClips.Encounter, AudioManager.Soundtypes.SoundEffects); TacticsManager.instance.StartCombat(m_CombatArena, m_FloorCore, this, aOverworldEnemyCores); InputManager.instance.m_MovementControls.Disable(); gameObject.SetActive(false); m_Map.gameObject.SetActive(false); }
public void RemoveEnemy(OverworldEnemyCore aOverworldEnemy) { for (int i = m_EnemysInFloor.Count - 1; i >= 0; i--) { if (m_EnemysInFloor[i] == aOverworldEnemy) { Destroy(m_EnemysInFloor[i].gameObject); m_EnemysInFloor.RemoveAt(i); } } }
public void SpawnEnemys() { if (m_OverworldEnemyCorePrefab == null) { Debug.Log("OverworldEnemyPrefab is not attached"); return; } m_EnemysInFloor = new List <OverworldEnemyCore>(); m_FloorCore.InitializeEnemys(); foreach (InitializeOverWorldEnemy aEnemy in m_FloorCore.m_Enemy) { OverworldEnemyCore tempEnemy = Instantiate(m_OverworldEnemyCorePrefab, transform); tempEnemy.SetEnemy(aEnemy, this); m_EnemysInFloor.Add(tempEnemy); } }
public void StartCombat(CombatArena aArena, Floor aCurrentFloor, FloorManager aFloorManager, OverworldEnemyCore aOverworldEnemyCore) { AudioManager.instance.PlaySoundRepeating(AudioManager.AudioClips.Combat, AudioManager.Soundtypes.Music); m_CurrentFloorManager = aFloorManager; m_CurrentEnemyCore = aOverworldEnemyCore; EnemyManager.instance.AddEnemysToManager(aOverworldEnemyCore.m_OverworldEnemy.m_Enemyset(), aArena); m_CombatArena = aArena; for (int i = 0; i < m_EnemyManager.m_EnemyList.Count; i++) { m_EnemyManager.m_EnemyList[i].Initialize(); AddCreatureToCombat(m_EnemyManager.m_EnemyList[i], m_TurnOrderEnemy); } AddCreatureToCombat(m_PartyManager.m_CurrentParty[0], m_TurnOrderAlly); AddCreatureToCombat(m_PartyManager.m_CurrentParty[1], m_TurnOrderAlly); AddCreatureToCombat(m_PartyManager.m_CurrentParty[2], m_TurnOrderAlly); AddCreatureToCombat(m_PartyManager.m_CurrentParty[3], m_TurnOrderAlly); m_UiTabTurnKeeper.gameObject.SetActive(true); PressTurnManager.instance.m_TurnKeeper = m_UiTabTurnKeeper; StartCoroutine(AllyTurn()); UiManager.instance.PushScreen(UiManager.UiScreens.CommandBoard); UiScreen temp = UiManager.instance.GetScreen(UiManager.UiScreens.CommandBoard); ((UiScreenCommandBoard)temp).m_CommandboardCreature = m_PartyManager.m_CurrentParty[0]; aArena.gameObject.SetActive(true); }