public override int ReadFrom(byte[] Buffer, int StartIndex = 0) { int cursor = StartIndex; cursor += base.ReadFrom(Buffer, cursor); UpdatedObjectFlags = new ObjectFlagsUpdate(Buffer, cursor); cursor += UpdatedObjectFlags.ByteLength; return(cursor - StartIndex); }
public override unsafe void ReadFrom(ref byte *Buffer) { base.ReadFrom(ref Buffer); RoomObjectID = new ObjectID(ref Buffer); ushort len = *((ushort *)Buffer); Buffer += TypeSizes.SHORT; ObjectsToUpdate = new ObjectFlagsUpdate[len]; for (int i = 0; i < len; i++) { ObjectsToUpdate[i] = new ObjectFlagsUpdate(ref Buffer); } }
public override int ReadFrom(byte[] Buffer, int StartIndex = 0) { int cursor = StartIndex; cursor += base.ReadFrom(Buffer, cursor); RoomObjectID = new ObjectID(Buffer, cursor); cursor += RoomObjectID.ByteLength; ushort len = BitConverter.ToUInt16(Buffer, cursor); cursor += TypeSizes.SHORT; ObjectsToUpdate = new ObjectFlagsUpdate[len]; for (int i = 0; i < len; i++) { ObjectsToUpdate[i] = new ObjectFlagsUpdate(Buffer, cursor); cursor += ObjectsToUpdate[i].ByteLength; } return(cursor - StartIndex); }
public ChangeObjectFlagsMessage(ObjectFlagsUpdate UpdatedObjectFlags) : base(MessageTypeGameMode.ChangeObjectFlags) { this.UpdatedObjectFlags = UpdatedObjectFlags; }
public override unsafe void ReadFrom(ref byte *Buffer) { base.ReadFrom(ref Buffer); UpdatedObjectFlags = new ObjectFlagsUpdate(ref Buffer); }