CombatHeroHitPoint.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using System.Collections.Generic;
  2. using GameTimeLine.CustomizeTimeLogic;
  3. using UnityEngine;
  4. using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
  5. namespace GameLogic.Combat.Hero
  6. {
  7. public class CombatHeroHitPoint : ILifetCycleHitPoint
  8. {
  9. public List<SpecialDotInfo> allSpecialDotInfo = new List<SpecialDotInfo>();
  10. public CombatHeroEntity combatHeroEntity;
  11. public SpecialDotInfo MinSpecialDotInfo;
  12. public ILifeCycle IfLifeCycle
  13. {
  14. get { return combatHeroEntity; }
  15. }
  16. public Vector3 Position
  17. {
  18. get { return _hitPointMono.transform.position; }
  19. }
  20. private HitPointMono _hitPointMono;
  21. public T This<T>()
  22. {
  23. return (T)(object)this;
  24. }
  25. public void Init(CombatHeroEntity combatHeroEntity, HitPointMono hitPointMono)
  26. {
  27. this.combatHeroEntity = combatHeroEntity;
  28. _hitPointMono = hitPointMono;
  29. SpecialDotMono[] specialDotMonos = combatHeroEntity.combatHeroGameObject.GameObjectPool.own
  30. .GetComponentsInChildren<SpecialDotMono>(true);
  31. for (int i = 0; i < specialDotMonos.Length; i++)
  32. {
  33. SpecialDotMono specialDotMono = specialDotMonos[i];
  34. SpecialDotInfo specialDotInfo = new SpecialDotInfo();
  35. specialDotInfo.dotName = specialDotMono.DotName;
  36. specialDotInfo.targetTran = specialDotMono.transform;
  37. specialDotInfo.heroEntity = combatHeroEntity;
  38. allSpecialDotInfo.Add(specialDotInfo);
  39. }
  40. MinSpecialDotInfo = new SpecialDotInfo();
  41. MinSpecialDotInfo.targetTran = combatHeroEntity.combatHeroGameObject.GameObjectPool.own.transform;
  42. MinSpecialDotInfo.heroEntity = combatHeroEntity;
  43. }
  44. public SpecialDotInfo GetSpecialDotInfo(string specialDotName)
  45. {
  46. for (int i = 0; i < allSpecialDotInfo.Count; i++)
  47. {
  48. if (allSpecialDotInfo[i].dotName == specialDotName)
  49. {
  50. return allSpecialDotInfo[i];
  51. }
  52. }
  53. return MinSpecialDotInfo;
  54. }
  55. }
  56. }