public static void RemoveAll(this ReplicatedObjectStore store, ConnectionId connectionId) { ObjectIdCache.Clear(); store.ObjectIds.CopyListInto(ObjectIdCache); for (int i = 0; i < ObjectIdCache.Count; i++) { var objectId = ObjectIdCache[i]; var instance = store.Find(objectId); if (instance.OwnerConnectionId == connectionId || instance.AuthorityConnectionId == connectionId) { store.RemoveReplicatedInstance(connectionId, objectId); } } }
public static Action <MessageMetaData, BasicMessage.DeleteObject> DeleteObject(ReplicatedObjectStore objectStore) { return((metadata, message) => { objectStore.RemoveReplicatedInstance(metadata.ConnectionId, message.ObjectId); }); }
public void RemoveReplicatedInstance(ObjectId objectId) { _store.RemoveReplicatedInstance(ConnectionId.Self, objectId); _networkReplicator.Delete(_connectionGroup.ActiveConnections, objectId); _unusedObjectIds.Enqueue(objectId); }
public void RemoveReplicatedInstance(ObjectId objectId) { _store.RemoveReplicatedInstance(ConnectionId.NoConnection, objectId); _unusedObjectIds.Push(objectId); }
public static Action <ConnectionId, BasicMessage.DeleteObject> DeleteObject(ReplicatedObjectStore objectStore) { return((connectionId, message) => { objectStore.RemoveReplicatedInstance(connectionId, message.ObjectId); }); }