跳到主要内容

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

和社交服务器交互的功能模块 本功能模块导入项目的几点说明

  1. 本模块基于 pkg.game.server
  2. 本模块依赖游戏服务器的网络服务和http服务,必须在游戏服务器的网络服务和http服务就位后才能进行加载
  3. 需要调用本模块的setup方法进行初始化
  4. 本模块提供一些预置的脚本功能和游戏指令等,也可以通过包含本模块提供的组件进行扩展 其它说明:
  5. cmds/refresh_social_token.gs - 刷新游戏客户端用于登录社交服的token
  6. cmds/take_mail_gifts.gs - 领取邮件附件奖励的指令
  7. http_cmds/auth_social_account.gs - 游戏服务器做为社交服的登录验证代理时提供的http指令(验证游戏服提供的登录社交服的token)
  8. scripts/chat_scripts.gs - 预置的几个聊天相关的功能函数的集合
  9. scripts/mail_scripts.gs - 预置的几个邮件相关的功能函数的集合
  10. 可以通过game_social.dump_scripts()输出所有可用的功能脚本(通过game_social.eval调用)
  11. 可以通过包含FUserSocial组件,开启社交服用户创建、验证等功能
  12. 可以通过包含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");
}