跳到主要内容

game.common

简介

基础模块入口

组件接口

attrib.gs

游戏属性计算器

函数原型函数作用
void create_attrib_calculator(string calculator_id, map attrib_dict, domain d = nil)初始化属性配置
void register_collect_func(string calculator_id, string source, function collect_func)注册属性收集函数
void register_calc_func(string calculator_id, function calc_func)注册属性计算函数
object new_calculator(string id, domain d)新建一个属性计算器
void free_calculator(string id)销毁一个属性计算器
void free_all_calculators()销毁所有属性计算器
object get_calculator(string id)根据id查找属性计算器
mixed collect_src_attribs(string calculator_id, string source)通过指定属性计算器获得指定来源的属性加成
map collect_all_src_attribs(string calculator_id)通过指定属性计算器获得其所有来源的属性加成表
map calc(string calculator_id, map all_src_attribs)通过指定的属性计算器获得最终属性值
void dump()调试接口,输出本模块调试信息

FAttribCalc.gs

对象属性计算组件

函数原型函数作用
void create_attrib_calculator(map attrib_dict)初始化属性配置
void register_collect_func(string source, function collect_func)注册属性收集函数
void register_calc_func(function calc_func)注册属性计算函数
void calc_attribs()计算总属性
void calc_attrib(string source)只刷新部分源的属性来计算总属性
array query_attribs_change()获取属性变化值
void clear_attribs_change()清除属性变化值
mixed query_attrib(string attrib)获取特定属性的属性最终值
map query_attribs()获取所有的属性最终值
map query_all_src_attribs()*
mixed query_src_attribs(string source)获取单个源的属性加成值

AttribCalculator.gs

属性计算器 一般的,本对象不应该被继承! 每个属性计算器对应一个特定的计算类型 并且包含:

  1. 固定的属性列表
  2. 属性加成的收集方式
  3. 属性最终值的计算方式 属性计算过程:
  4. 收集各种来源的属性加成
  5. 根据属性加成计算最终值
函数原型函数作用
void set_id(string id)设置id
string get_id()获取id
void register_attrib(string attrib_id, map attrib_data)登记属性以及属性的数值类型
void batch_register_attrib(map batch_attrib_dict)批量登记属性以及属性的数值类型
void set_collect_func(string source, function func)设置属性加成的采集来源以及采集函数
void batch_set_collect_func(map batch_func_dict)批量设置属性加成的采集来源以及采集函数
void set_calc_func(function func)设置最终属性值表的计算函数
function get_calc_func()返回已设置的最终属性值表的计算函数
mixed collect_src_attribs(string source)采集指定来源的属性加成值
map collect_all_src_attribs()获得所有采集来源的属性加成值
map calc(map all_src_attribs)通过所有采集来源的属性加成值计算属性最终值
map calc_directly()先采集所有来源的属性加成值再计算属性最终值

FDbase.gs

一个通用的基础数据组件

持有的数据分为两类:常驻数据和临时数据

常驻数据的操作接口比临时数据的操作接口丰富

接口函数的几点说明:

  1. 带有"raw_"开头的方法:直接对元数据(_dbase/_temp_dbase)进行操作

  2. 带有"temp"的方法:对临时数据进行操作

  3. 不带有"temp"的方法:对常驻数据进行操作

从操作上来分,大概如下:

1.对元数据(_dbase/_temp_dbase)进行增删查改操作的方法

2.对数据进行增啥查改操作的方法

3.对数据指定路径进行增删查改的方法

4.对数据指定词典/数组进行增删查改的方法

函数原型函数作用
void set_dirty(bool dirty)常驻数据:设置常驻数据变更标记
bool is_dirty()常驻数据:常驻数据是否变更
map query_entire_dbase()常驻数据:返回整个数据值
void replace_entire_dbase(map new_dbase)常驻数据:用新的数据替换整个常驻数据
void absorb(map val)常驻数据:吸收一个map值
bool raw_contains_key(string key)常驻数据:是否含有指定的key
void raw_set(string key, mixed val)常驻数据:设置key值
mixed raw_query(string key)常驻数据:获取key值
mixed raw_query_with_create(string key, mixed default_val)常驻数据:通过raw_query方法获取key值,如果key值为nil则raw_set默认值并返回最新的key值
void raw_delete(string key)常驻数据:删除key
mixed raw_add(string key, mixed val)常驻数据:为当前值加上一个指定的值,如果key的当前值为nil时raw_set为指定值
mixed query_with_create(string key, mixed default_val)常驻数据:通过query方法获取key值,如果key值为nil则set为默认值并返回最新的key值
mixed add(string key, mixed val)常驻数据:为key的当前值加上一个指定的值,如果key的当前值为nil时set为指定值
mixed dict_query(string d, mixed key)常驻数据词典类型的键值:获取key值
mixed list_query(string l, int pos)常驻数据列表类型的键值:获取指定位置的值
mixed query_from_map(string path, mixed key)常驻数据中path映射的map:获取key值
void set_to_map(string path, mixed key, mixed val)常驻数据中path映射的map:设置key值
void delete_from_map(string path, mixed key)常驻数据中path映射的map:删除key
void set_by_path(string path, mixed val)常驻数据中基于路径path的操作:设置路径的值
void delete_by_path(string path)常驻数据中基于路径path的操作:删除路径
mixed add_by_path(string path, mixed val)常驻数据中基于路径path的操作:为路径的当前值增加一个指定的值,如果路径的当前值为nil时set_by_path为指定值
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
map multi_query(array key_list)常驻数据:获取一组key值
void multi_set(string key0, mixed value0, ...)常驻数据:设置一批key值
void multi_delete(string key0, ...)常驻数据:删除一批字段
void multi_set_by_path(string path0, mixed value0, ...)常驻数据中基于路径path的操作:设置一批路径的值
void multi_delete_by_path(string path0, ...)常驻数据中基于路径path的操作:删除一批路径
map multi_query_temp(array key_list)临时数据:获取一组key值
void multi_set_temp(string key0, mixed value0, ...)临时数据:设置一批key值
void multi_delete_temp(string key0, ...)临时数据:删除一批字段
void multi_set_temp_by_path(string path0, mixed value0, ...)临时数据中基于路径path的操作:设置一批路径的值
void multi_delete_temp_by_path(string path0, ...)临时数据中基于路径path的操作:删除一批路径

FEntityBase.gs

对象基类,FDbase、FOwnerShip、rid/owner_rid、name

函数原型函数作用
string get_rid()获取RID
void set_rid(string rid)设置RID
string get_name()获取名称
void set_name(string name)设置名称
string get_class_id()获取配置ID
mixed FDbase.query(string 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()调试方法,获取所有注册的时间

FService.gs

服务组件

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

EntityFactory.gs

实体工厂

函数原型函数作用
object create_entity_internal(object ori_ob, map param, domain d = nil, function create_callback = nil)根据配置创建实体对象

MsgD.gs

实体工厂

函数原型函数作用
object impl()获取实例
void setup(object impl_ob)设置实体管理器

MsgImplD.gs

消息实例

函数原型函数作用
array get_cmd_info(string cmd)获取消息函数
void register_cmd(string cmd, function callback = nil, string type = "normal")消息注册
void receive_request(object conn, string cmd, int cookie, array cmd_args)request消息入口
void receive_msg(object conn, string cmd, array cmd_args)普通消息入口

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)检测服务器版本

object_function.gs

对象方法

函数原型函数作用
bool object.is_kind_of(object ob, string kind_name)判断一个对象实例是否为某种对象(等价于object.has_component)