我们知道,在使用了RPC的联网游戏中,可以用
GetComponent<NetworkView>().RPC("远程函数名", RPCMode.All, 参数);
或者 networkView.RPC ("远程函数名", RPCMode.All, 参数);
来调用远程函数,发送信息
那么参数可以用哪些类型呢?
官方是这样给出的:
也就是说,参数只能是int float string Networkviewid NetworkPlayer vector3 quaternion四元数这些类型
这是要注意的,如果参数使用错误,那么就会导致发送消息失败,会提示参数类型不匹配错误。
而我自己在做项目的时候发现,int[]型数据是可以的而int[][]或int[,]型数据是不可以的,而使用泛型List<T>也是不可以的。
所以大概总结了一下哪些类型参数可以使用。
除了官方给的这些数据,RPC远程过程协议的函数还可以使用int float string ...的一维数组,但不可以使用二维数组或者泛型,动态数组等。
如果是有结构的大量数据需要传递,建议转换成一维数组的形式或者字符串的形式。(二维的数据也是可以转换成一维的,获取的时候只需要使用%计算余数即可)
以上是我的经验。
(如果有错欢迎指正)