public override void Register(RigidbodySyncComponent sync) { if (!_rigidbodies.ContainsKey(sync.syncId)) { _rigidbodies.Add(sync.syncId, sync); } else { // override if someone is trying to register twice. for instance, if we delete some shit in the editor, we want the new shit to take over _rigidbodies[sync.syncId] = sync; } }
// only used by debug shit private RigidbodySyncComponent HandleRigidbodySyncSpawn(RigidbodySyncComponent rbSync, PrefabType prefabType) { if (rbSync.syncId <= 0) { rbSync.SetSyncId(GetNextSyncId()); } rbSync.Initialize(); _spawnMsg.data = rbSync.GetSyncData(); ServerNetSender.instance.SendToAll(_spawnMsg, QosType.Reliable); return(rbSync); }
public override void Register(RigidbodySyncComponent rbSync) { if (rbSync.syncId > 0 && !_syncIds.ContainsKey(rbSync.syncId)) { _syncIds.Add(rbSync.syncId, rbSync); _rigidbodies.Add(rbSync); } else { var id = GetNextSyncId(); Debug.LogWarning(this.ToString() + " a RigidbodySyncComponent (" + rbSync.ToString() + ") with an already taken or invalid ID (" + rbSync.syncId.ToString() + ") is attempting to register, assigning a new ID == " + id.ToString()); _syncIds[rbSync.syncId] = rbSync; rbSync.SetSyncId(id); _rigidbodies.Add(rbSync); } }
public override void Unregister(RigidbodySyncComponent sync) { _rigidbodies.Remove(sync.syncId); }
public abstract void Unregister(RigidbodySyncComponent sync);