自定义大厅的基类 More...
Public Member Functions | |
def | destroy |
销毁函数. | |
def | show |
显示大厅. | |
def | hide |
隐藏大厅. | |
def | lobby_callback_player_info |
(回调函数)刷新当前用户的信息. | |
def | lobby_callback_enter_room_success |
(回调函数)成功进入房间. | |
def | lobby_callback_enter_room_fail |
(回调函数)进入房间失败. | |
def | lobby_callback_update_gamemode_conf |
(回调函数)刷新游戏模式列表. | |
def | lobby_callback_match_result_pause |
(回调函数)配对模式下,配对暂停. | |
def | lobby_callback_match_result_wait |
(回调函数)配对模式下,等待配对. | |
def | lobby_callback_roomlist_refresh |
(回调函数)房间列表刷新. | |
def | lobby_callback_leave_room |
(回调函数)自己退出房间. | |
def | lobby_callback_room_pwd_error |
(回调函数)进入房间时密码错误. | |
def | lobby_callback_update_player_info |
(回调函数)玩家信息增加/更新. | |
def | lobby_callback_del_player_info |
(回调函数)玩家信息删除. | |
def | lobby_get_all_mode_id |
获得所有游戏模式的id. | |
def | lobby_get_mode_conf |
根据模式ID,获得具体的游戏模式配置. | |
def | lobby_get_roomlist |
获取房间列表. | |
def | lobby_get_playerlist |
获取玩家列表. | |
def | lobby_get_current_room_info |
可以在lobby_callback_enter_room_success中调用,来获取更多的当前房间的属性 | |
def | lobby_get_fail_info |
可以在lobby_callback_enter_room_fail或者lobby_callback_room_pwd_error中调用,来获取更多的进入房间失败信息 | |
def | lobby_match_set_current_mode |
设置配对的游戏模式. | |
def | lobby_send_match_start |
配对模式,启动配对. | |
def | lobby_send_match_pause |
配对模式,暂停配对. | |
def | lobby_send_change_room_page |
此接口已经取消,请使用lobby_send_room_page. | |
def | lobby_send_enter_room |
创建并进入/进入房间. | |
def | lobby_send_room_page |
刷新房间列表 | |
def | lobby_send_change_player_page |
刷新玩家列表. | |
def | lobby_exit_and_join |
退出游戏,然后再进入指定模式 这个过程会先销毁当前游戏资源再通过init函数进入游戏逻辑,建议慎用。 此函数必须使用自定义大厅。 | |
def | lobby_exit_and_join_by_id |
退出游戏,然后再进入指定id的房间 这个过程会先销毁当前游戏资源再通过init函数进入游戏逻辑,建议慎用。 此函数必须使用自定义大厅。 | |
def | lobby_team_join |
组队进入指定模式的房间 其中uid_list里面的玩家必须在同一个游戏中,而且该玩家也需要在房间内,否则无效。 此函数必须使用自定义大厅。SDK下只能在远程服务器有效。 |
自定义大厅的基类
def destroy | ( | self ) |
销毁函数.
def show | ( | self ) |
显示大厅.
def hide | ( | self ) |
隐藏大厅.
def lobby_callback_player_info | ( | self, | |
nickname, | |||
title_name, | |||
avatar_str, | |||
pet_str | |||
) |
(回调函数)刷新当前用户的信息.
此回调的意义在于登陆服务器成功,此时可以向服务器发送消息了
nickname | str 昵称. |
title_name | str 称号. |
avatar_str | str avatar字符串,可以直接传入iavatar_ui.CAvatar的add_player_avatar接口. |
pet_str | str pet字符串,可以直接传入iavatar_ui.CAvatar的add_pet_avatar接口. |
def lobby_callback_enter_room_success | ( | self, | |
roomname, | |||
mode | |||
) |
(回调函数)成功进入房间.
roomname | str 房间名称. |
mode | int 游戏模式(id). |
def lobby_callback_enter_room_fail | ( | self ) |
(回调函数)进入房间失败.
def lobby_callback_update_gamemode_conf | ( | self ) |
(回调函数)刷新游戏模式列表.
收到服务端的游戏模式列表后调用.
def lobby_callback_match_result_pause | ( | self ) |
(回调函数)配对模式下,配对暂停.
def lobby_callback_match_result_wait | ( | self ) |
(回调函数)配对模式下,等待配对.
def lobby_callback_roomlist_refresh | ( | self ) |
(回调函数)房间列表刷新.
def lobby_callback_leave_room | ( | self ) |
(回调函数)自己退出房间.
def lobby_callback_room_pwd_error | ( | self, | |
roomid | |||
) |
(回调函数)进入房间时密码错误.
默认的处理为使用提示框提示“进入房间失败:房间密码错误”. 可以自行改为弹出密码输入框等其他处理方式.
roomid | int 房间id. |
def lobby_callback_update_player_info | ( | self, | |
playerinfo | |||
) |
(回调函数)玩家信息增加/更新.
playerinfo | : dict 格式举例为{'nickname':'xx',shape:1,'roomid':0,'uid':20001,'sex':1} |
def lobby_callback_del_player_info | ( | self, | |
deluid | |||
) |
(回调函数)玩家信息删除.
deluid | : int 玩家uid. |
def lobby_get_all_mode_id | ( | self ) |
获得所有游戏模式的id.
def lobby_get_mode_conf | ( | self, | |
mode_id | |||
) |
根据模式ID,获得具体的游戏模式配置.
mode_id | int : 游戏模式ID. |
list | : 格式定义为 (游戏模式id, 模式名称, 最小人数, 最大人数, 是否隐藏模式),与server端的配置方式相同. |
def lobby_get_roomlist | ( | self ) |
获取房间列表.
dict | : 以roomid为key,value为room对象的实例. room对象包含的属性:. roomid int 房间id. roomname str 房间名称. mode int 游戏模式. maxnum int 房间最大人数. curnum int 房间当前人数. haspwd bool 是否有密码. status int 房间状态,0:等待,1:开始. dynamic int 预留扩展参数(后续更新会开放并说明用途). extra1 int 自定义参数1. extra2 int 自定义参数2. extra3 int 自定义参数3. |
def lobby_get_playerlist | ( | self ) |
获取玩家列表.
dict | : 以uid为key,value为player对象的实例. player对象包含的属性:. uid int 玩家uid. nickname str 玩家昵称. shape int 玩家形状. sex int 玩家性别. roomid int 玩家所处房间号. mode int 玩家所处房间的游戏模式. |
def lobby_get_current_room_info | ( | self ) |
可以在lobby_callback_enter_room_success中调用,来获取更多的当前房间的属性
dict | 包含room属性的一个字典,目前包括roomid、roomname、mode三个属性 |
def lobby_get_fail_info | ( | self ) |
可以在lobby_callback_enter_room_fail或者lobby_callback_room_pwd_error中调用,来获取更多的进入房间失败信息
dict | 一个字典,目前包括roomid(房间id)、is_invite(是否邀请进入)、errno(错误码)、err_desc(错误提示) 错误码一览: ENTER_ROOM_NOT_EXIST -- 房间不存在 ENTER_ROOM_BAD_PARAMS -- 参数错误,例如传入错误的游戏模式 ENTER_ROOM_GAME_REFUSE -- 游戏房间的逻辑不允许进入 ENTER_ROOM_PWD_ERROR -- 密码错误 ENTER_ROOM_PLAYER_STATE_ERROR -- 玩家状态错误,例如已经在一个房间了 ENTER_ROOM_FULL -- 房间满员 ENTER_ROOM_GAME_STARTED -- 房间游戏已经开始 |
def lobby_match_set_current_mode | ( | self, | |
mode_id | |||
) |
设置配对的游戏模式.
mode_id | int : 游戏模式ID. |
def lobby_send_match_start | ( | self ) |
配对模式,启动配对.
def lobby_send_match_pause | ( | self ) |
配对模式,暂停配对.
def lobby_send_change_room_page | ( | self, | |
page_num | |||
) |
此接口已经取消,请使用lobby_send_room_page.
def lobby_send_enter_room | ( | self, | |
roomid = 0 , |
|||
pwd = "" , |
|||
roomname = "" , |
|||
mode = 0 , |
|||
nplayer = 0 , |
|||
extra1 = 0 , |
|||
extra2 = 0 , |
|||
extra3 = 0 |
|||
) |
创建并进入/进入房间.
会按照进入房间成功还是失败,
回调lobby_callback_enter_room_success或者lobby_callback_enter_room_fail
roomid | int : 房间ID;默认值为0,表示创建新房间;其他数值为进入指定的房间. |
pwd | str : 房间的密码(创建房间时为设定密码,进入房间时为该房间的进入密码);默认值为空字符串,表示无密码. |
roomname | str : 房间的名称(进入房间时不传);默认值为空字符串. |
mode | int : 房间的模式;(进入房间时不传). |
nplayer | int : 房间的最大人数;(进入房间时不传). |
extra1 | int : 自定义参数1. |
extra2 | int : 自定义参数2. |
extra3 | int : 自定义参数3。以上三个参数会在lobby_get_roomlist的返回值中的room对象中体现. |
def lobby_send_room_page | ( | self, | |
mode_list, | |||
only_wait = False , |
|||
next = True |
|||
) |
刷新房间列表
mode_list | tuple(int, ) : 需要看到的模式列表 |
only_wait | bool : 是否只显示等待房间 |
next | bool : True表示往后翻页,False表示往前翻页 说明:. 为了减少流量,所以每次只会传递一个页面的房间列表. 所以如果切换页面,需要向服务器发出请求. 目前默认一个页面有10个房间,可以在服务端接口set_roomnum_of_roomlist修改 |
def lobby_send_change_player_page | ( | self, | |
next = True |
|||
) |
刷新玩家列表.
next | bool : True表示往后翻页,False表示往前翻页 |
def lobby_exit_and_join | ( | self, | |
mode_id = None |
|||
) |
退出游戏,然后再进入指定模式
这个过程会先销毁当前游戏资源再通过init函数进入游戏逻辑,建议慎用。
此函数必须使用自定义大厅。
mode_id | int : 退出房间后再自动创建指定模式的房间。默认为None,即会退出到大厅界面 |
def lobby_exit_and_join_by_id | ( | self, | |
room_id = None |
|||
) |
退出游戏,然后再进入指定id的房间
这个过程会先销毁当前游戏资源再通过init函数进入游戏逻辑,建议慎用。
此函数必须使用自定义大厅。
room_id | int : 退出房间后再自动进入指定ID的房间。默认为None,即会退出到大厅界面 |
def lobby_team_join | ( | self, | |
mode_id, | |||
uid_list | |||
) |
组队进入指定模式的房间
其中uid_list里面的玩家必须在同一个游戏中,而且该玩家也需要在房间内,否则无效。
此函数必须使用自定义大厅。SDK下只能在远程服务器有效。
gamemode | int : 游戏模式 |
uid_list | list : 其他玩家的uid列表,注意不应该超过房间的人数上限,同时最大也不能超过10个。如果超过10个,只取前10个uid |