SkillData.ts 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import { SkillConf } from "../conf/SkillConf";
  2. import { BattleDataPool } from "./BattleDataPool";
  3. import { BattleUtil } from "./BattleUtil";
  4. import { DataBase } from "./DataBase";
  5. //效果类型
  6. export enum EffectType{
  7. //加buff
  8. AddBuff,
  9. //加血
  10. AddHp,
  11. //减血
  12. SubHp,
  13. }
  14. //技能数据组装类
  15. export class SkillData extends DataBase{
  16. //效果类型
  17. effectType:EffectType;
  18. buffID:number;
  19. //目标数量
  20. ePos:number;
  21. //参数
  22. eParam:number;
  23. eParam2:number;
  24. eParam3:number;
  25. eParam4:number;
  26. //来源
  27. srcDataBaseID:number;
  28. srcDataBase:DataBase;
  29. //暂无可变参数
  30. init(typeID:number,srcDataBase:DataBase){
  31. super._init();
  32. this.typeID = typeID;
  33. let skillConf = SkillConf.data[typeID]
  34. if (skillConf) {
  35. let effectObjArr = skillConf.EffectObjArr;
  36. if (effectObjArr) {
  37. let effectObj = effectObjArr[0];
  38. if (effectObj) {
  39. this.effectType = effectObj.effectType;
  40. this.buffID = effectObj.buffID;
  41. this.ePos = effectObj.ePos;
  42. this.eParam = effectObj.eParam;
  43. this.eParam2 = effectObj.eParam2;
  44. this.eParam3 = effectObj.eParam3;
  45. this.eParam4 = effectObj.eParam4;
  46. this.srcDataBaseID = srcDataBase.ID;
  47. this.srcDataBase = srcDataBase;
  48. return this;
  49. }
  50. }
  51. }
  52. }
  53. clear(){
  54. this.effectType = EffectType.AddBuff;
  55. this.buffID = BattleUtil.TypeID_Init;
  56. this.ePos = 0;
  57. this.eParam = 0;
  58. this.eParam2 = 0;
  59. this.eParam3 = 0;
  60. this.eParam4 = 0;
  61. super.clear();
  62. }
  63. }
  64. export let SkillDataPool = new BattleDataPool(SkillData,100)