예제 #1
0
    void Awake()
    {
#if UNITY_EDITOR
        var awaken = UnityLua.GlobalLua["___EDITOR_AWAKEN"].ConvertType <int>();
        if (awaken == 0)
        {
            UnityLua.GlobalLua["___EDITOR_AWAKEN"] = 1.WrapDynamic();

            ResManager.RecordCacheVersion("editor", int.MaxValue);
            LanguageConverter.InitData();
            string pathCachedMain = LuaFramework.AppDataPath + "/CapstonesScripts/spt/init.lua";
            if (UnityLua.GlobalLua.DoFile(pathCachedMain) == 0)
            {
            }
            else
            {
                if (GLog.IsLogErrorEnabled)
                {
                    GLog.LogError(UnityLua.GlobalLua.L.GetLua(-1).UnwrapDynamic());
                }
            }
        }
#endif
        BindLua();
        _Awaken = true;
        if (_DestroyRegIndex > 0)
        {
            RemoveDestroyRegIndex(_DestroyRegIndex);
            _DestroyRegIndex = 0;
        }
        CallLuaFunc("awake"); // Notice! The awake will NOT be called for the runtime binded behaviours!
    }