internal void _Write(NetBuffer buffer)
        {
            buffer.Write(position.x); buffer.Write(position.y); buffer.Write(position.z);
            buffer.Write(rotation.x); buffer.Write(rotation.y); buffer.Write(rotation.z); buffer.Write(rotation.w);
            buffer.Write((byte)relativeTo);

            remoteViewID._Write(buffer);
            group._Write(buffer);

            buffer.Write((byte)authFlags);
            buffer.Write(isInstantiatedRemotely);

            buffer.Write(proxyPrefab);
            buffer.Write(ownerPrefab);
            buffer.Write(serverPrefab);
            buffer.Write(cellAuthPrefab);
            buffer.Write(cellProxyPrefab);

            if (_networkView.initialData != null)
            {
                var initialData = _networkView.initialData._ToArray();
                buffer.WriteVariableUInt32((uint)initialData.Length);
                buffer.Write(initialData);
            }
            else
            {
                buffer.WriteVariableUInt32(0);
            }

            if (_networkView._hasSerializeHandover)
            {
                var stream = new BitStream(true, false);
                _networkView._SerializeHandover(stream, new NetworkMessageInfo(NetworkPlayer.unassigned, 0, 0, 0, NetworkFlags.NoTimestamp, _networkView));

                var handoverData = stream._ToArray();
                buffer.WriteVariableUInt32((uint)handoverData.Length);
                buffer.Write(handoverData);
            }
            else
            {
                buffer.WriteVariableUInt32(0);
            }
        }
 public void WriteNetworkGroup(NetworkGroup value)
 {
     value._Write(_buffer);
 }