コード例 #1
0
 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);
 }
コード例 #2
0
 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);
         }
     }
 }
コード例 #3
0
    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);
        }
    }
コード例 #4
0
    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);
    }