Пример #1
0
	void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) {
		if(stream.isWriting) {
			// This is OURS

			myInfo.position = transform.position;
			myInfo.rotation = transform.rotation;

			if(head != null)
				myInfo.headRotation = head.rotation;

			stream.SendNext(playerName);
			stream.SendNext(SerializeNetworkCharPacket(myInfo));
		}
		else {
			// This is others'

			playerName = (string)stream.ReceiveNext();
			receivedInfo = (NetworkCharPacket) DeserializeNetworkCharPacket ((byte[])stream.ReceiveNext());
		}
	}
Пример #2
0
	static object DeserializeNetworkCharPacket(byte[] bytes) {
		NetworkCharPacket packet = new NetworkCharPacket ();
		int index = 0;
		Protocol.Deserialize (out packet.position.x, bytes, ref index);
		Protocol.Deserialize (out packet.position.y, bytes, ref index);
		Protocol.Deserialize (out packet.position.z, bytes, ref index);

		Protocol.Deserialize (out packet.rotation.x, bytes, ref index);
		Protocol.Deserialize (out packet.rotation.y, bytes, ref index);
		Protocol.Deserialize (out packet.rotation.z, bytes, ref index);
		Protocol.Deserialize (out packet.rotation.w, bytes, ref index);

		Protocol.Deserialize (out packet.headRotation.x, bytes, ref index);
		Protocol.Deserialize (out packet.headRotation.y, bytes, ref index);
		Protocol.Deserialize (out packet.headRotation.z, bytes, ref index);
		Protocol.Deserialize (out packet.headRotation.w, bytes, ref index);

		return packet;
	}