using Common.Utility.CombatEvent; using Fort23.Core; using GameLogic.Combat.CombatTool; using GameLogic.Hero; using UnityEngine; namespace GameLogic.Combat.CombatGuide { public class Guide_JiaRuFaShi : GuideBasic { protected bool isTrgger; protected override void ProUpdate() { Trigger(); } protected void Trigger() { if (isTrgger) { return; } int index = AccountFileInfo.Instance.playerData.combatGuideIndex; if (index > 3) { return; } switch (index) { case 0: CombatHeroEntity[] allHero = CombatController.currActiveCombat.CombatHeroController.GetHero(true); if (allHero!=null&&allHero.Length > 5&&CombatController.currActiveCombat.CombatTypeBasic.dieHeroCount>5) { isTrgger = true; Guide1(); } break; } } private async void Guide1() { CombatController.currActiveCombat.isStopAi = true; ShowDialogueEventData showDialogueEventData = ShowDialogueEventData.Create(); showDialogueEventData.finish = Guide1_1; showDialogueEventData.dialogueMessaga = new string[] { "(喘息着)这该死的怪物怎么杀也杀不完!","怎么办要先会村庄吗?" }; showDialogueEventData.icon = new string[] { "icon_tx105"}; showDialogueEventData.messageShowType = ShowDialogueEventData.MessageShowType.Verbatim; EventManager.Instance.Dispatch(CustomEventType.ShowDialogue, showDialogueEventData); } private async void Guide1_1() { AccountFileInfo.HeroData heroData2 = new AccountFileInfo.HeroData { heroModelId = 107, heroPowerId = 5, heroPromoteId = 3, isLead = true, }; HeroInfo heroInfo = new HeroInfo(); heroInfo.InitHero(heroData2); AccountFileInfo.Instance.playerData.HeroListData.Add(heroData2); PlayerManager.Instance.heroController.DeployHeroToLead(heroInfo); AccountFileInfo.Instance.playerData.combatGuideIndex = 1; AccountFileInfo.Instance.SavePlayerData(); CombatHeroEntity[] allHero = CombatController.currActiveCombat.CombatHeroController.GetHero(false); CombatHeroEntity heroEntity = CObjectPool.Instance.Fetch(); heroEntity.IsEnemy = false; heroEntity.number = 1; Vector3 pos = allHero[0].dotPos + allHero[0].faceDir * -2; await heroEntity.Init(new CombatAIBasic(), heroInfo, pos, delegate(CombatHeroEntity entity) { CombatController.currActiveCombat.CombatHeroController.AddHero(entity); // entity.GameObject.SetActive(false); }); CombatController.currActiveCombat.CombatCameraControllder.Shaking(0.2f); // await TimerComponent.Instance.WaitAsync(1000); // heroEntity.GameObject.SetActive(true); ShowDialogueEventData showDialogueEventData = ShowDialogueEventData.Create(); showDialogueEventData.finish = Guide1_2; showDialogueEventData.dialogueMessaga = new string[] { "我名艾尔温。这里充满了黑暗的气息,我无法袖手旁观.","让它们常常我的火焰~"}; showDialogueEventData.icon = new string[] { "icon_tx107"}; showDialogueEventData.messageShowType = ShowDialogueEventData.MessageShowType.Verbatim; EventManager.Instance.Dispatch(CustomEventType.ShowDialogue, showDialogueEventData); heroEntity.GameObject.transform.eulerAngles = allHero[0].GameObject.transform.eulerAngles; heroEntity.CombatHeroSkillControl.AddCommandSkill(heroEntity.CombatHeroSkillControl.GetSkillBasic(30001)); } private async void Guide1_2() { ShowDialogueEventData showDialogueEventData = ShowDialogueEventData.Create(); showDialogueEventData.finish = delegate { CombatController.currActiveCombat.isStopAi = false; CombatGuideManager.Instance.NextGuide(); }; showDialogueEventData.dialogueMessaga = new string[] { "太好了艾尔温,感谢你的加入!"}; showDialogueEventData.icon = new string[] { "icon_tx105"}; showDialogueEventData.messageShowType = ShowDialogueEventData.MessageShowType.Verbatim; EventManager.Instance.Dispatch(CustomEventType.ShowDialogue, showDialogueEventData); EventManager.Instance.Dispatch(CustomEventType.AlterCombatHero, null); } } }