Ejemplo n.º 1
0
        public void RecycleTest()
        {
            var vid1 = new NetworkViewId {
                guid = 15
            };
            var vid2 = new NetworkViewId {
                guid = 16
            };
            var vid3 = new NetworkViewId {
                guid = 17
            };

            ushort owner1 = 1;
            ushort owner2 = 2;
            ushort owner3 = 3;

            var first  = _target.Create(vid1, owner1);
            var second = _target.Create(vid2, owner2);

            _target.RemoveView(first);
            first = null;

            var third = _target.Create(vid3, owner3);

            Assert.AreNotEqual(vid1, third.ViewID.guid);
            Assert.AreNotEqual(owner1, third.OwnerId);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// find a network view based on the given NetworkViewId
        /// </summary>
        /// <param name="viewId"></param>
        /// <returns></returns>
        public static NetworkView Find(NetworkViewId viewId)
        {
            if (!UnityEngineHook.ValidInstance)
            {
                return(null);
            }

            NetworkView view;

            UnityEngineHook.Instance.Manager.TryGetView(viewId, out view);
            return(view);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// find a networkview based on a networkviewid that was serialized into an rpc
        /// </summary>
        /// <param name="message">uses deserialize, so the read location does advance</param>
        /// <param name="view"></param>
        /// <returns></returns>
        public static bool Find(ref NetIncomingMessage message, out NetworkView view)
        {
            var viewId = new NetworkViewId();

            viewId.OnDeserialize(message);
            if (UnityEngineHook.ValidInstance)
            {
                return(UnityEngineHook.Instance.Manager.TryGetView(viewId, out view));
            }

            view = null;
            return(false);
        }
Ejemplo n.º 4
0
        public void CreateTest()
        {
            var viewId = new NetworkViewId {
                guid = 15
            };
            ushort ownerId = 14;

            _net.TestablePlayerID = 12;
            NetworkView actual = _target.Create(viewId, ownerId);


            //test regular creation with an empty pool
            Assert.AreEqual(viewId, actual.ViewID);
            Assert.AreEqual(ownerId, actual.OwnerId);
            Assert.IsFalse(actual.IsMine);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// find a networkview based on a networkviewid that was serialized into an rpc
        /// </summary>
        /// <param name="message">uses deserialize, so the read location does advance</param>
        /// <param name="view"></param>
        /// <returns></returns>
        public static bool Find(ref NetIncomingMessage message, out NetworkView view)
        {
            var id = NetworkViewId.Deserialize(message);

            return(Find(id, out view));
        }
Ejemplo n.º 6
0
 /// <summary>
 /// find a network view based on the given NetworkViewId
 /// </summary>
 /// <param name="viewID"></param>
 /// <returns></returns>
 public static NetworkView Find(NetworkViewId viewID)
 {
     return(allViews[viewID.guid]);
 }
Ejemplo n.º 7
0
 internal NetworkView(NetworkViewManager networkViewManager, NetworkViewId networkId, Player owner)
 {
     Manager = networkViewManager;
     Id      = networkId;
     Owner   = owner;
 }
 public NetworkView Get(NetworkViewId id)
 {
     _networkViews.TryGetValue(id.Id, out var view);
     return(view);
 }
Ejemplo n.º 9
0
 internal bool Remove(NetworkViewId viewId)
 {
     return(_networkViews.Remove(viewId));
 }
Ejemplo n.º 10
0
 internal bool TryGetView(NetworkViewId viewId, out NetworkView view)
 {
     return(_networkViews.TryGetValue(viewId, out view));
 }