public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteByte(VictimID); buffer.WriteByte(KillerID); int r = (int)Reason; if (Reason == BlowedUpReasons.DeathTouch) { r = Constants.PhysicsDriverDeath; } buffer.WriteInt16(r); buffer.WriteInt16(ShotID); buffer.WriteFixedSizeString(FlagAbreviation, 2); if (Reason == BlowedUpReasons.DeathTouch) { buffer.WriteInt32(PhysicsDriverID); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteByte(PlayerID); buffer.WriteByte(Paused ? 1 : 0); return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteByte(PlayerUpdates.Count); foreach (var p in PlayerUpdates) { buffer.WriteByte(p.PlayerID); buffer.WriteByte((int)p.Attributes); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteByte(PlayerID); buffer.WriteUInt16((UInt16)ShotID); buffer.WriteVector3F(Position); buffer.WriteVector3F(Velocity); buffer.WriteFloat(DeltaTime); buffer.WriteInt16((Int16)Team); buffer.WriteByte(TargetID); return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteByte(FromID); buffer.WriteByte(ToID); if (IsServer()) { buffer.WriteUInt16((UInt16)FlagID); } return(buffer.GetMessageBuffer()); }
public void Pack(DynamicOutputBuffer buffer) { buffer.WriteByte(PlayerID); buffer.WriteUInt16(Wins); buffer.WriteUInt16(Losses); buffer.WriteUInt16(TeamKills); }
protected void PackHeader(DynamicOutputBuffer buffer) { buffer.WriteFloat(TimeStamp); buffer.WriteByte((byte)PlayerID); buffer.WriteInt32(Order); buffer.WriteInt16((Int16)Status); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteByte(PlayerID); buffer.WriteUInt16((UInt16)FromTPID); buffer.WriteUInt16((UInt16)ToTPID); return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); if (!IsOnServer) { buffer.WriteByte((byte)PlayerID); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); if (!IsServer()) { buffer.WriteByte((byte)To); buffer.WriteFixedSizeString(MessageText, BZFlag.Data.Types.Constants.ChatMessageLenght); } else { buffer.WriteByte((byte)From); buffer.WriteByte((byte)To); buffer.WriteByte((byte)MessageType); } buffer.WriteFixedSizeString(MessageText, BZFlag.Data.Types.Constants.ChatMessageLenght); return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteByte(PlayerID); buffer.WriteInt16((UInt16)ShotID); buffer.WriteUInt16((UInt16)(Exploded ? 0 : 1)); return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); if (!IsSpawn) { buffer.WriteByte(PlayerID); buffer.WriteVector3F(Position); buffer.WriteFloat(Azimuth); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteByte(TeamUpdates.Count); foreach (TeamUpdate upd in TeamUpdates) { buffer.WriteUInt16((int)upd.TeamID); buffer.WriteUInt16((int)upd.Size); buffer.WriteUInt16((int)upd.Wins); buffer.WriteUInt16((int)upd.Losses); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteByte(PlayerID); buffer.WriteUInt16((int)PlayerType); buffer.WriteUInt16((int)Team); buffer.WriteUInt16((int)Wins); buffer.WriteUInt16((int)Losses); buffer.WriteUInt16((int)TeamKills); buffer.WriteFixedSizeString(Callsign, Constants.CallsignLen); buffer.WriteFixedSizeString(Motto, Constants.MottoLen); return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); if (IsServer()) { buffer.WriteByte(PlayerID); buffer.WriteFlagUpdateData(Data, true); } else { buffer.WriteVector3F(Postion); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); if (IsServer()) { buffer.WriteByte(PlayerID); buffer.WriteFlagUpdateData(FlagData, false); } else { buffer.WriteUInt16(FlagData.FlagID); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteFloat(TimeSent); buffer.WriteByte(PlayerID); buffer.WriteInt16(ShotID); buffer.WriteVector3F(Position); buffer.WriteVector3F(Velocity); buffer.WriteFloat(DeltaTime); buffer.WriteInt16((UInt16)Team); buffer.WriteFixedSizeString(Flag, 2); buffer.WriteFloat(Lifetime); return(buffer.GetMessageBuffer()); }
protected void PackFooter(DynamicOutputBuffer buffer) { if (Status == PlayerStatuses.JumpJets) { buffer.WriteSmallScale(JumpSquish); //2 } if (Status == PlayerStatuses.OnDriver) { buffer.WriteInt32(OnDriver); //4 } if (Status == PlayerStatuses.UserInputs) { buffer.WriteSmallVel(UserSpeed); //6 buffer.WriteSmallAngVel(UserAngVel); //8 } if (Status == PlayerStatuses.PlaySound) { buffer.WriteByte((byte)Sounds); //9 } }
protected void WriteBases(List <Base> items) { DynaBuffer.WriteInt32(items.Count); foreach (var o in items) { DynaBuffer.WriteUInt16((UInt16)o.TeamColor); DynaBuffer.WriteVector3F(o.Position); DynaBuffer.WriteFloat(o.Rotation); DynaBuffer.WriteVector3F(o.Size); byte state = 0; if (o.DriveThrough) { state |= Constants.DRIVE_THRU; } if (o.ShootThrough) { state |= Constants.SHOOT_THRU; } if (o.Ricochet) { state |= Constants.RICOCHET; } DynaBuffer.WriteByte(state); } }