Guide_JiaRuFaShi.cs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. using Common.Utility.CombatEvent;
  2. using Fort23.Core;
  3. using GameLogic.Combat.CombatTool;
  4. using GameLogic.Hero;
  5. using UnityEngine;
  6. namespace GameLogic.Combat.CombatGuide
  7. {
  8. public class Guide_JiaRuFaShi : GuideBasic
  9. {
  10. protected bool isTrgger;
  11. protected override void ProUpdate()
  12. {
  13. Trigger();
  14. }
  15. protected void Trigger()
  16. {
  17. if (isTrgger)
  18. {
  19. return;
  20. }
  21. int index = AccountFileInfo.Instance.playerData.combatGuideIndex;
  22. if (index > 3)
  23. {
  24. return;
  25. }
  26. switch (index)
  27. {
  28. case 0:
  29. CombatHeroEntity[] allHero = CombatController.currActiveCombat.CombatHeroController.GetHero(true);
  30. if (allHero!=null&&allHero.Length > 5&&CombatController.currActiveCombat.CombatTypeBasic.dieHeroCount>5)
  31. {
  32. isTrgger = true;
  33. Guide1();
  34. }
  35. break;
  36. }
  37. }
  38. private async void Guide1()
  39. {
  40. CombatController.currActiveCombat.isStopAi = true;
  41. ShowDialogueEventData showDialogueEventData = ShowDialogueEventData.Create();
  42. showDialogueEventData.finish = Guide1_1;
  43. showDialogueEventData.dialogueMessaga = new string[] { "(喘息着)这该死的怪物怎么杀也杀不完!","怎么办要先会村庄吗?" };
  44. showDialogueEventData.messageShowType = ShowDialogueEventData.MessageShowType.Verbatim;
  45. EventManager.Instance.Dispatch(CustomEventType.ShowDialogue, showDialogueEventData);
  46. }
  47. private async void Guide1_1()
  48. {
  49. AccountFileInfo.HeroData heroData2 = new AccountFileInfo.HeroData
  50. {
  51. heroModelId = 107,
  52. heroPowerId = 5,
  53. heroPromoteId = 3,
  54. isLead = true,
  55. };
  56. HeroInfo heroInfo = new HeroInfo();
  57. heroInfo.InitHero(heroData2);
  58. AccountFileInfo.Instance.playerData.HeroListData.Add(heroData2);
  59. PlayerManager.Instance.heroController.AddHero(heroInfo);
  60. AccountFileInfo.Instance.playerData.combatGuideIndex = 1;
  61. AccountFileInfo.Instance.SavePlayerData();
  62. CombatHeroEntity[] allHero = CombatController.currActiveCombat.CombatHeroController.GetHero(false);
  63. CombatHeroEntity heroEntity = CObjectPool.Instance.Fetch<CombatHeroEntity>();
  64. heroEntity.IsEnemy = false;
  65. heroEntity.number = 1;
  66. Vector3 pos = allHero[0].dotPos + allHero[0].faceDir * -2;
  67. await heroEntity.Init(new CombatAIBasic(), heroInfo, pos,
  68. delegate(CombatHeroEntity entity)
  69. {
  70. CombatController.currActiveCombat.CombatHeroController.AddHero(entity);
  71. entity.GameObject.SetActive(false);
  72. });
  73. CombatController.currActiveCombat.CombatCameraControllder.Shaking(0.2f);
  74. await TimerComponent.Instance.WaitAsync(1000);
  75. heroEntity.GameObject.SetActive(true);
  76. ShowDialogueEventData showDialogueEventData = ShowDialogueEventData.Create();
  77. showDialogueEventData.finish = Guide1_2;
  78. showDialogueEventData.dialogueMessaga = new string[] { "我名艾尔温。这里充满了黑暗的气息,我无法袖手旁观.","让它们常常我的火焰~"};
  79. showDialogueEventData.messageShowType = ShowDialogueEventData.MessageShowType.Verbatim;
  80. EventManager.Instance.Dispatch(CustomEventType.ShowDialogue, showDialogueEventData);
  81. heroEntity.GameObject.transform.eulerAngles = allHero[0].GameObject.transform.eulerAngles;
  82. heroEntity.CombatHeroSkillControl.AddCommandSkill(heroEntity.CombatHeroSkillControl.GetSkillBasic(30001));
  83. }
  84. private async void Guide1_2()
  85. {
  86. ShowDialogueEventData showDialogueEventData = ShowDialogueEventData.Create();
  87. showDialogueEventData.finish = delegate
  88. {
  89. CombatController.currActiveCombat.isStopAi = false;
  90. CombatGuideManager.Instance.NextGuide();
  91. };
  92. showDialogueEventData.dialogueMessaga = new string[] { "太好了艾尔温,感谢你的加入!"};
  93. showDialogueEventData.messageShowType = ShowDialogueEventData.MessageShowType.Verbatim;
  94. EventManager.Instance.Dispatch(CustomEventType.ShowDialogue, showDialogueEventData);
  95. EventManager.Instance.Dispatch(CustomEventType.AlterCombatHero, null);
  96. }
  97. }
  98. }