Пример #1
0
        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;
                }
            }
        }
Пример #2
0
        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));
            }
        }
Пример #3
0
        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;
            }
        }
Пример #4
0
        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);
            }
        }