// Update is called once per frame void Update() { if (NM == null) { NM = FindObjectOfType <NetworkManager>(); } if (SceneManager.GetActiveScene().buildIndex == (int)SceneManagerHelper.SceneManagerEnum.LANLobby && LANL == null) { LANL = FindObjectOfType <LANLobby>(); if (isServer && isLocalPlayer) { GameObject LANBroadcastTransmitter = new GameObject("LANBroadcastTransmitter"); LANBT = LANBroadcastTransmitter.AddComponent <LANBroadcastTransmitter>(); LANBT.SetHost(this); LANBT.isAlive = true; if (isLocalPlayer && isServer) { ResetPlayerPanels(); } Debug.Log("Start"); } } if (isLocalPlayer && LANL.GetCurrentPlayer() == null) { LANL.SetCurrentPlayer(this); } }
/// <summary> /// Creates a new instance of the main menu. /// </summary> public MainMenu(WindowManager windowManager, SkirmishLobby skirmishLobby, LANLobby lanLobby, TopBar topBar, OptionsWindow optionsWindow, CnCNetLobby cncnetLobby, CnCNetManager connectionManager) : base(windowManager) { this.skirmishLobby = skirmishLobby; this.lanLobby = lanLobby; this.topBar = topBar; this.connectionManager = connectionManager; this.optionsWindow = optionsWindow; cncnetLobby.UpdateCheck += CncnetLobby_UpdateCheck; }
/// <summary> /// Creates a new instance of the main menu. /// </summary> public MainMenu(WindowManager windowManager, SkirmishLobby skirmishLobby, LANLobby lanLobby, TopBar topBar, OptionsWindow optionsWindow, CnCNetLobby cncnetLobby, CnCNetManager connectionManager, DiscordHandler discordHandler) : base(windowManager) { this.skirmishLobby = skirmishLobby; this.lanLobby = lanLobby; this.topBar = topBar; this.connectionManager = connectionManager; this.optionsWindow = optionsWindow; this.cncnetLobby = cncnetLobby; this.discordHandler = discordHandler; cncnetLobby.UpdateCheck += CncnetLobby_UpdateCheck; isMediaPlayerAvailable = IsMediaPlayerAvailable(); }
private void Finish() { ProgramConstants.GAME_VERSION = ClientConfiguration.Instance.ModMode ? "N/A" : CUpdater.GameVersion; DiscordHandler discordHandler = null; if (!string.IsNullOrEmpty(ClientConfiguration.Instance.DiscordAppId)) { discordHandler = new DiscordHandler(WindowManager); } var gameCollection = new GameCollection(); gameCollection.Initialize(GraphicsDevice); var lanLobby = new LANLobby(WindowManager, gameCollection, mapLoader.GameModes, mapLoader, discordHandler); var cncnetUserData = new CnCNetUserData(WindowManager); var cncnetManager = new CnCNetManager(WindowManager, gameCollection); var tunnelHandler = new TunnelHandler(WindowManager, cncnetManager); var topBar = new TopBar(WindowManager, cncnetManager); var optionsWindow = new OptionsWindow(WindowManager, gameCollection, topBar); var pmWindow = new PrivateMessagingWindow(WindowManager, cncnetManager, gameCollection, cncnetUserData); privateMessagingPanel = new PrivateMessagingPanel(WindowManager); var cncnetGameLobby = new CnCNetGameLobby(WindowManager, "MultiplayerGameLobby", topBar, mapLoader.GameModes, cncnetManager, tunnelHandler, gameCollection, cncnetUserData, mapLoader, discordHandler); var cncnetGameLoadingLobby = new CnCNetGameLoadingLobby(WindowManager, topBar, cncnetManager, tunnelHandler, mapLoader.GameModes, gameCollection, discordHandler); var cncnetLobby = new CnCNetLobby(WindowManager, cncnetManager, cncnetGameLobby, cncnetGameLoadingLobby, topBar, pmWindow, tunnelHandler, gameCollection, cncnetUserData); var gipw = new GameInProgressWindow(WindowManager); var skirmishLobby = new SkirmishLobby(WindowManager, topBar, mapLoader.GameModes, discordHandler); topBar.SetSecondarySwitch(cncnetLobby); var mainMenu = new MainMenu(WindowManager, skirmishLobby, lanLobby, topBar, optionsWindow, cncnetLobby, cncnetManager, discordHandler); WindowManager.AddAndInitializeControl(mainMenu); DarkeningPanel.AddAndInitializeWithControl(WindowManager, skirmishLobby); DarkeningPanel.AddAndInitializeWithControl(WindowManager, cncnetGameLoadingLobby); DarkeningPanel.AddAndInitializeWithControl(WindowManager, cncnetGameLobby); DarkeningPanel.AddAndInitializeWithControl(WindowManager, cncnetLobby); DarkeningPanel.AddAndInitializeWithControl(WindowManager, lanLobby); DarkeningPanel.AddAndInitializeWithControl(WindowManager, optionsWindow); WindowManager.AddAndInitializeControl(privateMessagingPanel); privateMessagingPanel.AddChild(pmWindow); topBar.SetTertiarySwitch(pmWindow); topBar.SetOptionsWindow(optionsWindow); WindowManager.AddAndInitializeControl(gipw); skirmishLobby.Disable(); cncnetLobby.Disable(); cncnetGameLobby.Disable(); cncnetGameLoadingLobby.Disable(); lanLobby.Disable(); pmWindow.Disable(); optionsWindow.Disable(); WindowManager.AddAndInitializeControl(topBar); topBar.AddPrimarySwitchable(mainMenu); mainMenu.PostInit(); if (UserINISettings.Instance.AutomaticCnCNetLogin && NameValidator.IsNameValid(ProgramConstants.PLAYERNAME) == null) { cncnetManager.Connect(); } WindowManager.RemoveControl(this); Cursor.Visible = visibleSpriteCursor; }