麦田物语学习笔记(1)编辑器扩展
花了两天时间学习了前20节。
1、2d素材的摆放
2、UIToolkit
在这个基础上我接入了XLua,并用lua实现了前面的一些脚本。并对LuaBehavior进行了一些改造。
1、允许LuaBehavior之间访问对方表中的属性。开放了这个属性后,LuaBehavior就能像monoBehavior一样,相互访问属性。
2、扩展了LuaBehavior的生命周期。额外新增了fixedupdate和lateupdate。为什么使用这两个东西呢。因为涉及到了刚体的移动。与之相应的,对LuaBehavior进行了重构。
创建了一个BaseLuaBehavior作为抽象类,负责Lua脚本的挂件。LuaBehavior派生于BaseLuaBehavior。
由于游戏中存在大量的碰撞。所以LuaBehavior也派生了两个类。LuaPhysicsBehavior和Lua2DPhysicsBehavior。分别具备了3d物理和2d物理的碰撞事件。
3、在mono脚本中大量使用gameobject和transform这两个对象。所以LuaBehavior也将这两个对象注入到了Lua表中,避免重复的添加操作。
其次,由于目前只掌握了Gameframework框架,准备将Gameframework迁入该项目中。GF的Procedure、UI、Entity都需要使用XLua扩展。较为麻烦。可能会用lua重新写一个。
这个时候,比较尴尬的是,整个GF框架能够真正使用到的部分可能只有资源模块了。Lua脚本中,可以使用package作为全局单例表。香是真的香。再用class实现以下面向对象,再调用C#函数,基本上就没有特别需要的东西了。