public void SetToFixedScenesLevel(OnceForAllParam param) { _fixedSceneNames = param.FixedScenes; _sceneManager = new FixedScenesManager(this, param); RequestForFixedScenes(param.AssetBundleName); }
public void SetToWorldCompositionLevel(WorldCompositionParam param, IStreamingGoManager streamingGo) { _fixedSceneNames = param.FixedScenes; _sceneManager = new StreamingManager(this, streamingGo, SingletonManager.Get <StreamingLevelStructure>().Data, param, _fixedSceneNames.Count); RequestForFixedScenes(param.AssetBundleName); }
public void SetToWorldCompositionLevel(WorldCompositionParam param, IStreamingGoManager streamingGo) { _fixedSceneNames = param.FixedScenes; StreamingLevelStructure streamingLevel = SingletonManager.Get <StreamingLevelStructure>(); ScenesLightmapStructure lightmap = SingletonManager.Get <ScenesLightmapStructure>(); lightmap.ListToDict(); ScenesIndoorCullStructure indoor = SingletonManager.Get <ScenesIndoorCullStructure>(); indoor.ListToDict(); _sceneManager = new StreamingManager(this, streamingGo, streamingLevel.Data, lightmap.Data, indoor.Data, param, _fixedSceneNames.Count); //RequestForFixedScenes(param.AssetBundleName); RequestForFixedScenes(param.PreMapName + "/scene"); }
public void InitContoller() { Console.Log(ConsoleFilter.MainController, "Game contoller Init is Start"); IsDisposed = true; if (Main.Instance == null) { Console.LogError(ConsoleFilter.MainController, "Main is null in InitContoller Game"); return; } commandQueue = new Queue <Action>(); teams = new Dictionary <TeamId, NWTeamInfo>(); gameControllers = Main.Instance; gameControllers.ServerSimulator.GameCommandResultResponse -= GameCommandResult; gameControllers.ServerSimulator.GameCommandResultResponse += GameCommandResult; gameControllers.ServerSimulator.StartGameStateResponse -= SetStartGameState; gameControllers.ServerSimulator.StartGameStateResponse += SetStartGameState; gameControllers.ServerSimulator.UpdateGameState -= SetGameState; gameControllers.ServerSimulator.UpdateGameState += SetGameState; SelectObject = GetComponent <SelectObject>() as ISelectObject; if (SelectObject == null) { Console.LogError(ConsoleFilter.MainController, "Get Component SelectObject is fail"); return; } SelectObject.SetGameControoler(this); //SelectObject.SelectObjRequest -= SelectObjRequest; //SelectObject.SelectObjRequest += SelectObjRequest; //SelectObject.SendCommandRequest -= SendCommandRequest; //SelectObject.SendCommandRequest += SendCommandRequest; SelectObject.SelectBuild -= SelectBuild; SelectObject.SelectBuild += SelectBuild; UnitController = new UnitController(); BuildController = new BuildController(); MainPlayerController = new MainPlayerController(this, TeamId.Red); MainPlayerController.SendGameCommandEvent -= MainPlayerCommand; MainPlayerController.SendGameCommandEvent += MainPlayerCommand; UpdateLoadUnfo(LoadScreeResutType.Done, LevelModules.Scene, 1.0f); if (!gameControllers.MainUI.SwhichCurrentScreen(ScreenType, CallBackInitUI)) { Console.LogError(ConsoleFilter.MainController, "Game create fail, UI is fail"); return; } resourceManager = new SceneResourceManager(gameControllers); Dictionary <int, string> prefabs = new Dictionary <int, string>(); LevelDescription levelDescription = null; int idLevel = gameControllers.ServerSimulator.GetGameInfo(); if (idLevel < 0) { Console.LogError(ConsoleFilter.MainController, "Get Game Info from simulator is fail"); return; } if (!gameControllers.GameXml.Levels.TryGetValue(idLevel, out levelDescription) || levelDescription == null) { Console.LogErrorFormat(ConsoleFilter.MainController, "get levelDescription id fail, level id {0}", idLevel); return; } int id = 0; prefabs.Add(id, levelDescription.Path); BuildPrefabIds = new Dictionary <BuildType, int>(); foreach (BuildType type in Enum.GetValues(typeof(BuildType)) as BuildType[]) { if (gameControllers.GameXml.Builds.ContainsKey(type)) { id++; BuildPrefabIds.Add(type, id); prefabs.Add(id, gameControllers.GameXml.Builds[type].Path); } else { Console.LogErrorFormat(ConsoleFilter.MainController, "Can't get buildinfo for {0}", type); } } TurretPrefabIds = new Dictionary <TurretType, int>(); foreach (TurretType type in Enum.GetValues(typeof(TurretType)) as TurretType[]) { if (type != TurretType.None) { if (gameControllers.GameXml.Turrets.ContainsKey(type)) { id++; TurretPrefabIds.Add(type, id); prefabs.Add(id, gameControllers.GameXml.Turrets[type].Path); } else { Console.LogErrorFormat(ConsoleFilter.MainController, "Can't get turretInfo for {0}", type); } } } TurretGhostPrefabIds = new Dictionary <TurretType, int>(); foreach (TurretType type in Enum.GetValues(typeof(TurretType)) as TurretType[]) { if (type != TurretType.None) { if (gameControllers.GameXml.Turrets.ContainsKey(type)) { id++; TurretGhostPrefabIds.Add(type, id); prefabs.Add(id, gameControllers.GameXml.Turrets[type].PathGhost); } else { Console.LogErrorFormat(ConsoleFilter.MainController, "Can't get turretInfo for {0}", type); } } } id++; TurretPlatformId = id; prefabs.Add(TurretPlatformId, gameControllers.GameXml.TurretPlatformPath); if (!resourceManager.StartLoadResources(prefabs, CallBackLoadResources)) { Console.LogError(ConsoleFilter.MainController, "Game create fail, LoadResources is fail"); return; } IsDisposed = false; Console.Log(ConsoleFilter.MainController, "Game contoller Init is Done"); }