StrayFog开源Unity3d框架讲解(八)XLS、SQLite菜单

StrayFog传送门

在Unity3d项目中,本地数据存储是很重要的一个部分,即要存储方便,又要存储快速,在经历了各种方式的试验与项目验证后,个人认为本地数据存储使用SQLite是比较好的选择,为了便于开发,我这里就将数据存储分为XLS和SQLite两种方式,XLS是在编辑器运行时做为快速调试数据用的,一般是策划在XLS填好数据,然后在发布后自动转换到SQLite里使用。

关于数据模式切换的可以查看:StrayFog开源框架讲解(三 )Resources Loading Mode 、DataMode、Develop菜单

【XLS】XLS表数据:项目数据源文件,是由策划来控制和修改的数据文件,例如物品表、技能表等。项目内的XLS数据表是按文件夹分为不同的数据库。

TableColumnMaping.xlsx是标准参考文件,里面包含了常用的数据类型、一二维数组的标准设置格式。

表结构主要分为四部分:

第一行:表字段也是映射为class类的属性字段,只能是英文字母组成并且不能为C#或Unity3D的关键字或保留关键字。

第二行:字段类型,目前支持常用C#的bool、string和Unity3d的Vector2/3/4等常用类型,[]和[][]分别代表一维和二维数组。

第三行:字段的描述说明。

第四行:从第四行开始,是数据表的真实数据起始行。

[Build Xls Schema To Sqlite]将XLS表结构生成到SQLite数据库:执行菜单将会把XlsSchemaToSqlite所指定的文件夹中的XLS表,按照以文件夹为SQLite数据库名称,以XLS表名称为数据库Table名称,生成对应的数据库和数据表。

【Load XLS】执行此选项后,可以对每一个XLS表进行主键、行列式模式等进行设置。

XLS可以设定为两种模式:普通模式、行列式模式。

普通模式:一般意义上的表,每一行为一条数据,每一列为一个类属性。参考:TableColumnMaping.xlsx。

行列式:每一行数据指定列为类属性,另一指定列为值属性。参考:GameSetting.xlsx,GameLanguage.xlsx。

【Export Xls Schema To Sqlite】执行此选项后,会自动生成XLS表对应的数据库和数据实例类,生成的实例类按设定模式分为:XLS_Config_Table_表名的普通表,XLS_Config_Determinant_表名的行列式表。

例如:

TableColumnMaping.xlsx表对应XLS_Config_Table_TableColumnMaping.cs类,XLS_Config.db数据库

GameLanguage.xlsx表对应XLS_Config_Determinant_Table_GameSetting.cs类,XLS_Config.db数据库。

示例参考:ExampleSQLite、ExampleXLS场景。

【SQLite】SQLite数据库:SQLite数据库是根据XLS表结构自动生成的对应的SQLite数据库,其表名称、字段、类型与XLS表对应。

注意:SQLite数据库主要是在发布后使用,所以发布后的程序使用的是SQLite数据库中的数据,而不是XLS中的数据。

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值