Exemplo n.º 1
0
        public LuaManager(IVFS vfsMgr)
        {
            mVFSMgr = vfsMgr;
            //先获取配置,检查是否启用Lua
            mLuaConfig         = Config.GetTinaXConfig <LuaConfig>(Conf.ConfigPath.lua);
            mTinaXFileRootPath = Setup.Framework_Path + "/Lua/";
            if (EnableLua)
            {
                //获取lua文件的后缀名
                switch (mLuaConfig.FileExten)
                {
                default:
                    mFileExt = ".txt";
                    break;

                case LuaFileExten.lua:
                    mFileExt = ".lua";
                    break;

                case LuaFileExten.lua_txt:
                    mFileExt = ".lua.txt";
                    break;

                case LuaFileExten.txt:
                    mFileExt = ".txt";
                    break;
                }
                //初始化lua运行环境
                m_LuaVM = new LuaEnv();
                //lua 文件加载方法定义
                m_loader = LoadLuaCodeFile;
                m_LuaVM.AddLoader(m_loader);

                TimeMachine.I.AddUpdate(XUpdate);

                //添加特殊load路径处理规则
                mLoadFileHander.Add(new LoadFileHandler()
                {
                    IsTrigger = (path) =>
                    {
                        return(path.StartsWith(mTinaXFileRootPath));
                    },
                    Handler = (ref string fileName, out byte[] reData, out bool handled_filename) =>
                    {
                        fileName        += mTinaXFileExt;
                        reData           = default;
                        handled_filename = true;
                        return(false); //如果不想中断的话,一定要为false
                    }
                });
Exemplo n.º 2
0
        /// <summary>
        /// 初始化
        /// </summary>
        public XUIMgrGateway(IVFS _vfs)
        {
            mVFS    = _vfs;
            mConfig = TinaX.Config.GetTinaXConfig <UIKitConfig>(ConfigPath.uikit);
            if (mConfig == null)
            {
                mConfig = new UIKitConfig();
                mConfig.Use_AdvancedMode = false;
            }

            mDefaultUIGroup = mConfig.Default_UIGroup;

            //初始化GameObject相关
            Init_GameObjects();
            //初始化UIMask
            m_UIMaskMgr  = null;
            m_UIMaskMgr  = new UIMaskMgr(mUIRootTrans, mConfig.MaskColor, this);
            m_UILayerMgr = null;
            m_UILayerMgr = new UILayerMgr(this);

            if (mConfig.Use_AdvancedMode)
            {
                //高级模式
                m_ManagerMode = 1;
                m_UIMgr_Adv   = null;
                m_UIMgr_Adv   = new XUIManagerAdv(this, mVFS);
            }
            else
            {
                //简单模式
                m_ManagerMode  = 0;
                m_UIMgr_Normal = null;
                m_UIMgr_Normal = new XUIManager(this, mVFS);
            }

            #region UISafeArea

            if (mConfig.Enable_UISafeArea)
            {
                mUISafeAreaMgr = new XUISafeAreaMgr()
                                 .Enable();
            }

            #endregion
        }
Exemplo n.º 3
0
        public XI18NMgr(IVFS _vfs)
        {
            mVFS    = _vfs;
            mConfig = Config.GetTinaXConfig <I18NConfig>(ConfigPath.i18n);
            if (mConfig == null)
            {
                mEnable = false;
                return;
            }
            mEnable = mConfig.EnbaleI18N;
            if (!mEnable)
            {
                return;
            }
            mCurSystemLanguage = GetLanguageByUnityLanguage(Application.systemLanguage);
            string _region = "none";

            if (mConfig.defaultRegion != null && mConfig.defaultRegion != "")
            {
                _region = mConfig.defaultRegion;
            }
            if (mConfig.autoMatch)
            {
                foreach (var item in mConfig.Regions)
                {
                    if (item.language_bind == mCurSystemLanguage)
                    {
                        _region = item.region_name;
                    }
                }
            }
            if (_region != "none")
            {
                mCurRegion = _region;
                UseRegion(mCurRegion);
            }
        }
Exemplo n.º 4
0
 public XUIManagerAdv(XUIMgrGateway _Gateway, IVFS _vfs)
 {
     mVFS     = _vfs;
     mGateway = _Gateway;
 }
Exemplo n.º 5
0
 public XUIManager(XUIMgrGateway _Gateway, IVFS _vfs)
 {
     mGateway = _Gateway;
     mVFS     = _vfs;
 }