public static void ReadPlayerInfoTeam(PacketReader stream) { int id = stream.ReadByte(); if (!players.TryGetValue(id, out PlayerInfo pi)) { return; } pi.teamID = (TeamIdent)stream.ReadSByte(); OnPlayerListChange?.Invoke(); if (pi == heroInfo && TDMMode.IsActive) { TDMMode.HeroTeamChange(); } }
public override void ReadScriptMessage(PacketReader stream) { ScriptMessages id = (ScriptMessages)stream.ReadByte(); Log.Logger.Log(id); switch (id) { case ScriptMessages.GameInfo: ReadGameInfo(stream); break; case ScriptMessages.DuelRequest: DuelMode.ReadRequest(stream); break; case ScriptMessages.DuelStart: DuelMode.ReadStart(stream); break; case ScriptMessages.DuelWin: DuelMode.ReadWin(stream); break; case ScriptMessages.DuelEnd: DuelMode.ReadEnd(stream); break; case ScriptMessages.ChatMessage: Chat.ReadMessage(stream); break; case ScriptMessages.ChatTeamMessage: Chat.ReadTeamMessage(stream); break; case ScriptMessages.DuelScoreBoard: DuelBoardScreen.Instance.ReadMessage(stream); break; case ScriptMessages.PlayerInfo: PlayerInfo.ReadPlayerInfoMessage(stream); break; case ScriptMessages.PlayerInfoTeam: PlayerInfo.ReadPlayerInfoTeam(stream); break; case ScriptMessages.PlayerQuit: PlayerInfo.ReadPlayerQuitMessage(stream); break; case ScriptMessages.PointsMessage: int points = stream.ReadSByte(); Sumpfkraut.Menus.ScreenScrollText.AddText((points > 0 ? "Punkte +" : "Punkte ") + points); break; case ScriptMessages.ModeStart: GameMode.Start(stream.ReadString()); break; case ScriptMessages.ModePhase: GameMode.ReadPhase(stream); break; case ScriptMessages.TDMScoreBoard: TDMScoreBoard.Instance.ReadMessage(stream); break; case ScriptMessages.TDMWin: TDMMode.ReadWinMessage(stream); break; case ScriptMessages.HordeScoreBoard: HordeScoreBoard.Instance.ReadMessage(stream); break; case ScriptMessages.HordeWin: HordeMode.End(true); break; case ScriptMessages.HordeLoss: HordeMode.End(false); break; } }