LogicFighterProperty.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace YLBattle
  5. {
  6. public class LogicFighterProperty
  7. {
  8. /// <summary>
  9. /// 基础值, 创建后不可修改
  10. /// </summary>
  11. private float mBaseValue;
  12. /// <summary>
  13. /// 修正值,游戏过程中动态附加值
  14. /// </summary>
  15. private float mCorrectedValue;
  16. /// <summary>
  17. /// 当前值: 基础值 + 修正值
  18. /// </summary>
  19. private float mValue;
  20. /// <summary>
  21. /// 构造函数
  22. /// </summary>
  23. /// <param name="value">初始值</param>
  24. public LogicFighterProperty(float value)
  25. {
  26. this.mBaseValue = value;
  27. this.mCorrectedValue = 0;
  28. this.ReplaceTotalValue();
  29. }
  30. /// <summary>
  31. /// 获取当前值
  32. /// </summary>
  33. /// <returns>当前值</returns>
  34. public float GetValue()
  35. {
  36. return this.mValue;
  37. }
  38. /// <summary>
  39. /// 获取基础值
  40. /// </summary>
  41. /// <returns>基础值</returns>
  42. public float GetBaseValue()
  43. {
  44. return this.mBaseValue;
  45. }
  46. /// <summary>
  47. /// 获取修正值
  48. /// </summary>
  49. /// <returns>修正值</returns>
  50. public float GetCorrectedValue()
  51. {
  52. return this.mCorrectedValue;
  53. }
  54. /// <summary>
  55. /// 修改修正值
  56. /// </summary>
  57. /// <param name="val">修改值</param>
  58. public void ModifyCorrectedValue(float val)
  59. {
  60. this.mCorrectedValue += val;
  61. this.ReplaceTotalValue();
  62. }
  63. /// <summary>
  64. /// 设置新值
  65. /// </summary>
  66. /// <param name="val">设置值</param>
  67. public void SetCorrectedValue(float val)
  68. {
  69. this.mCorrectedValue = val;
  70. this.ReplaceTotalValue();
  71. }
  72. /// <summary>
  73. /// 清空附加值
  74. /// </summary>
  75. public void ClearCorrectedValue()
  76. {
  77. this.mCorrectedValue = 0;
  78. this.ReplaceTotalValue();
  79. }
  80. /// <summary>
  81. /// 刷新属性总值
  82. /// </summary>
  83. private void ReplaceTotalValue()
  84. {
  85. this.mValue = this.mBaseValue + this.mCorrectedValue;
  86. }
  87. }
  88. }