--初始化完成,发送链接服务器信息--
function Game.OnInitOK()
--注册LuaView--
this.InitViewPanels();
--加载View对应得Control
CtrlManager.Init();
--创建第一个窗口,初始UI
local ctrl = CtrlManager.GetCtrl(CtrlNames.Prompt);
if ctrl ~= nil and AppConst.ExampleMode == 1 then
ctrl:Awake();
end
logWarn('LuaFramework InitOK--->>>');
end
--加载所有窗口文件
function Game.InitViewPanels()
for i = 1, #PanelNames do
require ("View/"..tostring(PanelNames[i]))
end
end
CtrlManager.lua文件
require "Common/define"
require "Controller/PromptCtrl"
require "Controller/MessageCtrl"
CtrlManager = {};
local this = CtrlManager;
local ctrlList = {}; --控制器列表--
function CtrlManager.Init()
logWarn("CtrlManager.Init----->>>");
ctrlList[CtrlNames.Prompt] = PromptCtrl.New();
ctrlList[CtrlNames.Message] = MessageCtrl.New();
return this;
end
--添加控制器--
function CtrlManager.AddCtrl(ctrlName, ctrlObj)
ctrlList[ctrlName] = ctrlObj;
end
--获取控制器--
function CtrlManager.GetCtrl(ctrlName)
return ctrlList[ctrlName];
end
--移除控制器--
function CtrlManager.RemoveCtrl(ctrlName)
ctrlList[ctrlName] = nil;
end
--关闭控制器--
function CtrlManager.Close()
logWarn('CtrlManager.Close---->>>');
end
MessageCtrl = {};
local this = MessageCtrl;
local message;
local transform;
local gameObject;
--构建函数--
function MessageCtrl.New()
logWarn("MessageCtrl.New--->>");
return this;
end
function MessageCtrl.Awake()
logWarn("MessageCtrl.Awake--->>");
panelMgr:CreatePanel('Message', this.OnCreate);
end
--启动事件--
function MessageCtrl.OnCreate(obj)
gameObject = obj;
message = gameObject:GetComponent('LuaBehaviour');
message:AddClick(MessagePanel.btnClose, this.OnClick);
logWarn("Start lua--->>"..gameObject.name);
end
--单击事件--
function MessageCtrl.OnClick(go)
destroy(gameObject);
end
--关闭事件--
function MessageCtrl.Close()
panelMgr:ClosePanel(CtrlNames.Message);
end
MessagePanel.lua文件,绑定Panel下组件
local transform;
local gameObject;
MessagePanel = {};
local this = MessagePanel;
--启动事件--
function MessagePanel.Awake(obj)
gameObject = obj;
transform = obj.transform;
this.InitPanel();
logWarn("Awake lua--->>"..gameObject.name);
end
--初始化面板--
function MessagePanel.InitPanel()
this.btnClose = transform:FindChild("Button").gameObject;
end
--单击事件--
function MessagePanel.OnDestroy()
logWarn("OnDestroy---->>>");
end