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;
         }
     }
 }
Exemple #2
0
        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);
        }