进一步学习如何运用odin结合scriptObject产生配置数据的逻辑调用
Unity对话系统Odin+ScriptableObject存储方案(合P版完结)_哔哩哔哩_bilibili
大致流程如下:
1. 布置涉及组件, 比如对话框组件,包括各项子组件的引用;包含item组件,item响应鼠标点击事件;
2. 学习到屏幕闪烁,比如设置canvas的bg的color,协程起waitseconds,然后color还原;
3. odin的使用命名空间为
using Sirenix.OdinInspector;
[HorizontalGroup]标签,同名会在同一行
[HideLabel] 隐藏[LabelText] 内容或是默认的text
[PreviewField] 显示sprite的图片区域,数值为高度
4. 利用model命名的类,模块化scriptObject结构(scriptObject中使用model的类作为属性)
5. [ListDrawerSettings]对于list的设置,showindexlabels是否显示索引,addcopieslastelement是否每次复制最后一个元素
6. [OnValueChanged("函数名")] 当值改变触发对应函数, 主要用于用户选择model以后,把model中数据载入当前的显示标签便于查看
7. [Required(ErrorMessage="错误提示")] 使标签必填
8. 可尝试[MAXWidth],[LabelWidth]控制label宽度
9. [MultiLineProperty(2)] Odin的多行方式,[MultiLine(4)]为unity自带
10. [MenuItem("Tools/检测对话数据配置")], 可对应在unity编辑器点击该menu项执行对应函数(一定静态方法)
11. Resources.LoadAll<DialogConf>("Conf"); 在Resources的子目录Conf下,加载所有的DialogConf类型的assets,以DialogConf的数组返回
通过遍历数组中的项,可检查哪些项为空,并进行对应的打印
Debug.LogError
执行完check后,一般打印Debug.Log("检测完毕")通知检查完成
12. 在awake利用loadAll加载一次数据,存在内存缓存, 后用于ui组件的赋值显示与事件调用
GameFramework框架使用学习
由于大佬提到主要使用entity以及资源,所以优先对这2个模块进行学习
GameFramework Entity讲解_哔哩哔哩_bilibili
学习2:
GameFramework_StarForce系列教程_哔哩哔哩_bilibili
通过该教程学习,明确前面的config目录为gameframework使用必须目录
build目录为项目editor中写的渠道配置项
程序主入口是通过gameframework的procedure作为入口调度