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); }
/// <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); }
/// <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); }
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); }
/// <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)); }
/// <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]); }
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); }
internal bool Remove(NetworkViewId viewId) { return(_networkViews.Remove(viewId)); }
internal bool TryGetView(NetworkViewId viewId, out NetworkView view) { return(_networkViews.TryGetValue(viewId, out view)); }