Beispiel #1
0
        public void Accept <TUpdate, TSnapshot>(uint componentId, Dynamic.VTable <TUpdate, TSnapshot> vtable)
            where TUpdate : struct, ISpatialComponentUpdate
            where TSnapshot : struct, ISpatialComponentSnapshot
        {
            var componentObject = entityObject.GetObject(componentId);

            Components[componentId] = vtable.DeserializeSnapshotRaw(componentObject);
        }
Beispiel #2
0
        public void Accept <TUpdate, TSnapshot>(uint componentId, Dynamic.VTable <TUpdate, TSnapshot> vtable)
            where TUpdate : struct, ISpatialComponentUpdate
            where TSnapshot : struct, ISpatialComponentSnapshot
        {
            var schemaObject = entitySnapshot.Get(componentId).Value;

            Components.Add(componentId, vtable.DeserializeSnapshot(schemaObject));
        }
 public void Accept <TUpdate, TSnapshot>(uint componentId, Dynamic.VTable <TUpdate, TSnapshot> vtable)
     where TUpdate : struct, ISpatialComponentUpdate
     where TSnapshot : struct, ISpatialComponentSnapshot
 {
     if (template.HasComponent <TSnapshot>())
     {
         viewDiff.RemoveComponent(entityId, componentId);
     }
 }
Beispiel #4
0
        public void Accept <TUpdate, TSnapshot>(uint componentId, Dynamic.VTable <TUpdate, TSnapshot> vtable)
            where TUpdate : struct, ISpatialComponentUpdate
            where TSnapshot : struct, ISpatialComponentSnapshot
        {
            // Okay to grab the value directly, we only call this for snapshots that actually exist.
            var data = componentSnapshots[componentId];

            vtable.SerializeSnapshotRaw((TSnapshot)data, targetObject.AddObject(componentId));
        }
Beispiel #5
0
            public void Accept <TUpdate, TSnapshot>(uint componentId, Dynamic.VTable <TUpdate, TSnapshot> vtable)
                where TUpdate : struct, ISpatialComponentUpdate
                where TSnapshot : struct, ISpatialComponentSnapshot
            {
                if (!data.ContainsKey(componentId))
                {
                    return;
                }

                var componentData = new ComponentData(componentId, SchemaComponentData.Create());

                vtable.SerializeSnapshot((TSnapshot)data[componentId], componentData);
                Entity.Add(componentData);
            }
            public void Accept <TUpdate, TSnapshot>(uint componentId, Dynamic.VTable <TUpdate, TSnapshot> vtable)
                where TUpdate : struct, ISpatialComponentUpdate
                where TSnapshot : struct, ISpatialComponentSnapshot
            {
                var maybeSnapshot = template.GetComponent <TSnapshot>();

                if (!maybeSnapshot.HasValue)
                {
                    return;
                }

                var snapshot = maybeSnapshot.Value;

                viewDiff.AddComponent(vtable.ConvertSnapshotToUpdate(snapshot), entityId, componentId);
            }