Guide_JiaRuFaShi.cs 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  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.icon = new string[] { "icon_tx105"};
  45. showDialogueEventData.messageShowType = ShowDialogueEventData.MessageShowType.Verbatim;
  46. EventManager.Instance.Dispatch(CustomEventType.ShowDialogue, showDialogueEventData);
  47. }
  48. private async void Guide1_1()
  49. {
  50. AccountFileInfo.HeroData heroData2 = new AccountFileInfo.HeroData
  51. {
  52. heroModelId = 107,
  53. heroPowerId = 5,
  54. heroPromoteId = 3,
  55. isLead = true,
  56. };
  57. HeroInfo heroInfo = new HeroInfo();
  58. heroInfo.InitHero(heroData2);
  59. AccountFileInfo.Instance.playerData.HeroListData.Add(heroData2);
  60. PlayerManager.Instance.heroController.DeployHeroToLead(heroInfo);
  61. AccountFileInfo.Instance.playerData.combatGuideIndex = 1;
  62. AccountFileInfo.Instance.SavePlayerData();
  63. CombatHeroEntity[] allHero = CombatController.currActiveCombat.CombatHeroController.GetHero(false);
  64. CombatHeroEntity heroEntity = CObjectPool.Instance.Fetch<CombatHeroEntity>();
  65. heroEntity.IsEnemy = false;
  66. heroEntity.number = 1;
  67. Vector3 pos = allHero[0].dotPos + allHero[0].faceDir * -2;
  68. await heroEntity.Init(new CombatAIBasic(), heroInfo, pos,
  69. delegate(CombatHeroEntity entity)
  70. {
  71. CombatController.currActiveCombat.CombatHeroController.AddHero(entity);
  72. // entity.GameObject.SetActive(false);
  73. });
  74. CombatController.currActiveCombat.CombatCameraControllder.Shaking(0.2f);
  75. // await TimerComponent.Instance.WaitAsync(1000);
  76. // heroEntity.GameObject.SetActive(true);
  77. ShowDialogueEventData showDialogueEventData = ShowDialogueEventData.Create();
  78. showDialogueEventData.finish = Guide1_2;
  79. showDialogueEventData.dialogueMessaga = new string[] { "我名艾尔温。这里充满了黑暗的气息,我无法袖手旁观.","让它们常常我的火焰~"};
  80. showDialogueEventData.icon = new string[] { "icon_tx107"};
  81. showDialogueEventData.messageShowType = ShowDialogueEventData.MessageShowType.Verbatim;
  82. EventManager.Instance.Dispatch(CustomEventType.ShowDialogue, showDialogueEventData);
  83. heroEntity.GameObject.transform.eulerAngles = allHero[0].GameObject.transform.eulerAngles;
  84. heroEntity.CombatHeroSkillControl.AddCommandSkill(heroEntity.CombatHeroSkillControl.GetSkillBasic(30001));
  85. }
  86. private async void Guide1_2()
  87. {
  88. ShowDialogueEventData showDialogueEventData = ShowDialogueEventData.Create();
  89. showDialogueEventData.finish = delegate
  90. {
  91. CombatController.currActiveCombat.isStopAi = false;
  92. CombatGuideManager.Instance.NextGuide();
  93. };
  94. showDialogueEventData.dialogueMessaga = new string[] { "太好了艾尔温,感谢你的加入!"};
  95. showDialogueEventData.icon = new string[] { "icon_tx105"};
  96. showDialogueEventData.messageShowType = ShowDialogueEventData.MessageShowType.Verbatim;
  97. EventManager.Instance.Dispatch(CustomEventType.ShowDialogue, showDialogueEventData);
  98. EventManager.Instance.Dispatch(CustomEventType.AlterCombatHero, null);
  99. }
  100. }
  101. }