using System.Collections; using System.Collections.Generic; using DG.Tweening; using UnityEngine; using UnityEngine.UI; using GameLogic; using System.IO; /// /// 游戏启动驱动 /// public class GameStart : MonoBehaviour { private AssetBundle bundle; void Start() { if (Application.isEditor && AppConst.bundleMode && AppConst.isUpdate) { if (!System.IO.Directory.Exists(Util.AppContentPath())) { XDebug.Log.error("还未打包平台资源,移放到StreamAssets目录"); return; } } if (Application.isEditor) { App.Instance.Initialize(); UpdateManager.Instance.StartUp(); } else { if (AppConst.bundleMode) //先走闪屏流程 { if (AppConst.isSDKLogin && !SDK.SDKManager.Instance.IsInit) //当登录sdk时,等待初始化完成后再走闪屏流程 { SDK.SDKManager.Instance.Initialize(); SDK.SDKManager.Instance.onInitLaunchCallback += s => { playSplash(); }; } else { playSplash(); } } } } void playSplash() { string path = AppConst.PersistentDataPath + "lz4/splashpanel.unity3d"; if (!File.Exists(path)) { path = AppConst.StreamPath + "lz4/splashpanel.unity3d"; } bundle = AssetBundle.LoadFromFile(path, 0, GameLogic.AppConst.EncyptBytesLength); GameObject gameObj = bundle.LoadAsset("SplashPanel"); GameObject gameObj2 = Instantiate(gameObj, Vector3.zero, Quaternion.identity); Image image = gameObj2.transform.Find("Canvas/image").GetComponent(); Image image2 = gameObj2.transform.Find("Canvas/image2").GetComponent(); image2.DOFade(1, 0).OnComplete(() =>{ image2.DOFade(0, 0).SetDelay(2).OnComplete(() =>{ image.color = new Color(image.color.r, image.color.g, image.color.b, 0); image.DOFade(1, 1).OnComplete(() => { image.DOFade(0, 1).SetDelay(2).OnComplete(() => { DestroyImmediate(gameObj2); if (bundle != null) bundle.Unload(true); bundle = null; App.Instance.Initialize(); UpdateManager.Instance.StartUp(); //StartCoroutine(playMovice()); }); }); }); }); } //IEnumerator playMovice() //{ // Handheld.PlayFullScreenMovie("PV_v5_0521_1.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput); // yield return new WaitForEndOfFrame(); // App.Instance.Initialize(); // UpdateManager.Instance.StartUp(); //} }