Exemple #1
0
        private void LoadResource()
        {
            var showConfigs = _manager.daoServiceFactory.GetShowConfigs();

            for (int i = 0; i < showConfigs.Count; i++)
            {
                var service = _manager.daoServiceFactory.GetDaoService(showConfigs[i].daoTypeEnum);

                service.InitData();

                var addresses = service.GetMatImageAddresses();

                foreach (string address in addresses)
                {
                    System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
                    //watch.Start();

                    string imageAddress = MagicWallManager.FileDir + address;

                    if (_manager.magicSceneManager._preLoadResource)
                    {
                        //TextureResource.Instance.GetTexture(imageAddress);
                        SpriteResource.Instance.GetData(imageAddress);
                    }

                    //    watch.Stop();

                    if ((watch.ElapsedMilliseconds / 1000f) > 0.5f)
                    {
                        Debug.Log("Time - " + imageAddress + " - second : " + watch.ElapsedMilliseconds / 1000f);
                    }
                }
            }



            System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
            sw.Start();



            // 加载其他资源
            //  - 手写板用的texture
            Texture2D writePanelWordPanel = new Texture2D(_manager.writePanelConfig.writePanelWordRectWidth, _manager.writePanelConfig.writePanelWordRectHeight, TextureFormat.ARGB32, false);

            TextureResource.Instance.Add(TextureResource.Write_Pad_Texture, writePanelWordPanel);

            Texture2D writePanelTotalPanel = new Texture2D(_manager.writePanelConfig.writePanelTotalRectWidth, _manager.writePanelConfig.writePanelTotalRectHeight, TextureFormat.ARGB32, false);

            TextureResource.Instance.Add(TextureResource.Write_Pad_Texture_Big, writePanelTotalPanel);

            _startSceneStatus = StartSceneStatus.LoadResourceCompleted;

            sw.Stop();
            //Debug.Log("2 Time : " + sw.ElapsedMilliseconds / 1000f);
        }
Exemple #2
0
        public bool Run()
        {
            //DoDebug("Start Scene Is Start!");
            if (_startSceneStatus == StartSceneStatus.Init)
            {
                if (_manager.magicSceneManager.runLogoAni)
                {
                    _startSceneStatus = StartSceneStatus.showUI;
                    _manager.BgLogo.gameObject.SetActive(true);
                    _manager.BgLogo.GetComponent <Image>()
                    .DOFade(1, 1f)
                    .OnComplete(() =>
                    {
                        _startSceneStatus = StartSceneStatus.showUICompleted;
                    });
                }
                else
                {
                    _startSceneStatus = StartSceneStatus.showUICompleted;
                }
            }

            if (_startSceneStatus == StartSceneStatus.showUICompleted)
            {
                _startSceneStatus = StartSceneStatus.BeginLoadResource;

                // 读取配置表
                LoadConfig();

                // 加载资源
                System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
                watch.Start();
                LoadResource();
                watch.Stop();
                Debug.Log("数据加载耗时 : " + watch.ElapsedMilliseconds / 1000f);
            }

            if (_startSceneStatus == StartSceneStatus.LoadResourceCompleted)
            {
                if (_manager.magicSceneManager.runLogoAni)
                {
                    _startSceneStatus = StartSceneStatus.StartHideUI;

                    _manager.BgLogo.GetComponent <Image>()
                    .DOFade(0, 1f)
                    .OnComplete(() =>
                    {
                        //_doHideLogoComplete = true;
                        // RunEnd();
                        _manager.BgLogo.gameObject.SetActive(false);
                        _startSceneStatus = StartSceneStatus.HideUICompleted;
                    });
                }
                else
                {
                    _startSceneStatus = StartSceneStatus.HideUICompleted;
                }
            }

            if (_startSceneStatus == StartSceneStatus.HideUICompleted)
            {
                _onSceneCompleted.Invoke();
                _startSceneStatus = StartSceneStatus.Init;
            }


            return(true);
        }
Exemple #3
0
 public void Init(SceneConfig sceneConfig, MagicWallManager manager, Action onSceneCompleted)
 {
     _manager          = manager;
     _startSceneStatus = StartSceneStatus.Init;
     _onSceneCompleted = onSceneCompleted;
 }