using Common.Utility.CombatEvent; using Fort23.Core; using GameLogic.Combat.CombatTool; using GameLogic.Hero; using UnityEngine; namespace GameLogic.Combat.CombatGuide { public class Guide_MuShi : GuideBasic { protected bool isTrgger; public Guide_MuShi() { Guide3(); } private void Guide3() { CombatEventManager.Instance.AddEventListener(CombatEventType.HeroHpUpdate, HeroHpUpdateEventData); } private void HeroHpUpdateEventData(IEventData eventData) { if (isTrgger) { return; } HeroHpUpdateEventData data = eventData as HeroHpUpdateEventData; CombatHeroEntity combatHeroEntity = data.combatHeroEntity; if (!combatHeroEntity.IsEnemy) { if (data.combatHeroEntity.HpBl <= 30) { CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroHpUpdate, HeroHpUpdateEventData); CombatController.currActiveCombat.isStopAi = true; ShowDialogueEventData showDialogueEventData = ShowDialogueEventData.Create(); showDialogueEventData.finish = Guide3_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 Guide3_1() { AccountFileInfo.HeroData heroData2 = new AccountFileInfo.HeroData { heroModelId = 113, heroPowerId = 10, 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 = 3; 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); }); ShowDialogueEventData showDialogueEventData = ShowDialogueEventData.Create(); showDialogueEventData.finish = delegate { heroEntity.CombatHeroSkillControl.AddCommandSkill( heroEntity.CombatHeroSkillControl.GetSkillBasic(20001)); CombatController.currActiveCombat.isStopAi = false; AccountFileInfo.Instance.playerData.combatGuideIndex =4; AccountFileInfo.Instance.SavePlayerData(); }; showDialogueEventData.dialogueMessaga = new string[] { "天空中突然闪出一个人影。","我是来自教堂的牧师,我来为你治疗!" }; showDialogueEventData.icon = new string[] { "icon_tx113"}; showDialogueEventData.messageShowType = ShowDialogueEventData.MessageShowType.Verbatim; EventManager.Instance.Dispatch(CustomEventType.ShowDialogue, showDialogueEventData); EventManager.Instance.Dispatch(CustomEventType.AlterCombatHero, null); } } }