public static PacketWriter GetStream(ScriptMessages id) { var s = GameClient.GetScriptMessageStream(); s.Write((byte)id); return(s); }
public PacketWriter Create(ScriptMessages messageId) { PacketWriter writer = Create(); writer.Write((byte)messageId); return(writer); }
void GameClient.IScriptClient.ReadScriptMessage(PacketReader stream) { ScriptMessages id = (ScriptMessages)stream.ReadByte(); Logger.Log(Logger.LOG_INFO, $"Received Script message '{id}' from '{SystemAddress}'"); //Log.Logger.Log(id); if (_HandlerSelector.TryGetMessageHandler(id, out IScriptMessageHandler handler)) { handler.HandleMessage(this, stream); } else { Logger.LogWarning($"Unhandled ScriptMessage '{id.ToString()}'"); } }
public virtual void ReadScriptMessage(PacketReader stream) { if (stream == null) { throw new ArgumentNullException(nameof(stream)); } ScriptMessages id = (ScriptMessages)stream.ReadByte(); Log.Logger.Log(id); switch (id) { case ScriptMessages.PlayerQuit: break; case ScriptMessages.GameInfo: ReadGameInfo(stream); break; case ScriptMessages.ChatMessage: _Chat.ReadMessage(stream); break; case ScriptMessages.ChatTeamMessage: _Chat.ReadTeamMessage(stream); break; default: { if (_HandlerSelector.TryGetMessageHandler(id, out IScriptMessageHandler handler)) { handler.HandleMessage(this, stream); } else { _Log.Warn($"Unknown script message with id '{id}' received."); } } break; } }
public override void ReadScriptMessage(PacketReader stream) { ScriptMessages id = (ScriptMessages)stream.ReadByte(); //Log.Logger.Log(id); switch (id) { case ScriptMessages.JoinGame: FMSpawn(); break; case ScriptMessages.Spectate: FMSpectate(); break; case ScriptMessages.CharEdit: string oldName = charInfo.Name; charInfo.Read(stream); if (oldName != charInfo.Name) { SendPlayerInfoMessage(); } if (GMTeamID == TeamIdent.FFAPlayer) { FMSpawn(); } break; case ScriptMessages.DuelRequest: DuelMode.ReadRequest(this, stream); break; case ScriptMessages.ChatMessage: Chat.ReadMessage(this, stream); break; case ScriptMessages.DuelScoreBoard: DuelBoard.Instance.Toggle(this, stream.ReadBit()); break; case ScriptMessages.ModeSpectate: if (GameMode.IsActive) { GameMode.ActiveMode.JoinAsSpectator(this); } break; case ScriptMessages.TDMTeamSelect: if (TDMMode.IsActive) { TDMMode.ActiveMode.JoinTeam(this, stream.ReadByte()); } break; case ScriptMessages.TDMScoreBoard: TDMScoreBoard.Instance.Toggle(this, TDMMode.IsActive ? stream.ReadBit() : false); break; case ScriptMessages.ModeClassSelect: if (GameMode.IsActive) { GameMode.ActiveMode.SelectClass(this, stream.ReadByte()); } break; case ScriptMessages.BRJoin: if (BRMode.IsActive) { BRMode.ActiveMode.Join(this); } break; case ScriptMessages.HordeScoreBoard: HordeBoard.Instance.Toggle(this, HordeMode.IsActive ? stream.ReadBit() : false); break; } }
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; } }
public ScoreBoard(ScriptMessages messageID) { msgID = messageID; clients = new Dictionary <ArenaClient, GUCTimer>(20); packetTimer = new GUCTimer(UpdateInterval, WriteUpdate); }
protected ScoreBoardScreen(ScriptMessages messageID) { this.msgID = messageID; this.closeTimer = new GUCTimer(DoClose); }