SkillAdapter.cs 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. using UnityEngine;
  2. using System.Collections;
  3. namespace YLBattle
  4. {
  5. /// <summary>
  6. ///
  7. /// </summary>
  8. public class SkillAdapter : ISkillAdapter
  9. {
  10. /// <summary>
  11. /// 获取子弹属性
  12. /// </summary>
  13. /// <param name="tid"></param>
  14. /// <param name="property"></param>
  15. /// <returns></returns>
  16. public object GetBulletProperty(string tid, EBulletProperty property)
  17. {
  18. //var tle = BulletProxy.Instance.GetBulletPropertyById(tid);
  19. var tle = GameConfigData.Ins.GetbulletMo(tid);
  20. if (null == tle)
  21. {
  22. //UnityEngine.Debug.LogError("无法查找到指定【子弹】模板数据, id:" + tid);
  23. return 0;
  24. }
  25. switch (property)
  26. {
  27. case EBulletProperty.EBULLET_PROPERTY_AUDIO:
  28. return tle.shootSound + "," + tle.sendingSound + "," + tle.bomSound;
  29. case EBulletProperty.EBULLET_PROPERTY_TRAJECTTYPE:
  30. return tle.tracktype;
  31. case EBulletProperty.EBULLET_PROPERTY_BOMBDELAY:
  32. return tle.bombdelay;
  33. case EBulletProperty.EBULLET_PROPERTY_SHAKE:
  34. return tle.shake;
  35. case EBulletProperty.EBULLET_PROPERTY_DRAG:
  36. return tle.drag;
  37. case EBulletProperty.EBULLET_PROPERTY_RUNTIME:
  38. return tle.runtime;
  39. }
  40. return null;
  41. }
  42. /// <summary>
  43. /// 获取技能属性数据
  44. /// </summary>
  45. /// <param name="tid"></param>
  46. /// <param name="proty"></param>
  47. /// <returns></returns>
  48. public string GetSkillProperty(string _tid, ESkillProperty _type, int level = 1)
  49. {
  50. if (_tid == string.Empty)
  51. {
  52. return string.Empty;
  53. }
  54. //var skill = SkillProxy.Instance.GetSkillInfoById(_tid);
  55. var skill = GameConfigData.Ins.GetskillMo(int.Parse(_tid));
  56. if (null == skill)
  57. {
  58. LogHelper.LogError("无法查找到指定【技能】模板数据, id:" + _tid);
  59. return "";
  60. }
  61. switch (_type)
  62. {
  63. case ESkillProperty.ESKILL_PROPERTY_DESC:
  64. return skill.desc;
  65. case ESkillProperty.ESKILL_PROPERTY_BOMBTIME:
  66. /**
  67. * 临时为2秒,待技能修改后填入实际数据
  68. */
  69. return skill.delayTime.ToString();
  70. case ESkillProperty.ESKILL_PROPERTY_REDRES:
  71. //资源
  72. return skill.redres;
  73. case ESkillProperty.ESKILL_PROPERTY_BLUERES:
  74. //资源
  75. return skill.blueres;
  76. case ESkillProperty.ESKILL_PROPERTY_SECTION:
  77. //动作
  78. return skill.section.ToString();
  79. case ESkillProperty.ESKILL_PROPERTY_ACTION:
  80. //动作
  81. return skill.action.ToString();
  82. case ESkillProperty.ESKILL_PROPERTY_SKILLTYPE:
  83. //技能类型 1= 普攻 2=技能
  84. return skill.type.ToString();
  85. case ESkillProperty.ESKILL_PROPERTY_AIM:
  86. //瞄准
  87. return skill.aim.ToString();
  88. case ESkillProperty.ESKILL_PROPERTY_AIMPARM:
  89. //瞄准参数
  90. return skill.aimparm.ToString();
  91. case ESkillProperty.ESKILL_PROPERTY_parmValue:
  92. {
  93. //伤害点值(针对技能)
  94. //string valumnValue = skill.parmValue;
  95. //if (valumnValue.IndexOf("/") != -1)
  96. //{
  97. // string[] valueAry = valumnValue.Split('/');
  98. // if (valueAry.Length >= level)
  99. // {
  100. // return valueAry[level - 1];
  101. // }
  102. // else
  103. // {
  104. // return valueAry[valueAry.Length - 1];
  105. // }
  106. //}
  107. return skill.GetParamValue(level).ToString();
  108. }
  109. case ESkillProperty.ESKILL_PROPERTY_proType:
  110. //影响的属性类型(ID)
  111. return skill.ProType.ToString();
  112. case ESkillProperty.ESKILL_PROPERTY_proValue:
  113. {//伤害点值(针对技能)
  114. string valumnValue = skill.ProValue;
  115. if (valumnValue.IndexOf("/") != -1)
  116. {
  117. string[] valueAry = valumnValue.Split('/');
  118. if (valueAry.Length >= level)
  119. {
  120. return valueAry[level - 1];
  121. }
  122. else
  123. {
  124. return valueAry[valueAry.Length - 1];
  125. }
  126. }
  127. return valumnValue;
  128. }
  129. case ESkillProperty.ESKILL_PROPERTY_BuffLst:
  130. return skill.BuffLst;
  131. }
  132. return string.Empty;
  133. }
  134. }
  135. }