public void EnterScene(GameSceneId sceneId) { if (m_CurrentSceneData != null) { if (m_CurrentSceneData.sceneId == sceneId) { return; } if (m_CurrentSceneData.sceneObject != null) { m_CurrentSceneData.sceneObject.ShowSceneObject(false); } } GameSceneData sceneData = FindSceneData(sceneId); if (sceneData == null) { Debug.LogErrorFormat("Didn't Find Scene:{0}", sceneId); return; } if (sceneData.sceneObject == null) { sceneData.sceneObject = GlobalTools.AddChild <GameScene>(sceneParent, sceneData.scenePrefab); } sceneData.sceneObject.ShowSceneObject(true); m_CurrentSceneData = sceneData; }
private GameSceneData FindSceneData(GameSceneId sceneId) { GameSceneData sceneData = null; foreach (var data in sceneDatas) { if (data.sceneId == sceneId) { sceneData = data; break; } } return(sceneData); }