Exemplo n.º 1
0
        public SnapshotReplicator(INetworkObjectSerializerManager manager, string version)
        {
            var serializer = new SnapshotSerializer(manager, version);

            _recvChannel = new SnapshotRecvChannel(serializer);
            _sendChannel = new SnapshotSendChannel(serializer);
        }
Exemplo n.º 2
0
        public override void DeSerialize(BinaryReader reader, INetworkObjectSerializerManager manager)
        {
            int   entityId   = reader.ReadInt32();
            short entityType = reader.ReadInt16();

            Key = new EntityKey(entityId, entityType);
        }
Exemplo n.º 3
0
        public override void ApplyPatchTo(INetworkObject target, INetworkObjectSerializerManager serializerManager)
        {
            var componentTypeId = Component.GetComponentId();
            INetworkObjectSerializer componentSerializer = serializerManager.GetSerializer(componentTypeId);

            componentSerializer.Merge(Component as INetworkObject, target, _bitMask);
        }
Exemplo n.º 4
0
 public void ApplyPatchTo(ISnapshot baseSnap, INetworkObjectSerializerManager serializerManager)
 {
     foreach (var patch in _entityPatchList)
     {
         patch.ApplyPatchTo(baseSnap, serializerManager);
     }
 }
Exemplo n.º 5
0
        public override void ApplyPatchTo(ISnapshot snap, INetworkObjectSerializerManager serializerManager)
        {
            IGameEntity entity = snap.GetOrCreate(Key);

            for (int i = 0; i < ComponentPatchList.Count; i++)
            {
                ComponentPatchList[i].ApplyPatchTo(entity, serializerManager);
            }
        }
Exemplo n.º 6
0
        public override void ApplyPatchTo(ISnapshot snap, INetworkObjectSerializerManager serializerManager)
        {
            var baseEntity = snap.GetEntity(Key);

            foreach (var compPatch in ComponentPatchList)
            {
                compPatch.ApplyPatchTo(baseEntity, serializerManager);
            }
        }
Exemplo n.º 7
0
 public void Serialize(MyBinaryWriter writer, INetworkObjectSerializerManager serializerManager)
 {
     writer.Write(BaseSnapshotSeq);
     writer.Write(_entityPatchList.Count);
     foreach (var item in _entityPatchList)
     {
         item.Serialize(writer, serializerManager);
     }
 }
Exemplo n.º 8
0
        public override void DeSerialize(BinaryReader reader, INetworkObjectSerializerManager serializerManager)
        {
            var typeId = reader.ReadInt16();

            CreateGameComponent(typeId);
            var componentSerializer = serializerManager.GetSerializer(typeId);

            componentSerializer.DeserializeAll(Component as INetworkObject, DoCompress, reader);
        }
Exemplo n.º 9
0
        public override void Serialize(MyBinaryWriter writer, INetworkObjectSerializerManager serializerManager)
        {
            writer.Write((byte)ComponentReplicateOperationType.Add);
            var componentId = Component.GetComponentId();

            writer.Write((short)componentId);

            var componentSerializer = serializerManager.GetSerializer(componentId);

            componentSerializer.SerializeAll(Component as INetworkObject, DoCompress, writer);
        }
Exemplo n.º 10
0
 public override void Serialize(MyBinaryWriter writer, INetworkObjectSerializerManager serializerManager)
 {
     writer.Write((byte)EntityReplicateOperationType.Mod);
     writer.Write(Key.EntityId);
     writer.Write(Key.EntityType);
     writer.Write((short)ComponentPatchList.Count);
     for (int i = 0; i < ComponentPatchList.Count; i++)
     {
         ComponentPatchList[i].Serialize(writer, serializerManager);
     }
 }
Exemplo n.º 11
0
        public override void DeSerialize(BinaryReader reader, INetworkObjectSerializerManager serializerManager)
        {
            int typeId = reader.ReadInt16();

            CreateGameComponent(typeId);
            var componentSerializer = serializerManager.GetSerializer(typeId);

            _bitMask.Deserialize(reader);
            var networkObject = Component as INetworkObject;

            componentSerializer.Deserialize(networkObject, _bitMask, DoCompress, reader);
        }
Exemplo n.º 12
0
        public void DeSerialize(BinaryReader reader, INetworkObjectSerializerManager serializerManager)
        {
            BaseSnapshotSeq = reader.ReadInt32();
            AssertUtility.Assert(_entityPatchList.Count == 0);
            var count = reader.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                AbstractEntityPatch patch = CreateEntityPatch((EntityReplicateOperationType)reader.ReadByte());
                patch.DeSerialize(reader, serializerManager);
                _entityPatchList.Add(patch);
            }
        }
