public override void Deserialize(System.IO.BinaryReader reader) { Size = reader.ReadInt32(); int a = reader.ReadInt32(); for (int i = 0; i < a; ++i) { var item = DeserializationRegister.ReadObject <Item>(reader); Items.Add(item); } Equip = new Item[reader.ReadInt32()]; for (int i = 0; i < Equip.Length; ++i) { if (reader.ReadBoolean()) { var item = DeserializationRegister.ReadObject <Item>(reader); Equip[i] = item; } } UseItems = new Item[reader.ReadInt32()]; for (int i = 0; i < UseItems.Length; ++i) { if (reader.ReadBoolean()) { var item = DeserializationRegister.ReadObject <Item>(reader); UseItems[i] = item; } } }
public override void Deserialize(BinaryReader reader) { StopMovementOnDeath = reader.ReadBoolean(); int a = reader.ReadInt32(); for (int i = 0; i < a; ++i) { Elements.Add(DeserializationRegister.ReadObject <AiElement>(reader)); } }
public void Deserialize(BinaryReader reader) { Camera.Deserialize(reader); CameraControls = reader.ReadBoolean(); // Planet info var p = new PlanetInfo(); p.Randomize(reader.ReadInt32()); Planet = p; // Terrain { var count = reader.ReadInt16(); for (int i = 0; i < count; ++i) { AddComponent(DeserializationRegister.ReadObject <WorldComponent>(reader)); } } // Entities { var count = reader.ReadInt16(); for (int i = 0; i < count; ++i) { var ent = CreateEntity(); ent.Deserialize(reader); } } // Time TimeScale = reader.ReadSingle(); // Load camera region to prevent entities falling out of the world var terrain = GetComponent <TerrainComponent>(); if (terrain != null) { terrain.Multithreaded = false; } SetActiveArea(Camera.Position); if (terrain != null) { terrain.Multithreaded = true; } }
public void Deserialize(BinaryReader reader) { UID = reader.ReadGuid(); _active = reader.ReadBoolean(); // Tags var tCount = reader.ReadInt32(); for (int i = 0; i < tCount; ++i) { Tags.Add(reader.ReadString()); } // Components var count = reader.ReadByte(); for (int i = 0; i < count; ++i) { var component = DeserializationRegister.ReadObject <EntityComponent>(reader); AddComponent(component); } }