Пример #1
0
        /// <summary>
        /// Call the callback that is attached to this value change
        /// </summary>
        /// <param name="sender">The object that has the value that is being watched</param>
        public void Callback(NetworkedMonoBehavior sender, bool overrideDirty = false)
        {
            // Only execute if the value has changed
            if (callback == null || (!IsDirty && !overrideDirty))
            {
                return;
            }

            Unity.MainThreadManager.Run(() =>
            {
                switch (callbackCallers)
                {
                case NetworkCallers.Everyone:
                    callback();
                    break;

                case NetworkCallers.Others:
                    if (!sender.IsOwner)
                    {
                        callback();
                    }
                    break;

                case NetworkCallers.Owner:
                    if (sender.IsOwner)
                    {
                        callback();
                    }
                    break;
                }
            });
        }
Пример #2
0
        /// <summary>
        /// Assigns the object that is the players identity object
        /// </summary>
        /// <param name="behavior">The NetworkedMonoBehavior that represents the player</param>
        public void SetMyBehavior(NetworkedMonoBehavior behavior)
        {
            if (!behavior.isPlayer || PlayerObject != null)
            {
                return;
            }

            PlayerObject = behavior;
        }
Пример #3
0
        private void DeserializeManualProperties(NetworkingPlayer player, NetworkingStream stream)
        {
            ulong networkedId = ObjectMapper.Map <ulong>(stream);

            NetworkedMonoBehavior.Locate(networkedId).DeserializeManualProperties(stream);
        }