public class LuaManager : Manager
private LuaFunction LevelWasLoaded;
// Use this for initialization
void Awake()
{
loader = new LuaLoader();
lua = new LuaState();
this.OpenLibs();
lua.LuaSetTop(0);
LuaBinder.Bind(lua);
DelegateFactory.Init();
LuaCoroutine.Register(lua, this);
SceneManager.sceneLoaded += OnSceneLoaded;
}
void StartMain()
{
lua.DoFile("Main.lua");
//LuaFunction main = lua.GetFunction("Main");
//main.Call();
//main.Dispose();
//main = null;
LevelWasLoaded = lua.GetFunction("OnLevelWasLoaded");
}
private void OnSceneLoaded(Scene scene, LoadSceneMode arg1)
{
if (LevelWasLoaded != null)
{
Debug.Log("LevelWasLoaded != null" + "-------------" + scene.buildIndex);
LevelWasLoaded.BeginPCall();
LevelWasLoaded.Push(scene.buildIndex);
LevelWasLoaded.PCall();
LevelWasLoaded.EndPCall();
}
if (lua != null)
{
lua.RefreshDelegateMap();
}
}