public void Serialize(BinaryWriter writer) { writer.Write(Camera); writer.Write(CameraControls); // Planet info writer.Write(Planet.Seed); // Terrain writer.Write((Int16)Components.Count); Components.ForEach(c => DeserializationRegister.WriteObject(writer, c)); //TODO: weather // Entities writer.Write((Int16)(Entities.Count(e => e.ShouldSave) + EntityQueue.Count(e => e.ShouldSave))); Entities.ForEach(e => { if (e.ShouldSave) { e.Serialize(writer); } }); EntityQueue.ForEach(e => { if (e.ShouldSave) { e.Serialize(writer); } }); // Time writer.Write(TimeScale); }
public override void Serialize(System.IO.BinaryWriter writer) { writer.Write(Size); writer.Write(Items.Count); for (int i = 0; i < Items.Count; ++i) { DeserializationRegister.WriteObject(writer, Items[i]); } writer.Write(Equip.Length); for (int i = 0; i < Equip.Length; ++i) { writer.Write(Equip[i] != null); if (Equip[i] != null) { DeserializationRegister.WriteObject(writer, Equip[i]); } } writer.Write(UseItems.Length); for (int i = 0; i < UseItems.Length; ++i) { writer.Write(UseItems[i] != null); if (UseItems[i] != null) { DeserializationRegister.WriteObject(writer, UseItems[i]); } } }
public override void Serialize(BinaryWriter writer) { writer.Write(StopMovementOnDeath); writer.Write(Elements.Count); for (int i = 0; i < Elements.Count; ++i) { DeserializationRegister.WriteObject(writer, Elements[i]); } }
public void Serialize(BinaryWriter writer) { writer.Write(UID); writer.Write(_active); // Tags writer.Write(Tags.Count); Tags.ForEach(t => writer.Write(t)); // Components writer.Write((byte)Components.Count); Components.ForEach(c => DeserializationRegister.WriteObject(writer, c)); }