这个工具包有以下功能:
1.提供一个资源打包工具。因为LuaFramework默认对例子中的资源进行打包,不具有通用性,因此要有这样一个工具,详细的见系列二。
2.提供一个工具简化编写lua文件的步骤。按照LuaFramework的规定,如果要添加一个Panel,那么就要编写对应的Controller、View,以及修改三个框架自带的lua文件,比较繁琐,因此要有这样一个工具提高效率。
3.提供一个小型的UI框架。这个框架是针对热更新而设计的,提供c#和lua的实现,规范c#代码的编写。优点是对于一个Panel,其c#的实现与其lua的实现有比较多的相似,可以减小二次开发的时间,例如下面的:
using UnityEngine; using System.Collections; public class MainPanel : UIPanelBase { public UILabel hpLabel; public UILabel mpLabel; protected override void Awake() { base.Awake(); UIPanelManager.Instance.CreatePanel(UIPanelName.MainPanel, OnCreate); } protected override void OnCreate(GameObject go) { base.OnCreate(go); hpLabel = transform.FindChild("HpLabel").GetComponent<UILabel>(); mpLabel = transform.FindChild("MpLabel").GetComponent<UILabel>(); UIEventListener.Get(transform.FindChild("Button1").gameObject).onClick = delegate(GameObject a) { UIPanelManager.Instance.GetPanel(UIPanelName.FirstPanel).Open(); }; UIEventListener.Get(transform.FindChild("Button2").gameObject).onClick = delegate(GameObject a) { UIPanelManager.Instance.GetPanel(UIPanelName.ThirdPanel).Open(); }; } }
require "Common/define" require "Logic/UIPanelBase" MainCtrl = UIPanelBase:New(); local gameObject; local transform; local tweener; function MainCtrl.New() return MainCtrl; end function MainCtrl.Awake() panelMgr:CreatePanel('Main', MainCtrl.OnCreate); end function MainCtrl.OnCreate(obj) gameObject = obj; transform = obj.transform; MainCtrl.gameObject = obj; MainCtrl.transform = obj.transform; MainCtrl.hpLabel = transform:FindChild("HpLabel"):GetComponent('UILabel'); MainCtrl.mpLabel = transform:FindChild("MpLabel"):GetComponent('UILabel'); UIEventListener.Get(transform:FindChild("Button1").gameObject).onClick = MainCtrl.OpenFirstPanel; UIEventListener.Get(transform:FindChild("Button2").gameObject).onClick = MainCtrl.OpenThirdPanel; MainCtrl:Open(); end function MainCtrl.OpenFirstPanel() CtrlManager.GetCtrl(CtrlNames.First):Open(); end function MainCtrl.OpenThirdPanel() CtrlManager.GetCtrl(CtrlNames.Third):Open(); end
你也许会觉得,上面的不同之处挺多的,但是不要忘了我们可以创建lua模板文件,这样一来,当实现了c#版本后,就可以较快地实现lua版本。
扩展包的截图:
下载地址:
http://pan.baidu.com/s/1dEZhqpV
时间: 2024-10-26 23:06:16