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); }
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); }
public void Init(SceneConfig sceneConfig, MagicWallManager manager, Action onSceneCompleted) { _manager = manager; _startSceneStatus = StartSceneStatus.Init; _onSceneCompleted = onSceneCompleted; }