跳到主要内容

gamebase

简介

一个通用的游戏服基础模块

组件接口

FDbase.gs

数据字典

函数原型函数作用
void set_dirty(bool dirty)常驻数据:设置常驻数据变更标记
bool is_dirty()常驻数据:常驻数据是否变更
map query_entire_dbase()获取所有数据字典
void replace_entire_dbase(map new_dbase)替换整个数据字典
bool contains_key(string key)数据字典中是否包含这个key
void raw_set(string key, mixed val)给key设置val值,不保存
mixed raw_query(string key)仅查询key的val值
mixed query(string key)获取key的值,可以覆写
mixed query_with_create(string key, mixed default_val)获取key值,如果没有则创建一个
void set(string key, mixed val, bool is_force_sync)设置key的值
void dict_set(mixed d, mixed key, mixed val)设置某个字典中的key值
mixed dict_add(mixed d, string key, mixed val)新增某个字典中的key值
void dict_insert(mixed d, int pos, mixed val)插入某个数组pos位置下的值
void dict_push_back(mixed d, mixed val)在字典数组后面添加val值
void delete(string key)删除key值
void dict_delete(mixed d, mixed key)删除某个字典中的key
void dict_delete_at(mixed d, int pos)设置某个字典数组中的pos位置上的值
mixed list_query(string l, int pos)常驻数据列表类型的键值:获取指定位置的值
int list_delete(mixed d, mixed val)从数据字典数组中删除值
mixed query_from_map(string path, mixed key)从 path 映射的 map 中读取数据
void set_to_map(string path, mixed key, mixed val)设置新的键值对到 path 映射的 map 中
void delete_from_map(string path, mixed key)从 path 映射的 map 中删除数据
void set_by_path(string path, mixed val)通过path设置值
mixed query_by_path(string path)通过path查询值
void delete_by_path(string path)通过path删除值
mixed add(string key, mixed val)添加key的值
mixed add_by_path(string path, mixed val)通过path添加值
void absorb(map val)添加一个map字典
map multi_query(array paths)同时查询多个字段
void multi_set(string key0, mixed value0, ...)设置多组字段
void multi_set_by_path(string path0, mixed value0, ...)多重设置字段值
void multi_delete(string key0, ...)删除多个字段
void multi_delete_by_path(string path0, ...)多重删除字段
map query_entire_temp_dbase()临时数据:返回整个数据值
void replace_entire_temp_dbase(map new_temp_dbase)用新的数据替换整个临时数据
void absorb_temp(map val)临时数据:吸收一个map值
mixed query_temp_with_create(string key, mixed default_val)临时数据:通过query_temp方法获取key值,如果key值为nil则set_temp为默认值并返回最新的key值
void delete_temp(string key)临时数据(虚函数):删除key
mixed add_temp(string key, mixed val)临时数据:为key的当前值加上一个指定的值,如果key的当前值为nil时set_temp为指定值
bool raw_contains_temp_key(string key)临时数据:是否含有指定的key
mixed raw_query_temp(string key)临时数据:获得key值
mixed raw_query_temp_with_create(string key, mixed default_val)临时数据:通过raw_query_temp方法获取key值,如果key值为nil则raw_set_temp默认值并返回最新的key值
void raw_set_temp(string key, mixed val)临时数据:设置key值
void raw_delete_temp(string key)临时数据:删除key
mixed raw_add_temp(string key, mixed val)临时数据:为当前值加上一个指定的值,如果key的当前值为nil时raw_set_temp为指定值
mixed dict_query_temp(string d, mixed key)临时数据词典类型的键值(虚函数):获取key值
mixed list_query_temp(string l, int pos)临时数据列表类型的键值:获取指定位置的值
mixed query_temp_by_path(string path)临时数据中基于路径path的操作:获取路径的值
void set_temp_by_path(string path, mixed val)临时数据中基于路径path的操作:设置路径值
void delete_temp_by_path(string path)临时数据中基于路径path的操作:删除路径
mixed add_temp_by_path(string path, mixed val)临时数据中基于路径path的操作:为路径的当前值增加一个指定的值,如果路径的当前值为nil时set_temp_by_path为指定值
mixed query_temp_from_map(string path, mixed key)临时数据中path映射的map:获取key值
void set_temp_to_map(string path, mixed key, mixed val)临时数据中path映射的map:设置key值
void delete_temp_from_map(string path, mixed key)临时数据中path映射的map:删除key

