| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270 | 
							- using Core.AssetLoadTool.Asset;
 
- using Core.Audio;
 
- using Core.Language;
 
- using Excel2Json;
 
- using Fort23.Core;
 
- using Fort23.Mono;
 
- // using Fort23.Mono.UpdateAsset;
 
- using Fort23.UTool;
 
- using GameLogic.Combat;
 
- using GameLogic.Combat.CombatTool;
 
- using GameLogic.Combat.CombatType;
 
- using GameLogic.CombatScenesTool;
 
- using GameLogic.Hero;
 
- using GameLogic.NetworkClient;
 
- using GameLogic.Player;
 
- using GameUI;
 
- using NetCore.Protocol.MemoryPack;
 
- #if UNITY_EDITOR
 
- using UnityEditor;
 
- #endif
 
- using UnityEngine;
 
- using UnityEngine.UI;
 
- using Utility.CTween;
 
- using Utility.UITool;
 
- public class GameApplction : IGameStart
 
- {
 
-     public static GameApplction gameApplction;
 
-     public GameRuntimeConfig gameRuntimeConfig;
 
-     public ShaderVariantCollection ShaderVariantCollection;
 
-     public BundleLoadType BundleLoadType;
 
-     public string h5Url;
 
-     private Entity _root;
 
-     private Entity _scene;
 
-     // public bool isTest;
 
-     public int levelBattleId = 1;
 
-     private GameStartUIPanel gameStartUIPanel;
 
-     private System.Action LoadFinish;
 
-     public async void StartGame(LoadType LoadType, string h5Url, GameStartUIPanel gameStartUIPanel,
 
-         System.Action LoadFinish)
 
-     {
 
-         this.LoadFinish = LoadFinish;
 
-         gameApplction = this;
 
-         Debug.Log("开始游戏逻辑");
 
-         Crasheye.SetIsBetaVersion( true);
 
-         Crasheye.SendScriptException("测试错误", "测试错误","ZH");
 
-         // UnityEngine.Screen.SetResolution(Screen.width);
 
-         // GameUpdateAsset.Instance.Init(h5Url);
 
-        
 
-         this.gameStartUIPanel = gameStartUIPanel;
 
-         gameStartUIPanel.ShowMassge("开始加载资源");
 
-         gameStartUIPanel.SetSlider(0);
 
-         this.h5Url = h5Url;
 
-         BundleLoadType = (BundleLoadType)LoadType;
 
-         GameObject gameObject = new GameObject("app");
 
-         gameObject.AddComponent<GameApplctionMono>();
 
-         GameAssetUpdatePanel gameAssetUpdatePanel = new GameAssetUpdatePanel();
 
-         gameAssetUpdatePanel.StartUpdateAsset(AssetUpdateFinish);
 
-         // await InitGameApplication();
 
-        
 
-         Debug.Log("初始化完成");
 
-     }
 
-     private async void AssetUpdateFinish()
 
-     {
 
-         Debug.Log("finish AssetUpdateFinish");
 
-         await InitGameApplication();
 
-         LoadFinish?.Invoke();
 
-         Debug.Log("初始化完成");
 
-     }
 
-     private async CTask InitGameApplication()
 
-     {
 
-         _scene = new Scene();
 
-         _root = new Entity();
 
-         _root.Parent = _scene;
 
-         _root.AddComponent<TimerComponent>();
 
-         _root.AddComponent<CoroutineLockComponent>();
 
-         gameStartUIPanel.ShowMassge("loadBundle");
 
-         gameStartUIPanel.SetSlider(0.15f);
 
-         AssetBundleLoadManager.Instance.BundleLoadType = BundleLoadType;
 
-         AssetBundleLoadManager.Instance.h5Url = h5Url;
 
-         await AssetBundleLoadManager.Instance.InitAssetsManager(null);
 
- #if !UNITY_EDITOR
 
-         AssetBundleLoadManager.Instance.AddBundleTask("fb010shader", delegate(BundleLoadBasic basic, object o)
 
-         {
 
-             if (basic.currBundle != null)
 
-             {
 
-                 basic.currBundle.LoadAllAssets<Shader>();
 
-                 Shader.WarmupAllShadersWait();
 
-             }
 
-         }, null);
 
- #endif
 
-         gameStartUIPanel.ShowMassge("loadConfig");
 
-         gameStartUIPanel.SetSlider(0.25f);
 
-         AssetHandle gameRuntimeAssetHandle=   await  AssetBundleLoadManager.Instance.LoadAssetAsyncTask<GameRuntimeConfig>("GameRuntimeConfig.asset");
 
-         gameRuntimeConfig = gameRuntimeAssetHandle.AssetObject<GameRuntimeConfig>();
 
-         await ConfigComponent.Instance.Preload();
 
-         await AnimationCurveManager.Instance.Init();
 
-         UGUIPackLoad uguiPackLoad = new UGUIPackLoad();
 
-         UGUIPackManager.Instance.SetIUGUIPackLoad(uguiPackLoad);
 
-         await uguiPackLoad.InitPack();
 
-         gameStartUIPanel.ShowMassge("loadLanguage");
 
-         gameStartUIPanel.SetSlider(0.45f);
 
-         await LanguageManager.Instance.InitManager();
 
-         _root.AddComponent<StaticUpdater>();
 
-         _root.AddComponent<UIManager, Transform>(null);
 
-         gameStartUIPanel.ShowMassge("loadUI");
 
-         gameStartUIPanel.SetSlider(0.55f);
 
-         await AudioManager.Instance.InitMainAudio();
 
-         await UIManager.Instance.InitUI();
 
-         CustomTweenManager.Init();
 
-         RedDotManager.Instance.Init();
 
-         // await GameNetworkClient.Instance.Connect("127.0.0.1", 1000);
 
-         await Login();
 
-     }
 
-     private async CTask Login()
 
-     {
 
-         // MemoryResponse memoryResponse = await GameNetworkSendAssemble.SendLogin("123", "123");
 
-         // if (memoryResponse == null)
 
-         // {
 
-         //     LogTool.Error("登陆失败");
 
-         //     return;
 
-         // }
 
-         EventManager.Instance.RemoveEventListener(CustomEventType.DialoguePanelOpen, DialoguePanelOpenEvent);
 
-         EventManager.Instance.AddEventListener(CustomEventType.DialoguePanelOpen, DialoguePanelOpenEvent);
 
-         UIManager.Instance.Canvas.gameObject.SetActive(true);
 
-         if (PlayerGuideManager.Instance.GuideIsCanDo(1))
 
-         {
 
-             await MarskPanel.OpenPanel(255);
 
-         }
 
-         PlayerManager.Instance.Init();
 
-         ShopManger.Instance.CustomInit();
 
-         EventSystemManager.Instance.CustomInit();
 
-         await ShowItemMoveToTargetPanel.OpenShowItemMoveToTargetPanel();
 
-         PlayerManager.Instance.AddSentimentData(1);
 
-         foreach (var playerDataAllSkillData in AccountFileInfo.Instance.playerData.AllSkillDatas)
 
-         {
 
-             SkillInfo skillInfo = new SkillInfo(playerDataAllSkillData);
 
-             skillInfo.index = playerDataAllSkillData.useIndex;
 
-             PlayerManager.Instance.GongFaControl.AddSkillInfo(skillInfo);
 
-         }
 
-         foreach (var playerDataAllSkillData in AccountFileInfo.Instance.playerData.AllFaBaoDatas)
 
-         {
 
-             FaBaoInfo faBaoInfo = new FaBaoInfo(playerDataAllSkillData);
 
-             PlayerManager.Instance.FaBaoControl.AddFaBao(faBaoInfo);
 
-         }
 
-         // for (int i = 1; i < 4; i++)
 
-         // {
 
-         //     PlayerManager.Instance.FaBaoControl.FightFaBao[i] = PlayerManager.Instance.FaBaoControl.myAllFaBao[i];
 
-         // }
 
-         // PlayerManager.Instance.InitTestHero();
 
-         await CombatDrive.Instance.Init();
 
-         StartCombatInfo startCombatInfo = new StartCombatInfo();
 
-         startCombatInfo.CombatType = CombatType.LevelBattle;
 
- #if UNITY_EDITOR
 
-         TestCombatHeroConfig testCombatHeroConfig = GameObject.FindObjectOfType<TestCombatHeroConfig>();
 
-         if (testCombatHeroConfig != null)
 
-         {
 
-             startCombatInfo.CombatType = CombatType.TestCombat;
 
-             TestCombatHeroConfig.TestHeroInfoConfig testHeroInfoConfig = testCombatHeroConfig.myHeroInfo[0];
 
-             PlayerManager.Instance.AddTestHeroInfo(testHeroInfoConfig);
 
-         }
 
- #endif
 
-         // startCombatInfo.levelBattleId = AccountFileInfo.Instance.playerData.levelBattle;
 
-         CombatDrive.Instance.AddCombatController(new CombatController());
 
-         gameStartUIPanel.ShowMassge("loadCombat");
 
-         gameStartUIPanel.SetSlider(0.95f);
 
-         var eventList = EventSystemManager.Instance.AddEvent(10001);
 
-         if (eventList != null)
 
-         {
 
-             AccountFileInfo.Instance.playerData.eventList.Add(eventList);
 
-             AccountFileInfo.Instance.SavePlayerData();
 
-         }
 
-         EventSystemManager.Instance.UpdateZuizhongEventData();
 
-         // if (PlayerGuideManager.Instance.GuideIsCanDo(1))
 
-         // {
 
-         //     await MarskPanel.OpenPanel(255);
 
-         // }
 
-         await CombatDrive.Instance.StartCombat(startCombatInfo);
 
-         PlayerManager.Instance.GongFaControl.SaveUseSkill();
 
-         PlayerManager.Instance.GongFaControl.SetTaoismSkillIndex(AccountFileInfo.Instance.playerData.heroData
 
-             .TaoismSkillId);
 
-         if (startCombatInfo.CombatType != CombatType.TestCombat)
 
-         {
 
-             MainPanel mainPanel = await MainPanel.OpenPanel();
 
-             if (!AccountFileInfo.Instance.playerData.isTiggerPlot && PlayerGuideManager.Instance.GuideIsCanDo(1))
 
-             {
 
-                 mainPanel.GObjectPoolInterface.SetActive(false);
 
-                 AppBarPanel.ClosePanel();
 
-             }
 
-         }
 
-         gameStartUIPanel.ShowMassge("loadFinish");
 
-         gameStartUIPanel.SetSlider(1f);
 
-         XinShouCombat();
 
-     }
 
-     private void DialoguePanelOpenEvent(IEventData e)
 
-     {
 
-         MarskPanel.ClosePanel();
 
-     }
 
-     public async void XinShouCombat()
 
-     {
 
-         // MarskPanel.ClosePanel();
 
-         if (PlayerGuideManager.Instance.GuideIsCanDo(1))
 
-         {
 
-             AccountFileInfo.EventList eventList2 = EventSystemManager.Instance.AddEvent(9999);
 
-             await EventSystemManager.Instance.TriggerEvent(eventList2,
 
-                 uiOpenOverCallBack: () => { });
 
-             CTask cTask = CTask.Create();
 
-             await CombatDrive.Instance.LoadLevelBattleCombat(10001, false, -1,
 
-                 delegate(bool isWin)
 
-                 {
 
-                     LogTool.Log("战斗完成" + isWin);
 
-                     cTask.SetResult();
 
-                 });
 
-             await cTask;
 
-             AccountFileInfo.EventList eventList1 = EventSystemManager.Instance.AddEvent(10000);
 
-             MainPanel mainPanel = UIManager.Instance.GetComponent<MainPanel>();
 
-             mainPanel.GObjectPoolInterface.SetActive(true);
 
-             await EventSystemManager.Instance.TriggerEvent(eventList1);
 
-             AccountFileInfo.Instance.SavePlayerData();
 
-             AccountFileInfo.Instance.playerData.isTiggerPlot = true;
 
-             // AlterNamePanel.OpenPanel();
 
-             // PlayerGuideManager.Instance.NextGuide();
 
-             mainPanel.GetFocus();
 
-         }
 
-         else
 
-         {
 
-             MarskPanel.ClosePanel();
 
-         }
 
-     }
 
- }
 
 
  |