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); }
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); } }
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)); }
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); }