Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        /// <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;
            }
        }