切换场景后加载面板

切换场景后加载面板

  导入using UnityEngine.SceneManagement;

   LuaFunction level;

 void Awake() {
            loader = new LuaLoader();
            lua = new LuaState();
            this.OpenLibs();
            lua.LuaSetTop(0);
            LuaBinder.Bind(lua);
            DelegateFactory.Init();
            LuaCoroutine.Register(lua, this);
            SceneManager.sceneLoaded += SceneManager_sceneLoaded;
        }
        private void SceneManager_sceneLoaded(Scene arg0, LoadSceneMode arg1)
        {
            if (level != null)
            {
                int levels = arg0.buildIndex;
                level.BeginPCall();
                level.Push(levels);
                level.PCall();
                level.EndPCall();
            }
            if (lua != null)
            {
                lua.RefreshDelegateMap();
            }
        }
 void StartMain() {
//执行Main.lua
            lua.DoFile("Main.lua");
//执行lua中的OnLevelWasLoaded
            level = lua.GetFunction("OnLevelWasLoaded");
        }


lua中

--场景切换通知

function OnLevelWasLoaded(level)
    if level ==1 then
  panelMgr:CreatePanel('Select', SelectCtrl.OnCreate);
 end
 
 collectgarbage("collect")
 Time.timeSinceLevelLoad = 0
end

Canvas标签改为GuiCamere