public void Serialize(ByteStreamWriter writer) { writer.WriteInteger(id); int changeMask = 0; if (healthDirty) { changeMask = changeMask | maskOfHealthChange; } if (positionDirty) { changeMask = changeMask | maskOfPositionChange; } writer.WriteByte((byte)changeMask); if (healthDirty) { writer.WriteFloat(power); } if (positionDirty) { writer.WriteVector2(position); } }