-
Notifications
You must be signed in to change notification settings - Fork 0
/
DevLog.txt
75 lines (63 loc) · 3.94 KB
/
DevLog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
开发日志(THREE KINGDOMS CARD GAME :REMAKE)--使用KSFramework+UGUI
6.3
modify:
修改了UIController的bug,并使之直接接收transform忽略uri直接取当前trans的Component(方便开发时根据层级依次取的组件的引用)
抛弃框架自带的extend,自定义class实现,以支持更多的面向对象特性(super),同时修改了KEngine->UI->Audo Make UI LUA Scripts中默认生成的代码,添加ctor方法以便初始化自定义数据
添加全局表sun
question remain:UIOutLet在添加对应需要自动取得引用的组件后,运行时未遍历到先前添加的outletinfo,修改样例原有的也没有,但是查看序列化数据确实已修改成功,很奇怪。
对于UI拖拽,点击等事件(OnPointerEnter/Click等)的响应,目前写在CS上才比较方便,考虑添加Lua端的支持
6.4
发现昨天UI的问题是其实改动的prefab都没有反映到游戏上。经过一番查找,发现默认加载的是Product下的prefab(build后的资源),因此它的流程是新建一个Scene来单独制作一个UI,然后再从Scene中导出UI成Prefab到BundleResource和StAs下,随后使用命令或自己生成Lua脚本。
UI加载模块的代码还需要再仔细看一下。。
为生成Lua脚本搞了个Ctrl+Alt+L快捷键(有必要么,,)。
还有个比较重要的Excel配置需要再看一下。
6.5 周三
KEngine下AppConfig中IsEditorLoadAsset改为1,再Editor下不再通过ab方式加载资源,省去反复build浪费的事件。
注释了KEngine下Logger InitLogUtility方法,这个方法似乎要求开启游戏时必须开着console窗口,导致不开console启动游戏报错,更糟糕的是Build完的exe都被这整的开不起来。。不过这确实#if UNITY_EDITOR了。比较奇怪。反正这函数就用来 双击console跳到对应lua行,没啥用。
然后KSFramework这个excel的工作方式居然是生成了C#-Lua的绑定代码,导致没法热更新新的配置表,不是很实用。考虑只用这个模式做核心模块,后续的配置就还是采用excel2lua,lua直读的形式吧。。
关于图集的使用,看了下2017后引擎自带的SpriteAtlas类型资源,尝试用用这个做图集,(或许)可以省去TexturePacker的苦恼。
尝试了以下不重新Build的更新,运行时必备Appname_Data,KSFramework.ext UnityPlayer.dll 以及 Mono,开发主功能后完成后通过更新Appname_Data内StreamAssets内资源(Bundle资源/lua代码/表配置)可以完成大部分功能热更与bug修复。
把Game.cs的初始化除到了Init.lua作为游戏主逻辑的入口,尽量把逻辑写在lua上方便改动。
还需要考虑支持触控支持。。
明(后)天重点搞下excel2lua的事,然后应该可以开始正式Remake了。
6.9
搬家终于搬完了、。
今天决定了使用spritepacker作为图集方案。貌似使用这个方案,最好不要把来自同一个图集的图打到不同bundle,不然会造成合图在各个bundle中的冗余。
UGUI还不太熟悉。。。同一个canvas下的组件层级居然是根据hireachy层级来决定的。。。
折腾了一下lua coroutine,lua原生的协程感觉不方便做计时之类的,还是调用u3d的协程更舒服些吧。
6.10
Xlua好像没有类似ToLua的UpdateBeat功能(反正没找到),自己加了个。
新增一些常用的handler安全封装,没有了ToLua的isnull方法不过好像可以用obj:Equals(nil)来判断
实现了一下Timer,毕竟计时器应该蛮常用的。
实现了类似NGUI UIEventLitener的类,方便快速统一添加UI事件响应
UGUI还是没有Tween系列组建,只能选择导入DoTween来做简单的动画了。
6.21
一摸就是10天哈哈哈哈哈、、、、
调试了多语言逻辑 允许启动设置不同语言
搞了一套简单的UI
新增批量设置图片参数 与 新增图片批量自动设置的 jio本
6.23
新增trace函数,新增print_r函数用于打印table
稍微写了几句初始化代码。。。
7.2
翻译函数封装了一下 原来的太难记了 而且多语言collect总是尝试获取来源然后打印“旧的”然后尝试复写又没有复写成功不知道啥情况。翻译能正常使用,先不管了。
新增了一些卡片的美术资源
新增人物卡片的配置表
着手准备做卡片预设叭。。。
7.7
新增了AssetsLoader模块
制作了简单的卡片样式 并测试了加载逻辑。
UGUI的Text很烂,感觉没有NGUI好用,抄了个ShrinkText的子类勉强着用吧。
7.8
新增事件收发机制 EventDispatcher/EventProxy 以对象为单位响应事件
新增几个Transform的Extension(以及绑定) 写的方便些
继续深化卡片base逻辑
7.9
这个xls配置方式虽然方便,但是太死板,生成的cs类甚至没有返回所有主键的方法,只有一个public count(这是默认id规律连续了吗...)
于是在git下了TableML工程重新编译了一个TableMLComplier,改了一下模板DefaultTemplate,新增一个返回Keys数组的方法。
同时新增泛型for ipairsArray方式方便遍历C#中的Array.
完成了一张武将卡的加载。
7.10
搞了一下UI适配,决定在battlescene中搞个节点用来放战场元素,暂且定为横屏适配。
7.13
制作了主战场左上角部分阶段轮换UI 以及阶段循环的逻辑。