Пример #1
0
        private void Awake()
        {
            rb            = GetComponentInParent <Rigidbody>();
            rb2d          = GetComponentInParent <Rigidbody2D>();
            _hasRigidBody = rb || rb2d;

            needsSnapshot       = !_hasRigidBody || (rb && rb.isKinematic) || (rb2d && rb2d.isKinematic);
            localContactTrigger = GetComponent <IContactTrigger>();
            /// Register timing callbacks with Master.
            /// TODO: We likely should slave timings off of the owner
            if (needsSnapshot)
            {
                NetMaster.RegisterCallbackInterfaces(this);
            }

            /// No need for the interpolation callback if we are using forces.
            if (_hasRigidBody)
            {
                NetMaster.onPreUpdates.Remove(this);
            }

            /// Find interfaces for termination callbacks
            GetComponents(onHit);
            GetComponents(onTerminate);
        }
Пример #2
0
 protected virtual void OnDisable()
 {
     if (preventRepeats)
     {
         NetMaster.RegisterCallbackInterfaces(this, false, true);
     }
 }
Пример #3
0
        protected virtual void OnEnable()
        {
            if (preventRepeats)
            {
                NetMaster.RegisterCallbackInterfaces(this);

                triggeringHitscans.Clear();
                triggeringEnters.Clear();
                triggeringStays.Clear();
            }
        }
Пример #4
0
        private void OnEnable()
        {
#if PUN_2_OR_NEWER
            PhotonNetwork.AddCallbackTarget(this);
#endif
            NetMaster.RegisterCallbackInterfaces(this, true);
            activeNetObjs.Add(this);

            /// OnPostEnable Callbacks
            int cnt = onEnableCallbacks.Count;
            for (int i = 0; i < cnt; ++i)
            {
                onEnableCallbacks[i].OnPostEnable();
            }
        }
Пример #5
0
        private void OnDisable()
        {
#if PUN_2_OR_NEWER
            PhotonNetwork.RemoveCallbackTarget(this);
#endif
            NetMaster.RegisterCallbackInterfaces(this, false);
            if (activeNetObjs.Contains(this))
            {
                activeNetObjs.Remove(this);
            }

            /// OnPostDisable Callback
            int cnt = onDisableCallbacks.Count;
            for (int i = 0; i < cnt; ++i)
            {
                onDisableCallbacks[i].OnPostDisable();
            }
        }
Пример #6
0
 private void OnDestroy()
 {
     NetMaster.RegisterCallbackInterfaces(this, false, true);
 }