// called second void OnSceneLoaded(Scene scene, LoadSceneMode mode) { if (_currentGame != null) { int buildIndex = SceneManager.GetActiveScene().buildIndex; Frame.FlushMemory(); NeverdawnScene neverdawnScene = FindObjectOfType <NeverdawnScene>(); if (neverdawnScene != null) { Frame.DeserializeFrames(_currentGame, buildIndex); // cache the most important frames _playerFrame = Frame.FindFrameById(playerFrameId); _inventory = _playerFrame.GetComponent <PlayerInventory>(); _party = _playerFrame.GetComponent <PlayerParty>(); _time = _playerFrame.GetComponent <PlayerTime>(); UICharacterMenus.UpdateView(); _inventory.Initialize(_currentGame); _explorationController.Initialize(_currentGame); _eventController.Initialize(); _time.Run(); _gameState = GameState.Exploration; _isPaused = false; } } }