sunxinzhe
appid:afztA5Vo3mtbEpjFrp0V588v-gzGzoHsz sdk版本号:unity最新版本v0.5.0-alpha.6 client.Room.SetCustomProperties(new PlayObject{{"gold",1}})设置自定义属性可以成功,但马上会触发client.OnDisconnected,不调用这个函数或者传一个空如client.Room.SetCustomProperties(new PlayObject{})也不会断开
官方有人吗,我看unity已经很长时间没有维护了,如果是不维护了,烦请说一声好吗,谢谢!
不好意思,我排查到问题了,是因为设置属性成功后我前端有一个异常,导致连接断开,unity没有打印出错误,所以误以为是这个接口bug,谢谢!另外有两个问题, 1,现在房间是没有接口主动销毁到吗,比如我是房主,我退出就相当于解散房间 2,unity现在avobject子类化使用起来不太方便,因为一般是player用户数据,很多用户属性,每一个属性都要加标签和重复到getset,要么你们把SubclassingController.GetPropertyMappings开放自定义,要么用cecil自动注入setget代码,这样方便开发者,多谢!
1,可以开放这个接口吗,因为大部分实际房间游戏还是有这个需求的,房主由创建人所有,房主不在,房间销毁,可以交给开发者自己定义,更灵活 2,这个方案是可以的,我之前的方案是继承子类只要是public属性(get,set非必要)的都会自动解析为保存字段,如果有些字段想不保存,再加标签ignore 3,既然您在重构,我顺便说说另外一个问题,就是序列化的设计https://leancloud.cn/docs/multiplayer-guide-csharp.html#hash23935662,初衷是好的,但是你们现在要序列化一个自定义类很麻烦,那个解析实例看起来都头大,我目前是用Newtonsoft.…
zyu: 少关心一些细节,如果由开发 1,少关心细节是对的,如果是担心资源浪费,可以兼得,你们现在的机制保留,没人的时候自动销毁,有人的情况提供一个主动销毁的机制,其实会更节省。关键是这个需求是实际项目中必须要有的,因为只是房主退了,房间还有别人,方案设计上一般是会要销毁并告知其他玩家,房间已解散,往斟酌下。 2,我现在就是这么干的,自己new了一个playerobject["data"]=序列化对象,但仅仅用在sendevent上,在房间自定义属性和player自定义属性上没敢用,因为如果包一层data,那就是一个属性了,其中一个key变化,整个data都得变,会有浪费,而且data内部哪个…
1,比如一些聚会游戏,很多计算逻辑是在房主端进行,比如收集其他玩家信息,下发关键信息等,房主是这个房间的核心,房主不在,游戏是进行不下去的,即使切换房主,那这些数据转给新房主复杂度更大,所以一般采用房主不在,解散的模式,如果实在不方便,我只能绕道解决了,就是如果其他人收到房主离开,那leave,也能解决,就是别扭。 2,我说的方案跟你说的“如果在 PlayObject 里只存放一个 string/byte[],开发者侧拿到 Raw data ”是一回事,只不过这种方案用在房间自定义属性上不太合适,这些属性是要准确知道哪些key变化的 3,另外方便问一下你们重构的getset什么时候可以用呢,如…
zyu: 房主不掉线。 ok,多谢多谢,我等你们等存储sdk的子类化,其他的我已经都实现了,再次感谢!