internal NetworkP2PHandoverInstance(NetBuffer buffer) { _networkView = null; position = new Vector3(buffer.ReadFloat(), buffer.ReadFloat(), buffer.ReadFloat()); rotation = new Quaternion(buffer.ReadFloat(), buffer.ReadFloat(), buffer.ReadFloat(), buffer.ReadFloat()); relativeTo = (NetworkP2PSpace)buffer.ReadByte(); remoteViewID = new NetworkViewID(buffer); group = new NetworkGroup(buffer); authFlags = (NetworkAuthFlags)buffer.ReadByte(); isInstantiatedRemotely = buffer.ReadBoolean(); proxyPrefab = buffer.ReadString(); ownerPrefab = buffer.ReadString(); serverPrefab = buffer.ReadString(); cellAuthPrefab = buffer.ReadString(); cellProxyPrefab = buffer.ReadString(); uint initialSize = buffer.ReadVariableUInt32(); _initialData = initialSize != 0 ? buffer.ReadBytes((int)initialSize) : new byte[0]; uint handoverSize = buffer.ReadVariableUInt32(); _handoverData = handoverSize != 0 ? buffer.ReadBytes((int)handoverSize) : new byte[0]; _isInstantiatable = true; _networkP2P = null; }
/// <summary> /// Creates and initializes a new instance of NetworkP2PHandoverInstance. /// </summary> /// <param name="networkView">The network view to use for the object being handovered.</param> /// <param name="position">Position of the object being handovered.</param> /// <param name="rotation">Rotation to use for the object being handovered.</param> /// <param name="relativeTo">The space that position and rotation should be relative to.</param> public NetworkP2PHandoverInstance(NetworkViewBase networkView, Vector3 position, Quaternion rotation, NetworkP2PSpace relativeTo) { this.position = position; this.rotation = rotation; this.relativeTo = relativeTo; _networkView = networkView.root as NV; // make sure it's the parent networkview and not a child remoteViewID = _networkView.viewID; group = _networkView.group; authFlags = _networkView._data.authFlags; // TODO: ugly hack to void authority permission check isInstantiatedRemotely = _networkView.isInstantiatedRemotely; proxyPrefab = _networkView.proxyPrefab; ownerPrefab = _networkView.ownerPrefab; serverPrefab = _networkView.serverPrefab; cellAuthPrefab = _networkView.cellAuthPrefab; cellProxyPrefab = _networkView.cellProxyPrefab; _initialData = null; _handoverData = null; _isInstantiatable = false; _networkP2P = null; }