PlayerHeroEntity.cs 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. using System;
  2. using Animancer;
  3. using Common.Utility.CombatEvent;
  4. using Excel2Json;
  5. using Fort23.Core;
  6. using Fort23.UTool;
  7. using GameLogic.Combat.Buff;
  8. using GameLogic.Combat.CombatTool;
  9. using GameLogic.Combat.Skill;
  10. using UnityEngine;
  11. using UnityEngine.AI;
  12. namespace GameLogic.Combat.Hero
  13. {
  14. public class PlayerHeroEntity : CombatHeroEntity
  15. {
  16. public Vector3 startPos;
  17. public Vector3 endPos;
  18. private Vector3 lasetHeroPos;
  19. public override async CTask<CombatHeroEntity> Init(CombatAIBasic combatAIBasic, CombatHeroInfo combatHeroInfo,
  20. Vector3 pos, Action<CombatHeroEntity> callBack = null)
  21. {
  22. CurrCombatHeroInfo = combatHeroInfo.Copy();
  23. MaxCombatHeroInfo = combatHeroInfo.Copy();
  24. TimeLienData timeLienData = CombatController.currActiveCombat.CombatDataController.generalBuffTimeLienData;
  25. combatHeroTimeLineControl = new CombatHeroTimeLineControl();
  26. combatHeroTimeLineControl.Init(this, timeLienData);
  27. BuffControl = new BuffControl();
  28. BuffControl.Init(this);
  29. if (combatAIBasic == null)
  30. {
  31. combatAIBasic = new CombatAIBasic();
  32. }
  33. CombatAIBasic = combatAIBasic;
  34. CombatAIBasic.Init(this, null);
  35. combatHeroGameObject = new CombatHeroGameObject();
  36. combatHeroGameObject.Init(this, null);
  37. CombatHeroSkillControl = new CombatHeroSkillControl();
  38. CombatHeroSkillControl.Init(this);
  39. SkillConfig skillConfig = ConfigComponent.Instance.Get<SkillConfig>(9000011);
  40. CombatHeroSkillControl.AddSkill(skillConfig);
  41. CombatAIBasic.ChangeState(CombatHeroStateType.NullState);
  42. callBack?.Invoke(this);
  43. return this;
  44. }
  45. public override void Update(float t)
  46. {
  47. combatHeroTimeLineControl.Update(t);
  48. CombatAIBasic.Update(t);
  49. if (Input.GetMouseButtonUp(0))
  50. {
  51. SkillBasic skillBasic = CombatHeroSkillControl.GetSkillBasic(900001);
  52. BetterList<CombatHeroEntity> allHero =
  53. CombatController.currActiveCombat.CombatHeroController.GetHeroList(false);
  54. CombatHeroEntity combatHeroEntity = null;
  55. if (allHero.Count > 0)
  56. {
  57. int index = CombatCalculateTool.Instance.GetOdd(0, allHero.Count);
  58. combatHeroEntity = allHero[index];
  59. }
  60. if (combatHeroEntity != null)
  61. {
  62. lasetHeroPos = combatHeroEntity.dotPos;
  63. }
  64. endPos = lasetHeroPos + new Vector3(CombatCalculateTool.Instance.GetOdd(-5, 5), 0,
  65. CombatCalculateTool.Instance.GetOdd(-5, 5));
  66. startPos = endPos + new Vector3(5, 20, 5);
  67. CombatHeroSkillControl.AddCommandSkill(skillBasic);
  68. }
  69. }
  70. }
  71. }