public MultiplayerSleepAndDeathScreen(ProcessManager manager, ProcessManager.ProcessID ID) : base(manager, ID) { this.endGameSceneCounter = -1; this.starvedWarningCounter = -1; base.AddContinueButton(false); if (NetworkGameManager.isManager) { this.exitButton = new SimpleButton(this, this.pages[0], base.Translate("SHUTDOWN"), "EXIT", new Vector2(base.ContinueAndExitButtonsXPos - 320f, 15f), new Vector2(110f, 30f)); } else { this.exitButton = new SimpleButton(this, this.pages[0], base.Translate("DISCONNECT"), "EXIT", new Vector2(base.ContinueAndExitButtonsXPos - 320f, 15f), new Vector2(110f, 30f)); } MonklandSteamManager.GameManager.FinishCycle(); if (!MonklandSteamManager.GameManager.readiedPlayers.Contains(SteamUser.GetSteamID().m_SteamID)) { MonklandSteamManager.GameManager.readiedPlayers.Add(SteamUser.GetSteamID().m_SteamID); } this.pages[0].subObjects.Add(this.exitButton); //Player menu playerList = new MultiplayerPlayerList(this, this.pages[0], new Vector2(manager.rainWorld.options.ScreenSize.x - 250f, manager.rainWorld.options.ScreenSize.y - 450f), new Vector2(200, 400), new Vector2(180, 180)); this.pages[0].subObjects.Add(this.playerList); this.mySoundLoopID = ((!this.IsSleepScreen) ? SoundID.MENU_Death_Screen_LOOP : SoundID.MENU_Sleep_Screen_LOOP); base.PlaySound((!this.IsSleepScreen) ? SoundID.MENU_Enter_Death_Screen : SoundID.MENU_Enter_Sleep_Screen); }
public void LobbyChatUpdated(LobbyChatUpdate_t update) { try { EChatMemberStateChange change = (EChatMemberStateChange)update.m_rgfChatMemberStateChange; if (change == EChatMemberStateChange.k_EChatMemberStateChangeEntered) { MultiplayerChat.AddChat(string.Format("User {0} joined the game!", SteamFriends.GetFriendPersonaName(new CSteamID(update.m_ulSteamIDUserChanged)))); if (!connectedPlayers.Contains(update.m_ulSteamIDUserChanged)) { PlayerJoinedManagers(update.m_ulSteamIDUserChanged); connectedPlayers.Add(update.m_ulSteamIDUserChanged); } if (update.m_ulSteamIDUserChanged != SteamUser.GetSteamID().m_SteamID) { otherPlayers.Add(update.m_ulSteamIDUserChanged); } } else if (change == EChatMemberStateChange.k_EChatMemberStateChangeLeft || change == EChatMemberStateChange.k_EChatMemberStateChangeKicked || change == EChatMemberStateChange.k_EChatMemberStateChangeDisconnected) { MultiplayerChat.AddChat(string.Format("User {0} left the game!", SteamFriends.GetFriendPersonaName(new CSteamID(update.m_ulSteamIDUserChanged)))); PlayerLeftManagers(update.m_ulSteamIDUserChanged); connectedPlayers.Remove(update.m_ulSteamIDUserChanged); MultiplayerPlayerList.RemovePlayerLabel(update.m_ulSteamIDUserChanged); if (update.m_ulSteamIDUserChanged != SteamUser.GetSteamID().m_SteamID) { otherPlayers.Remove(update.m_ulSteamIDUserChanged); } } } catch (System.Exception e) { Debug.LogError(e); } }
public void LobbyChatUpdated(LobbyChatUpdate_t update) { try { EChatMemberStateChange change = (EChatMemberStateChange)update.m_rgfChatMemberStateChange; if (change == EChatMemberStateChange.k_EChatMemberStateChangeEntered) { MultiplayerChat.AddChat(string.Format("User {0} joined the game!", SteamFriends.GetFriendPersonaName(new CSteamID(update.m_ulSteamIDUserChanged)))); Log(string.Format("User {0} joined the game!", SteamFriends.GetFriendPersonaName(new CSteamID(update.m_ulSteamIDUserChanged)))); if (!connectedPlayers.Contains(update.m_ulSteamIDUserChanged)) { PlayerJoinedManagers(update.m_ulSteamIDUserChanged); connectedPlayers.Add(update.m_ulSteamIDUserChanged); } if (update.m_ulSteamIDUserChanged != SteamUser.GetSteamID().m_SteamID) { otherPlayers.Add(update.m_ulSteamIDUserChanged); } } else if (change == EChatMemberStateChange.k_EChatMemberStateChangeLeft || change == EChatMemberStateChange.k_EChatMemberStateChangeKicked || change == EChatMemberStateChange.k_EChatMemberStateChangeDisconnected) { MultiplayerChat.AddChat(string.Format("User {0} left the game!", SteamFriends.GetFriendPersonaName(new CSteamID(update.m_ulSteamIDUserChanged)))); Log(string.Format("User {0} left the game!", SteamFriends.GetFriendPersonaName(new CSteamID(update.m_ulSteamIDUserChanged)))); PlayerLeftManagers(update.m_ulSteamIDUserChanged); connectedPlayers.Remove(update.m_ulSteamIDUserChanged); MultiplayerPlayerList.RemovePlayerLabel(update.m_ulSteamIDUserChanged); if (update.m_ulSteamIDUserChanged != SteamUser.GetSteamID().m_SteamID) { otherPlayers.Remove(update.m_ulSteamIDUserChanged); } if (update.m_ulSteamIDUserChanged == NetworkGameManager.managerID) { patch_ProcessManager patchPM = ((patch_ProcessManager)Patches.patch_Rainworld.mainRW.processManager); //if ((patchPM.currentMainLoop is MultiplayerSleepAndDeathScreen) || (patchPM.currentMainLoop is SteamMultiplayerMenu) if (patchPM.musicPlayer != null) { patchPM.musicPlayer.FadeOutAllSongs(5f); patchPM.musicPlayer.MenuRequestsSong("RW_8 - Sundown", 1.4f, 2f); } if (patchPM.currentMainLoop is RainWorldGame) { (patchPM.currentMainLoop as RainWorldGame).ExitToMenu(); } else { patchPM.RequestMainProcessSwitch(ProcessManager.ProcessID.MainMenu); } if (monklandUI != null) { monklandUI.ClearSprites(); monklandUI = null; } this.OnGameExit(); } } } catch (System.Exception e) { Debug.LogError(e); } }
public MultiplayerSleepAndDeathScreen(ProcessManager manager, ProcessManager.ProcessID ID) : base(manager, ID) { this.endGameSceneCounter = -1; this.starvedWarningCounter = -1; this.exitButton.menuLabel.text = NetworkGameManager.isManager ? "SHUTDOWN" : "DISCONNECT"; MonklandSteamManager.GameManager.FinishCycle(); if (!MonklandSteamManager.GameManager.readiedPlayers.Contains(SteamUser.GetSteamID().m_SteamID)) { MonklandSteamManager.GameManager.readiedPlayers.Add(SteamUser.GetSteamID().m_SteamID); } //Player menu playerList = new MultiplayerPlayerList(this, this.pages[0], new Vector2(manager.rainWorld.options.ScreenSize.x - 250f, manager.rainWorld.options.ScreenSize.y - 450f), new Vector2(200, 400), new Vector2(180, 180)); this.pages[0].subObjects.Add(this.playerList); }