public Vector2 ReadVector2() { var hasXData = _buffer.ReadBoolean(); var hasYData = _buffer.ReadBoolean(); float x = 0f, y=0f; if (hasXData) { x = _buffer.ReadFloat(); } if (hasYData) { y = _buffer.ReadFloat(); } return new Vector2(x,y); }
public override void Deserialize(Bitstream msg) { State = new List<PlayerStateData>(); int count = msg.ReadUInt16(); for (int i = 0; i < count; ++i) { var o = new PlayerStateData(); o.Forward = msg.ReadBool(); o.Back = msg.ReadBool(); o.Left = msg.ReadBool(); o.Right = msg.ReadBool(); o.Position = msg.ReadVector2(); o.SimTick = (uint)msg.ReadInt32(); State.Add(o); } SnapId = msg.ReadInt32(); }