Example #1
0
        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();
            }
        }
Example #2
0
        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;
            }
        }