跳到主要内容

entity_base

简介

提供服务端/客户端通用的实体entity配置加载功能以及一些扩展接口

说明

entity_base里不应该存放任何成员变量,以避免同时使用entity_base对象和通过component entity_base时导致的成员变量数据存在两份的问题

组件接口

EntityBaseCommon.gs

存放一些公共数据,用于解决同时直接component entity_base和直接使用entity_base导致的公共数据存在两份的问题

函数原型函数作用
void set_impl_ob(object impl_ob)设置实际执行功能的对象
object get_impl_ob()获取当前实际执行功能的对象
void append_entity_xlsx(array entity_xlsx_list, bool refresh_at_once = false)加载额外的类似entity.xlsx的实体集合配置表
void append_entity_container_xlsx(array entity_container_xlsx_list, bool refresh_at_once = false)加载额外的类似entity_container.xlsx的实体初始容器设置配置表
void on_entity_reload(string entity_type, function func, string name = nil)响应指定类型的实体信息变更事件

EntityBaseDefaultImpl.gs

默认实现 - 预加载文件到内存

函数原型函数作用
void dump()调试接口,输出所有实体配置信息
void reload_all()重新加载所有设置
void reload_dynamic()重新动态部分的设置
map get_entity_container_cfg(string type)获取某类entity的初始容器配置信息
map get_entity_type_info(string type)获取指定类型entity的所有配置信息
map get_entity_cfg(string type)获取指定类型entity的类型配置信息
map get_entity_info(mixed class_id_or_alias)获取指定class_id或者alias的entity配置信息
map get_entity_info_by_class_id(int class_id)获取指定class_id的entity配置信息
map get_entity_info_by_alias(string alias)获取指定alias的entity配置信息
int get_class_id(mixed class_id_or_alias)获取指定class_id/alias对应的实体class_id
mixed get_entity_val(mixed class_id_or_alias, string key)获取指定实体配置信息中的对应项目配置值
map get_entity_relative_field_info(string type, string field)获取指定类型实体的指定字段的关联查询信息
map get_entity_relative_info(string xlsx_file, array relative_values)获取指定关联查询的配置表中的实体信息
void iterate_entity_type(function func)遍历实体类型配置
void iterate_class_id(function func)遍历所有实体配置
void iterate_class_id_by_type(string type, function func)遍历指定类别的所有实体配置
mixed find_class_id(function func)查找满足过滤条件的第一个实体配置class id
array find_class_id_list(function func)查找满足过滤条件的所有实体配置class id
mixed find_class_id_by_type(string type, function func = nil)查找指定实体类别中满足过滤条件的第一个实体配置class id
array find_class_id_list_by_type(string type, function func = nil)查找指定实体类别中满足过滤条件的所有实体配置class id
void build_entity_unique_index(string index_name, array key_list)建立唯一索引
void build_entity_normal_index(string index_name, array key_list)建立普通索引
mixed find_class_id_by_index(string index_name, ...)通过指定的索引名称查找实体配置class id

entity_base.gs

函数原型函数作用
void dump()调试接口,输出所有实体配置信息
void set_impl_ob(object impl_ob)设置实际执行功能的对象
object get_impl_ob()获取当前实际执行功能的对象
void reload_xlsx()重新加载xlsx配置
void reload_all()重新加载所有设置
void reload_dynamic()重新加载动态部分设置
void on_entity_reload(string entity_type, function func, string name = nil)响应指定类型的实体信息变更事件
void append_entity_xlsx(array entity_xlsx_list, bool refresh_at_once = false)加载额外的类似entity.xlsx的实体集合配置表
void append_entity_container_xlsx(array entity_container_xlsx_list, bool refresh_at_once = false)加载额外的类似entity_container.xlsx的实体初始容器设置配置表
void clean_up_all_dynamic_entity(bool refresh_at_once = false)清除所有动态生成的entity类型和模板配置
void append_dynamic_entity_type(string entity_type, map type_info, bool refresh_at_once = false)增加动态生成的entity类型配置
void append_dynamic_entity_info(string entity_type, map entity_info, bool refresh_at_once = false)增加动态生成的entity配置信息
map get_entity_container_cfg(string type)获取某类entity的初始容器配置信息
map get_entity_type_info(string type)获取指定类型entity的所有配置信息
map get_entity_cfg(string type)获取指定类型entity的类型配置信息
map get_entity_info(mixed class_id_or_alias)获取指定class_id或者alias的entity配置信息
map get_entity_info_by_class_id(int class_id)获取指定class_id的entity配置信息
map get_entity_info_by_alias(string alias)获取指定alias的entity配置信息
int get_class_id(mixed class_id_or_alias)获取指定class_id/alias对应的实体class_id
mixed get_entity_val(mixed class_id_or_alias, string key)获取指定实体配置信息中的对应项目配置值
map get_entity_relative_field_info(string type, string field)获取指定类型实体的指定字段的关联查询信息
map get_entity_relative_info(string xlsx_file, array relative_values)获取指定关联查询的配置表中的实体信息
void iterate_entity_type(function func)遍历实体类型配置
void iterate_class_id(function func)遍历所有实体配置
void iterate_class_id_by_type(string type, function func)遍历指定类别的所有实体配置
mixed find_class_id(function func)查找满足过滤条件的第一个实体配置class id
array find_class_id_list(function func)查找满足过滤条件的所有实体配置class id
mixed find_class_id_by_type(string type, function func)查找指定实体类别中满足过滤条件的第一个实体配置class id
array find_class_id_list_by_type(string type, function func = nil)查找指定实体类别中满足过滤条件的所有实体配置class id
void build_entity_unique_index(string index_name, array key_list)建立唯一索引
void build_entity_normal_index(string index_name, array key_list)建立普通索引
mixed find_class_id_by_index(string index_name, ...)通过指定的索引名称查找实体配置class id

FRelativeQuery.gs

函数原型函数作用
mixed relative_query(map field_dict, string key, mixed base_query_value)获取某个指定关联字段的值

样例

public void pkg_sample()
{
write("sample");
}