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