TargetableObjectData.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. //------------------------------------------------------------
  2. // Game Framework
  3. // Copyright © 2013-2021 Jiang Yin. All rights reserved.
  4. // Homepage: https://gameframework.cn/
  5. // Feedback: mailto:ellan@gameframework.cn
  6. //------------------------------------------------------------
  7. using System;
  8. using UnityEngine;
  9. namespace MetaClient
  10. {
  11. [Serializable]
  12. public abstract class TargetableObjectData : EntityData
  13. {
  14. [SerializeField]
  15. private CampType m_Camp = CampType.Unknown;
  16. [SerializeField]
  17. private int m_HP = 0;
  18. public TargetableObjectData(int entityId, int typeId, CampType camp)
  19. : base(entityId, typeId)
  20. {
  21. m_Camp = camp;
  22. m_HP = 0;
  23. }
  24. /// <summary>
  25. /// 角色阵营。
  26. /// </summary>
  27. public CampType Camp
  28. {
  29. get
  30. {
  31. return m_Camp;
  32. }
  33. }
  34. /// <summary>
  35. /// 当前生命。
  36. /// </summary>
  37. public int HP
  38. {
  39. get
  40. {
  41. return m_HP;
  42. }
  43. set
  44. {
  45. m_HP = value;
  46. }
  47. }
  48. /// <summary>
  49. /// 最大生命。
  50. /// </summary>
  51. public abstract int MaxHP
  52. {
  53. get;
  54. }
  55. /// <summary>
  56. /// 生命百分比。
  57. /// </summary>
  58. public float HPRatio
  59. {
  60. get
  61. {
  62. return MaxHP > 0 ? (float)HP / MaxHP : 0f;
  63. }
  64. }
  65. }
  66. }