bloom.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.对数据指定词典/数组进行增删查改的方法
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
服务组件
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
消息实例
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) |