概述

给玩家发送消息都是通过session.Send实现,但在room.QTable做了一下封装,能够更方便使用

[!TIP|style:flat|label:注意事项|iconVisibility:hidden] 通过room.QTable函数发消息跟session.Send区别在于,room.QTable函数会先将要发送的消息都存放到消息队列中 待本周期执行完以后再统一发送给客户端,发送之前会合并网关,如多个用户在同一个网关且发送的消息相同则只会进行一次RPC操作

给多个玩家发送消息

SendCallBackMsg(players []string, topic string, body []byte) error

其中players是session().GetSessionId() 列表

给桌子内所有玩家广播消息

 NotifyCallBackMsg(topic string, body []byte) error

不关注结果的发送消息

SendCallBackMsgNR(players []string, topic string, body []byte) error
NotifyCallBackMsgNR(topic string, body []byte) error

通过session查找BasePlayer

[!TIP|style:flat|label:注意事项|iconVisibility:hidden] 对于游客用户使用session.GetSessionId()查找,对于登陆用户使用session().GetUserId() 这样的做法在于如果登陆用户断线重连网关切换了,通过session().GetUserId()依然可以找到BasePlayer

FindPlayer(session gate.Session) BasePlayer

Copyright © 梁大帅 2020 all right reserved,powered by Gitbook该文件修订时间: 2020-05-17 18:14:09

results matching ""

    No results matching ""