Exemplo n.º 13
0
        public override void DeSerialize(BinaryReader reader, INetworkObjectSerializerManager serializerManager)
        {
            var id   = reader.ReadInt32();
            var type = reader.ReadInt16();

            Key = new EntityKey(id, type);
            int count = reader.ReadInt32();

            AssertUtility.Assert(ComponentPatchList.Count == 0);
            for (int i = 0; i < count; i++)
            {
                reader.ReadByte(); // var op
                var patch = CreateEmptyComponentPatch();
                patch.DeSerialize(reader, serializerManager);
                ComponentPatchList.Add(patch);
            }
        }
Exemplo n.º 14
0
        public override void Serialize(MyBinaryWriter writer, INetworkObjectSerializerManager serializerManager)
        {
            var start = writer.BaseStream.Length;

            writer.Write((byte)ComponentReplicateOperationType.Mod);
            var componentId = Component.GetComponentId();

            AssertUtility.Assert(componentId < 65535);
            writer.Write((short)componentId);
            _bitMask.Serialize(writer);

            var componentSerializer = serializerManager.GetSerializer(componentId);

            componentSerializer.Serialize(LastComponent as INetworkObject, Component as INetworkObject, _bitMask, DoCompress, writer);
            var end    = writer.BaseStream.Length;
            var length = end - start;

            _total[componentId]  += length;
            _current[componentId] = length;
            _count[componentId]  += 1;
            _average[componentId] = _total[componentId] / _count[componentId];
        }
Exemplo n.º 15
0
 public override void ApplyPatchTo(IGameEntity entity, INetworkObjectSerializerManager serializerManager)
 {
     entity.RemoveComponent(Component.GetComponentId());
 }
Exemplo n.º 16
0
 public abstract void ApplyPatchTo(INetworkObject target, INetworkObjectSerializerManager serializerManager);
Exemplo n.º 17
0
 public abstract void DeSerialize(BinaryReader reader, INetworkObjectSerializerManager manager);
Exemplo n.º 18
0
 public abstract void ApplyPatchTo(IGameEntity entity, INetworkObjectSerializerManager serializerManager);
Exemplo n.º 19
0
 public abstract void Serialize(MyBinaryWriter writer, INetworkObjectSerializerManager manager);
Exemplo n.º 20
0
        public override void DeSerialize(BinaryReader reader, INetworkObjectSerializerManager serializerManager)
        {
            int typeId = reader.ReadInt16();

            CreateGameComponent(typeId);
        }
Exemplo n.º 21
0
 public override void ApplyPatchTo(INetworkObject target, INetworkObjectSerializerManager serializerManager)
 {
     throw new System.NotImplementedException();
 }
Exemplo n.º 22
0
 public override void Serialize(MyBinaryWriter writer, INetworkObjectSerializerManager manager)
 {
     writer.Write((byte)EntityReplicateOperationType.Del);
     writer.Write(Key.EntityId);
     writer.Write(Key.EntityType);
 }
Exemplo n.º 23
0
 public override void ApplyPatchTo(IGameEntity entity, INetworkObjectSerializerManager serializerManager)
 {
     var copyCopy = entity.AddComponent(Component.GetComponentId(), Component);
 }
Exemplo n.º 24
0
 public override void ApplyPatchTo(INetworkObject target, INetworkObjectSerializerManager serializerManager)
 {
     target.CopyFrom(Component);
 }
Exemplo n.º 25
0
 public override void Serialize(MyBinaryWriter writer, INetworkObjectSerializerManager serializerManager)
 {
     writer.Write((byte)ComponentReplicateOperationType.Del);
     writer.Write((short)Component.GetComponentId());
 }
Exemplo n.º 26
0
 public SnapshotPatchGenerator(INetworkObjectSerializerManager serializerManager)
 {
     snapshotPatch          = SnapshotPatch.Allocate();
     this.serializerManager = serializerManager;
 }
Exemplo n.º 27
0
 public override void ApplyPatchTo(ISnapshot snap, INetworkObjectSerializerManager serializerManager)
 {
     snap.RemoveEntity(Key);
 }
Exemplo n.º 28
0
 public abstract void ApplyPatchTo(ISnapshot snap, INetworkObjectSerializerManager serializerManager);
Exemplo n.º 29
0
 public SnapshotSerializer(INetworkObjectSerializerManager manager, string version)
 {
     _serializerManager = manager;
     _version           = version;
 }
Exemplo n.º 30
0
 public SnapshotSerializer(INetworkObjectSerializerManager manager)
 {
     _serializerManager = manager;
 }