コード例 #1
0
    //直接资源文件夹获取
    public LuaTable LoadScriptBehaviourFromStartup(string resourcePath)
    {
        //UnityEngine.Object resourceObject = ResourceLoader.LoadFromResources(resourcePath);
        //GameObject gameObject = GameObject.Instantiate(resourceObject) as GameObject;
        //ScriptBehaviour behaviour = GameObjectUtility.GetIfNotAdd<ScriptBehaviour>(gameObject);
        ScriptBehaviour behaviour = LoadScriptBehaviourFromStartup <ScriptBehaviour>(resourcePath);

        return(behaviour.LuaTable);
    }
コード例 #2
0
    //用来给LUA绑定, 直接返回table
    public LuaTable WrapperWindowControl(GameObject gameObject, string scriptName = null)
    {
        if (gameObject == null)
        {
            FastLuaUtility.Traceback();
        }
        ScriptBehaviour windowControl = WrapperScriptBehaviour <ScriptBehaviour>(gameObject, null, scriptName);

        return(windowControl.LuaTable);
    }
コード例 #3
0
    //装载资源并加载脚本
    public LuaTable LoadScriptBehaviourFromResource(string resourceName)
    {
        ScriptBehaviour scriptBehaviour = LoadScriptBehaviourFromResource <ScriptBehaviour>(resourceName);
        LuaTable        scriptLua       = scriptBehaviour.LuaTable;

        if (scriptLua == null)
        {
            Debug.LogError("resource error : " + resourceName);
            FastLuaUtility.Traceback();
        }
        return(scriptLua);
    }
コード例 #4
0
        /// <summary>
        /// 供宿主程序创建面板后调用的回调
        /// </summary>
        /// <param name="rGo">回传的面板对象</param>
        protected virtual void OnCreated(GameObject rGo)
        {
            WaitingLayer.Hide();
            gameObject = rGo;
            transform  = rGo.GetComponent <Transform>();
            behaviour  = rGo.GetComponent <ScriptBehaviour>();

            var rPanel = Global.PanelManager.PanelCurrent;

            if (gameObject.name.Contains(rPanel.PanelName))
            {
                rPanel.IsCreated = true;
                Debug.Log("[script match complete]:" + gameObject.name);
            }
            else
            {
                Debug.Log("[script match failed]:" + gameObject.name);
            }
        }