Exemple #1
0
    void Awake()
    {
        FastNet.App.initialize(s_luaEnv);

        m_client               = new FastNet.Client();
        m_client.OnMessage     = OnMessage;
        m_client.OnRoomMessage = OnRoomMessage;
        m_client.OnEvent       = OnEvent;

        LuaTable meta = s_luaEnv.NewTable();

        meta.Set("__index", s_luaEnv.Global);
        m_mainScriptEnv.SetMetaTable(meta);
        meta.Dispose();

        m_mainScriptEnv.Set("self", this);

        s_luaEnv.DoString(luaScript.text, "Main", m_mainScriptEnv);

        var luaAwake = m_mainScriptEnv.Get <LuaAction>("awake");

        m_mainScriptEnv.Get("start", out m_luaStart);
        m_mainScriptEnv.Get("update", out m_luaUpdate);
        m_mainScriptEnv.Get("ondestroy", out m_luaOnDestroy);

        if (luaAwake != null)
        {
            luaAwake();
        }
    }
Exemple #2
0
    void OnDestroy()
    {
        if (m_luaOnDestroy != null)
        {
            m_luaOnDestroy();
        }

        m_client.Close();
        m_client.OnEvent       = null;
        m_client.OnMessage     = null;
        m_client.OnRoomMessage = null;
        m_client = null;

        FastNet.App.finalize();

        m_luaOnDestroy = null;
        m_luaUpdate    = null;
        m_luaStart     = null;
        m_mainScriptEnv.Dispose();
        m_mainScriptEnv = null;
    }