protected override void OnInit(object userData) { base.OnInit(userData); luaEnv = LuaManager.luaEnv; //此处要从LuaManager上获取 全局只有一个 if (luaEnv == null) { return; } string prefabName = name; if (prefabName.Contains("(Clone)")) { prefabName = prefabName.Split(new string[] { "(Clone)" }, StringSplitOptions.RemoveEmptyEntries)[0] + "View"; } //根据这个ui面板的名字监听 注意预制件上的名称要和lua脚本名称一致 onInit = luaEnv.Global.GetInPath <OnInitHandler>(prefabName + ".OnInit"); onOnpe = luaEnv.Global.GetInPath <OnOpenHandler>(prefabName + ".OnOpen"); onClose = luaEnv.Global.GetInPath <OnCloseHandler>(prefabName + ".OnClose"); onBeforDestry = luaEnv.Global.GetInPath <OnBeforDestryHandler>(prefabName + ".OnBeforDestry"); if (onInit != null) { onInit(transform, userData); } }
/// <summary> /// 删除 /// </summary> protected override void OnBeforDestry() { base.OnBeforDestry(); if (onBeforDestry != null) { onBeforDestry(); } onInit = null; onOnpe = null; onClose = null; onBeforDestry = null; //卸载图片资源 int len = m_LuaComs.Length; for (int i = 0; i < len; i++) { LuaCom com = m_LuaComs[i]; com.Trans = null; com = null; } }