public ISnapshot GenerateCompensationSnapshot() { Snapshot snapshot = Snapshot.Allocate(); EntityMapDeepCloner.Clone(snapshot.EntityMap, _gameContexts.CompensationEntityMap, _compensationFilter); return(snapshot); }
public static ISnapshot CloneSnapshot(ISnapshot src) { Snapshot snapshot = Replicaton.CloneSnapshot.Allocate(); snapshot.Header = src.Header; EntityMapDeepCloner.Clone(snapshot.EntityMap, src.EntityMap, EntityComponent.DummyEntityMapFilter.Instance); return(snapshot); }
public ISnapshot GenerateSnapshot(EntityKey self, Vector3 position) { Snapshot snapshot = Snapshot.Allocate(); EntityMapDeepCloner.Clone(snapshot.EntityMap, _gameContexts.EntityMap, new PreSendSnapshotFilter(self, position)); return(snapshot); }
private Snapshot CloneAndFilterSnapshot(ISnapshot srcSnapshot) { Snapshot dstSnapshot = Snapshot.Allocate(); dstSnapshot.Header = srcSnapshot.Header; EntityMapDeepCloner.Clone(dstSnapshot, srcSnapshot, new Core.Replicaton.DummyEntityMapFilter()); // filter entities here, e.g. delete bullet /** * */ return(dstSnapshot); }