コード例 #1
0
    public void Initialize(Action onComplete)
    {
        if (onComplete != null)
        {
            onStartupFunc = onComplete;
        }

        //取消 Destroy 对象

        InitConsole();
        InitUIRoot();
        InitResolution();

        //平台初始化
        AppPlatform.Initialize();

        //基本设置
        Screen.sleepTimeout                    = SleepTimeout.NeverSleep;
        Application.targetFrameRate            = Global.FrameRate;
        UnityEngine.QualitySettings.vSyncCount = Global.VSyncCount;

        //挂载管理器并初始化
        ManagerCollect.Instance.AddManager <TaskManager>(ManagerName.Task);
        ManagerCollect.Instance.AddManager <AssetLoadManager>(ManagerName.AssetLoad);
        ManagerCollect.Instance.AddManager <SoundManager>(ManagerName.Sound);
        ManagerCollect.Instance.AddManager <GestureManager>(ManagerName.Gesture);

        //创建运行时资源目录
        FileUtil.CreateFolder(AppPlatform.RuntimeAssetsPath);

        AssetsUpdater.Run(() =>
        {
            LoadAssetbundleManifest();
        });
    }
コード例 #2
0
        public void OnLevelUnloading()
        {
            //it appears, the game caches vanilla prefabs even when exiting to main menu, and stations won't load properly on reloading from main menu
            AssetsUpdater.UpdateBuildingsMetroPaths(_cachedMode, true);
            var go = GameObject.Find("MetroOverhaulUISetup");

            if (go != null)
            {
                GameObject.Destroy(go);
            }
            var transportInfo = PrefabCollection <TransportInfo> .FindLoaded("Metro");

            transportInfo.m_netLayer     = ItemClass.Layer.MetroTunnels;
            transportInfo.m_stationLayer = ItemClass.Layer.MetroTunnels;
        }
コード例 #3
0
        public void OnLevelLoaded(LoadMode mode)
        {
            _cachedMode = mode;
            while (LateBuildUpQueue.Count > 0)
            {
                try
                {
                    LateBuildUpQueue.Dequeue().Invoke();
                }
                catch (Exception e)
                {
                    UIView.library.ShowModal <ExceptionPanel>("ExceptionPanel").SetMessage("Enable asset in Content Manager!", e.Message, false);
                }
            }
            if (_updater == null)
            {
                _updater = new AssetsUpdater();
                _updater.UpdateExistingAssets(mode);
            }
            AssetsUpdater.UpdateBuildingsMetroPaths(mode, false);
            if (mode == LoadMode.NewGame || mode == LoadMode.LoadGame || mode == LoadMode.NewGameFromScenario)
            {
                SimulationManager.instance.AddAction(DespawnVanillaMetro);
                var gameObject = new GameObject("MetroOverhaulUISetup");
                gameObject.AddComponent <UpgradeSetup>();
                gameObject.AddComponent <StyleSelectionUI>();

                if (OptionsWrapper <Options> .Options.metroUi)
                {
                    UIView.GetAView().AddUIComponent(typeof(MetroStationCustomizerUI));
                }

                var transportInfo = PrefabCollection <TransportInfo> .FindLoaded("Metro");

                transportInfo.m_netLayer     = ItemClass.Layer.Default | ItemClass.Layer.MetroTunnels;
                transportInfo.m_stationLayer = ItemClass.Layer.Default | ItemClass.Layer.MetroTunnels;
            }
        }