game_server.game_social
简介
组件接口
FSocialScript.gs
用于扩展社交服对接模块的功能组件 所有用于增加自定义的本地功能脚本(参考scripts/目录下的功能脚本)应该包含本组件
| 函数原型 | 函数作用 |
|---|---|
| void register_script_func(string script_name, function func) | 注册脚本函数 |
| void unregister_script_func(string script_name) | 注销脚本函数 |
| void unregister_all_script_func() | 注销所有脚本函数 |
FUserSocial.gs
为User对象提供的社交服组件 1.生成一个随机数提供给游戏客户端,做为游戏客户端登录社交服务器的凭证(token) 2.游戏客户端可以通过refresh_social_token指令,向游戏服务器重新请求社交服登录凭证(token)
| 函数原型 | 函数作用 |
|---|---|
| void assure_social_account(map para = ) | 确保社交服账号存在并向游戏客户端发送社交服登录凭证(已经存在则下发登录token,不存在则创建账号后再下发登录token) |
| bool check_social_token(mixed token) | 校验社交服登录token是否和玩家持有的token匹配 |
| bool refresh_social_token() | 刷新社交服登录凭证(token) |
game_social.gs
和社交服务器交互的功能模块 本功能模块导入项目的几点说明
- 本模块基于 pkg.game.server
- 本模块依赖游戏服务器的网络服务和http服务,必须在游戏服务器的网络服务和http服务就位后才能进行加载
- 需要调用本模块的setup方法进行初始化
- 本模块提供一些预置的脚本功能和游戏指令等,也可以通过包含本模块提供的组件进行扩展 其它说明:
- cmds/refresh_social_token.gs - 刷新游戏客户端用于登录社交服的token
- cmds/take_mail_gifts.gs - 领取邮件附件奖励的指令
- http_cmds/auth_social_account.gs - 游戏服务器做为社交服的登录验证代理时提供的http指令(验证游戏服提供的登录社交服的token)
- scripts/chat_scripts.gs - 预置的几个聊天相关的功能函数的集合
- scripts/mail_scripts.gs - 预置的几个邮件相关的功能函数的集合
- 可以通过game_social.dump_scripts()输出所有可用的功能脚本(通过game_social.eval调用)
- 可以通过包含FUserSocial组件,开启社交服用户创建、验证等功能
- 可以通过包含FSocialScript组件,自定扩展功能模块的功能(通过game_social.eval方法进行调用)
| 函数原型 | 函数作用 |
|---|---|
| void setup(object game_server = nil) | 模块初始: 挂载内置的功能脚本/游戏服务器指令/http指令 |
| mixed send_request(string cmd, map args) | 向社交服发送指令,并阻塞等待指令结果返回 |
| void send(string cmd, map args) | 向社交服发送指令,不等待指令结果返回 |
| bool contains_script(mixed script_name_list) | 是否包含指定的脚本函数 |
| mixed eval(string script_name, ...) | 执行脚本函数 |
| void register_script_func_dict(map dict) | 登记一组脚本函数(登记后才能通过game_social.eval函数调用) |
| void register_script_func(string script_name, function func) | 登记脚本函数 |
| void unregister_script_func(string script_name) | 移除已登记脚本函数 |
| void unregister_script_funcs(array script_name_list) | 移除一组已登记的脚本函数 |
| object admin() | 获取社交服的客户端连接对象(全局唯一,有管理员权限) |
| void dump_scripts() | 调试接口 - 显示所有已登记脚本函数名称 |
| bool create_account(string account, map info = ) | 创建社交服账号 |
| bool check_account(string account) | 检查指定社交服账号是否存在 |
| bool delete_account(string account, bool mark_deleted = true) | 删除社交服账号 |
样例
public void pkg_sample()
{
write("sample");
}