FEventEmitter.gs

事件触发器

函数原型函数作用
void on(string event, function fn)关注指定事件
void on_raw(string event, function fn)关注指定事件,回调直接传array,不展开参数
void once(string event, function fn)关注一次指定事件(执行后删除)
void remove_event(string event)取消指定事件
void emit(string event, ...)触发事件
void emit_local(string event, ...)触发事件(local版,确定不跨域)
void remove_listener(string event, function fn)根据function移除指定的监听
void remove_listener_by_object(string event, object func_ob)根据function对应的object移除某个事件的监听
void remove_listeners_by_object(object func_ob)把指定对象注册过的所有事件监听删除(开销略大,慎用)
map debug_get_events()调试方法,获取所有注册的时间

FFields.gs

字段同步

函数原型函数作用
void set_field_sync(mixed field, bool is_sync)设置字段是否可以同步
void set_fields_sync(map fields)设置一组字段是否可以同步
bool is_fields_sync(mixed field)是否需要同步该字段
function get_field_update_func()获取字段更新方法
void set_field_update_func(function func)设置字段更新方法
mixed query(string key)查询接口覆写,可以查询配置数据
void set(string key, mixed val, bool is_force_sync)设置键值对,可以判断是否同步
void dict_set(mixed d, mixed key, mixed val)字典值设置
void delete(string key)删除字段
void dict_delete(mixed d, mixed key)删除字典字段
void field_update(string d, mixed key, mixed val)字段更新

FNode.gs

节点组件

函数原型函数作用
void set_capacity(int capacity)设置节点容量
int get_capacity()获取节点的容量
void set_node_name(string name)设置节点名称
string get_node_name()获得节点名称
bool has_child(object child)是否有某孩子节点
int find_child(object child)查找某孩子节点
int add_child(object child, string name)添加孩子节点
bool insert_child(object child, int index, string name)插入孩子节点
bool remove_child(object child)移除孩子节点
object remove_child_at(int index)通过索引位置移除孩子节点
void detach_from_parent()从父节点上detach下来
bool attach_to_parent(object parent, string name)附加到指定父亲节点上,有可能失败
bool set_child_name(object child, string name)设置某孩子节点名称
int child_count()获取孩子节点数量
void set_parent(object parent)设置父亲节点
object get_parent()获取父亲节点
object get_root_parent()获取根节点
bool is_root_node()是否是根节点
object get_root_node()获取本对象的最上层根节点
void set_root_node(object node)设置根节点
void set_root_node_recursively(object node)更新自己以及自己的子节点的root节点
object get_child(string name)获取某名称的孩子节点
object get_child_at(int index)通过索引获取孩子节点
array get_children()获取所有孩子节点
void iterate_children(function func)迭代所有子节点(迭代过程中不能改变子节点数量)
void iterate_dup_children(function func)迭代所有子节点的副本(迭代过程中可改变子节点数量)
void invoke_recursively_post(function func)遍历对所有子节点递归调用(后序)
void invoke_recursively_pre(function func)遍历对所有子节点递归调用(前序)
void destruct_children()销毁所有子对象
array filter_children(function fn)过滤子对象

FService.gs

服务组件

函数原型函数作用
void set_option(map option)设置选项
void check_queue()队列的自检
mixed process_sync(function func, float timeout, bool timeout_error)同步处理方法
void process_async(function func, function callback)异步处理

FieldsD.gs

字段管理

函数原型函数作用
map get_fields()获取所有字段信息
void set_field_sync(string type, mixed field, bool is_sync)设置字段是否可以同步
void set_fields_sync(string type, map fields_list)设置一组字段是否可以同步
bool is_fields_sync(string type, mixed field)是否需要同步该字段

LogD.gs

日志模块

函数原型函数作用
void log(string rid, string op, mixed v1, mixed v2, mixed v3, mixed v4, mixed misc)异步(顺序)记录日志

RidD.gs

管理所有拥有Rid的对象实例,并提供全局注册查找的API

函数原型函数作用
string new_rid(string prefix)创建新的rid
void add_object(object ob)增加对象
void remove_object(object ob)移除对象
object find_object_by_rid(string rid)根据rid查找对象
map get_all_objects()获取所有对象

VersionD.gs

版本校验

函数原型函数作用
bool check_version(string client_version)检测服务器版本