我应该如何实现 TBMP 重匹配?
How should I Implement TBMP Rematch?
我正在创建一款多人井字游戏,它在大多数情况下都能正常工作,但当需要重新匹配时,我获得的功能却不尽如人意。
所以最初我使用了与 TBMPSkeleton 示例项目相同的 Games.TurnBasedMultiplayer.rematch
实现。基本上在调用 Games.TurnBasedMultiplayer.finish
之后,我会在后续回调中通过调用 match.canRematch()
来检查是否可以重新匹配。如果 match.canRematch()
returns 为真,那么我调用 Games.TurnBasedMultiplayer.rematch
。当我调用 finish 和调用 rematch 时,都会在对方客户端设备上调用 onTurnBasedMatchReceived
回调,然后我从那里检查匹配对象的 rematchId。如果不是null
,那我重置游戏
我遇到的问题是,在获胜玩家请求重赛然后轮到 his/her 之后,对方玩家收到了参加新比赛的邀请,但是 onTurnBasedMatchReceived
回调不会被调用。我不希望失败的玩家必须离开我的游戏才能接受或拒绝邀请。
那么有没有办法让我的应用程序处理邀请通知,而不必强迫玩家必须打开系统的通知图形用户界面?我是否应该放弃基于回合的多人游戏 API 以支持实时游戏?
我意识到我没有为邀请注册的听众。注册一个之后,我就能够实现我想要的功能。我对它的工作感到欣慰,但如果能早点注意到这一点就好了...
我正在创建一款多人井字游戏,它在大多数情况下都能正常工作,但当需要重新匹配时,我获得的功能却不尽如人意。
所以最初我使用了与 TBMPSkeleton 示例项目相同的 Games.TurnBasedMultiplayer.rematch
实现。基本上在调用 Games.TurnBasedMultiplayer.finish
之后,我会在后续回调中通过调用 match.canRematch()
来检查是否可以重新匹配。如果 match.canRematch()
returns 为真,那么我调用 Games.TurnBasedMultiplayer.rematch
。当我调用 finish 和调用 rematch 时,都会在对方客户端设备上调用 onTurnBasedMatchReceived
回调,然后我从那里检查匹配对象的 rematchId。如果不是null
,那我重置游戏
我遇到的问题是,在获胜玩家请求重赛然后轮到 his/her 之后,对方玩家收到了参加新比赛的邀请,但是 onTurnBasedMatchReceived
回调不会被调用。我不希望失败的玩家必须离开我的游戏才能接受或拒绝邀请。
那么有没有办法让我的应用程序处理邀请通知,而不必强迫玩家必须打开系统的通知图形用户界面?我是否应该放弃基于回合的多人游戏 API 以支持实时游戏?
我意识到我没有为邀请注册的听众。注册一个之后,我就能够实现我想要的功能。我对它的工作感到欣慰,但如果能早点注意到这一点就好了...