一日一点RakNet(53)--TeamBalancer

TeamBalancer概览

      

请求和平衡团队客户端/服务器或端到端游戏

       TeamBalancer插件用于在游戏会话中给每一个玩家赋予一个团队编号。玩家默认没有团队,通过调用RequestSpecificTeam()RequestAnyTeam()方法来加入团队。

 

操作包括:

       SetTeamSizeLimits() —能够加入到一个给定团队号的玩家的最大数。

       SetDefaultAssignmentAlgorithm() —定义如何自动向团队加入新的玩家—按序填充团队,或加入一个最小的团队。这个函数有RequestAnyTeam()方法触发。

       SetForceEvenTeams() —使得所有团队变得更加平衡。有太多玩家的团队会随机地让一些玩家转移到玩家较少的团队中。

       RequestSpecificTeam() —变为一个需请求的团队。如果这个团队满了,你的加入将被挂起,直到团队不满,或在想要加入的团队中的一个玩家想要与你交换团队为止。

       CancelRequestSpecificTeam() —如果RequestSpecificTeam()还没有完成,这个函数会移除掉函数的请求。

       RequestAnyTeam() —随即加入到一个团队中,基于默认的团队分配算法。

       GetMyTeam() —如果已经加入到了某个团队,返回自己所在的团队。

       SetAllowHostMigration() —如果是端到端,那么调用该函数时使用true参数,否则使用false参数调用该函数。

       参考TeamBalancer.h头文件获得更多详细信息,以及每一个函数和参数的完整文档,以及函数返回给用户的消息。

       参考例子工程Samples\TeamBalancer中本系统的实现。

 

By 北洋小郭

转载请注明出处,请勿用于商业用途,谢谢!

 

你可能感兴趣的:(游戏,算法,服务器,文档)