Public Member Functions

CLobbyUI Class Reference

自定义大厅的基类 More...

List of all members.

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下只能在远程服务器有效。

Detailed Description

自定义大厅的基类


Member Function Documentation

def destroy (   self )

销毁函数.

def show (   self )

显示大厅.

def hide (   self )

隐藏大厅.

def lobby_callback_player_info (   self,
  nickname,
  title_name,
  avatar_str,
  pet_str 
)

(回调函数)刷新当前用户的信息.

此回调的意义在于登陆服务器成功,此时可以向服务器发送消息了

Parameters:
nicknamestr 昵称.
title_namestr 称号.
avatar_strstr avatar字符串,可以直接传入iavatar_ui.CAvatar的add_player_avatar接口.
pet_strstr pet字符串,可以直接传入iavatar_ui.CAvatar的add_pet_avatar接口.
def lobby_callback_enter_room_success (   self,
  roomname,
  mode 
)

(回调函数)成功进入房间.

Parameters:
roomnamestr 房间名称.
modeint 游戏模式(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 
)

(回调函数)进入房间时密码错误.

默认的处理为使用提示框提示“进入房间失败:房间密码错误”. 可以自行改为弹出密码输入框等其他处理方式.

Parameters:
roomidint 房间id.
def lobby_callback_update_player_info (   self,
  playerinfo 
)

(回调函数)玩家信息增加/更新.

Parameters:
playerinfo: dict 格式举例为{'nickname':'xx',shape:1,'roomid':0,'uid':20001,'sex':1}
def lobby_callback_del_player_info (   self,
  deluid 
)

(回调函数)玩家信息删除.

Parameters:
deluid: int 玩家uid.
def lobby_get_all_mode_id (   self )

获得所有游戏模式的id.

def lobby_get_mode_conf (   self,
  mode_id 
)

根据模式ID,获得具体的游戏模式配置.

Parameters:
mode_idint : 游戏模式ID.
Return values:
list: 格式定义为 (游戏模式id, 模式名称, 最小人数, 最大人数, 是否隐藏模式),与server端的配置方式相同.
def lobby_get_roomlist (   self )

获取房间列表.

Return values:
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 )

获取玩家列表.

Return values:
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中调用,来获取更多的当前房间的属性

Return values:
dict包含room属性的一个字典,目前包括roomid、roomname、mode三个属性
def lobby_get_fail_info (   self )

可以在lobby_callback_enter_room_fail或者lobby_callback_room_pwd_error中调用,来获取更多的进入房间失败信息

Return values:
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 
)

设置配对的游戏模式.

Parameters:
mode_idint : 游戏模式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

Parameters:
roomidint : 房间ID;默认值为0,表示创建新房间;其他数值为进入指定的房间.
pwdstr : 房间的密码(创建房间时为设定密码,进入房间时为该房间的进入密码);默认值为空字符串,表示无密码.
roomnamestr : 房间的名称(进入房间时不传);默认值为空字符串.
modeint : 房间的模式;(进入房间时不传).
nplayerint : 房间的最大人数;(进入房间时不传).
extra1int : 自定义参数1.
extra2int : 自定义参数2.
extra3int : 自定义参数3。以上三个参数会在lobby_get_roomlist的返回值中的room对象中体现.
def lobby_send_room_page (   self,
  mode_list,
  only_wait = False,
  next = True 
)

刷新房间列表

Parameters:
mode_listtuple(int, ) : 需要看到的模式列表
only_waitbool : 是否只显示等待房间
nextbool : True表示往后翻页,False表示往前翻页 说明:. 为了减少流量,所以每次只会传递一个页面的房间列表. 所以如果切换页面,需要向服务器发出请求. 目前默认一个页面有10个房间,可以在服务端接口set_roomnum_of_roomlist修改
def lobby_send_change_player_page (   self,
  next = True 
)

刷新玩家列表.

Parameters:
nextbool : True表示往后翻页,False表示往前翻页
def lobby_exit_and_join (   self,
  mode_id = None 
)

退出游戏,然后再进入指定模式
这个过程会先销毁当前游戏资源再通过init函数进入游戏逻辑,建议慎用。
此函数必须使用自定义大厅。

Parameters:
mode_idint : 退出房间后再自动创建指定模式的房间。默认为None,即会退出到大厅界面
def lobby_exit_and_join_by_id (   self,
  room_id = None 
)

退出游戏,然后再进入指定id的房间
这个过程会先销毁当前游戏资源再通过init函数进入游戏逻辑,建议慎用。
此函数必须使用自定义大厅。

Parameters:
room_idint : 退出房间后再自动进入指定ID的房间。默认为None,即会退出到大厅界面
def lobby_team_join (   self,
  mode_id,
  uid_list 
)

组队进入指定模式的房间
其中uid_list里面的玩家必须在同一个游戏中,而且该玩家也需要在房间内,否则无效。
此函数必须使用自定义大厅。SDK下只能在远程服务器有效。

Parameters:
gamemodeint : 游戏模式
uid_listlist : 其他玩家的uid列表,注意不应该超过房间的人数上限,同时最大也不能超过10个。如果超过10个,只取前10个uid
 All Classes Namespaces Functions Variables Properties