1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- 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<CombatHeroEntity>();
- 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);
- }
- }
- }
|