public virtual bool rpcReceive(ushort rpc_id, byte[] src, ref int offset) { bool ret = false; switch (rpc_id) { case 0: role = (GameObjectRoles)ClientTest.deserializeToByte(src, ref offset); Debug.Log(GetType().ToString() + " clientSetRole:" + role.ToString()); ret = true; break; case 1: initialReplicationComplete(); // now that the function is called on the client, call this function on the server. ClientTest.self.rpcBegin(goId, 2); ClientTest.self.rpcEnd(); ret = true; break; case 2: // ack 1 // call this function on the server. initialReplicationComplete(); ret = true; break; } return(ret); }
/** rpc reception method(client)*/ public override bool rpcReceive(ushort rpc_id, byte[] src, ref int offset) { if (base.rpcReceive(rpc_id, src, ref offset)) { return(true); } switch (rpc_id) { case 64: { UnityEngine.Vector3 pos = ClientTest.deserializeToVector3(src, ref offset); UnityEngine.Vector3 rot = ClientTest.deserializeToVector3(src, ref offset); System.Single estTime = ClientTest.deserializeToFloat(src, ref offset); UnityEngine.Vector3 _frameVelocity = ClientTest.deserializeToVector3(src, ref offset); System.Byte interpolationMode = ClientTest.deserializeToByte(src, ref offset); ReceiveUpdate(pos, rot, estTime, _frameVelocity, interpolationMode); } break; case 65: { UnityEngine.Vector3 pos = ClientTest.deserializeToVector3(src, ref offset); UnityEngine.Vector3 rot = ClientTest.deserializeToVector3(src, ref offset); System.Single estTime = ClientTest.deserializeToFloat(src, ref offset); UnityEngine.Vector3 _frameVelocity = ClientTest.deserializeToVector3(src, ref offset); System.Byte interpolationMode = ClientTest.deserializeToByte(src, ref offset); ReceiveUpdateFromHost(pos, rot, estTime, _frameVelocity, interpolationMode); } break; case 66: { System.Int32 id = ClientTest.deserializeToInt(src, ref offset); PingServer(id); } break; case 67: { System.Int32 id = ClientTest.deserializeToInt(src, ref offset); PingClient(id); } break; } return(true); }