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
属性计算器 一般的,本对象不应该被继承! 每个属性计算器对应一个特定的计算类型 并且包含:
- 固定的属性列表
- 属性加成的收集方式
- 属性最终值的计算方式 属性计算过程:
- 收集各种来源的属性加成
- 根据属性加成计算最终值
函数原型 | 函数作用 |
---|---|
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
一个通用的基础数据组件
持有的数据分为两类:常驻数据和临时数据
常驻数据的操作接口比临时数据的操作接口丰富
接口函数的几点说明:
-
带有"raw_"开头的方法:直接对元数据(_dbase/_temp_dbase)进行操作
-
带有"temp"的方法:对临时数据进行操作
-
不带有"temp"的方法:对常驻数据进行操作
从操作上来分,大概如下:
1.对元数据(_dbase/_temp_dbase)进行增删查改操作的方法
2.对数据进行增啥查改操作的方法
3.对数据指定路径进行增删查改的方法
4.对数据指定词典/数组进行增删查改的方法