示例#1
0
 public override void OnCreateRoomFailed(short returnCode, string message)
 {
     Debug.Log(
         $"OnCreateRoomFailed got called. This can happen if the room exists (even if not visible). Message: {message}.");
     _transitionManager.FadeIn();
     PanelManager.warningPanel.Show(400, 200,
                                    "The room with same name already exists, please try again with another name.");
 }
    private void LoadBattle()
    {
        Debug.Log(">> Loading Battle...");
        sceneTransitionManager = FindObjectOfType <SceneTransitionManager>();

        if (sceneTransitionManager == null)
        {
            Debug.LogError("Scene Transition Manger missing from Current Battle Scene");
        }

        battleManager = FindObjectOfType <BattleManager>();

        if (battleManager == null)
        {
            Debug.LogError("Battle Manger missing from Current Battle Scene");
        }

        battleManager.StartBattle(currentPlayerData, enemyDataDictionary[currentEnemyId]);
        sceneTransitionManager.FadeIn(() => Debug.Log("FadeIn Complete"));
    }
    private void LoadOverworld()
    {
        Debug.Log(">> Loading Overworld...");
        sceneTransitionManager = FindObjectOfType <SceneTransitionManager>();

        if (sceneTransitionManager == null)
        {
            Debug.LogError("Scene Transition Manger missing from Current Overworld Scene");
        }

        Enemy[] enemies = GameObject.FindObjectsOfType <Enemy>();
        if (enemies != null)
        {
            foreach (Enemy enemy in enemies)
            {
                Enemy.Data enemyData = enemyDataDictionary.ContainsKey(enemy.data.id)
                    ? enemyDataDictionary[enemy.data.id]
                    : null;
                enemy.LoadData(enemyData);
            }
        }

        if (hasBattleEnded)
        {
            Debug.Log(">>> Restoring Overworld State After Battle...");

            sceneTransitionManager.FadeIn(() => Debug.Log("FadeIn Complete"));

            Player player = GameObject.FindObjectOfType <Player>();
            if (player != null)
            {
                player.LoadData(currentPlayerData);
                currentPlayerData = null;
            }
            hasBattleEnded = false;
        }
    }