void OnGameObjectCreating(GameObjectCreating data) { foreach (var go in data.GameObjectIds) { var persistentKey = go.GameObject.GetComponent <SyncObjectBinding>().streamKey.key.Name; if (persistentKey.Equals(m_CurrentPersistentKeyName) || (m_CurrentSelectedGameObject == null && (go.StableId == m_CurrentSelectedId || m_CurrentSelectedId == default && go.StableId == m_PreviousSelectedId))) { m_IsWaitingEnabling = true; break; } } }
void OnExecuteSyncEvent(RpcContext <ExecuteSyncEvent, NullData> ctx) { switch (ctx.Data.Event) { case GameObjectCreating msg: GameObjectCreating?.Invoke(msg); break; case GameObjectDestroying msg: GameObjectDestroying?.Invoke(msg); break; case GameObjectEnabling msg: GameObjectEnabling?.Invoke(msg); break; case GameObjectDisabling msg: GameObjectDisabling?.Invoke(msg); break; } ctx.SendSuccess(null); }