TalentInfoItem.ts 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // Learn TypeScript:
  2. // - https://docs.cocos.com/creator/manual/en/scripting/typescript.html
  3. // Learn Attribute:
  4. // - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html
  5. // Learn life-cycle callbacks:
  6. // - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html
  7. import { MateData } from "../datas/MateData";
  8. import GameM from "../manager/GameM";
  9. const {ccclass, property} = cc._decorator;
  10. @ccclass
  11. export default class TalentInfoItem extends cc.Component {
  12. @property(cc.Sprite)
  13. img:cc.Sprite=null;
  14. @property(cc.Label)
  15. txtName:cc.Label=null;
  16. @property(cc.RichText)
  17. txtDes:cc.Label=null;
  18. Init(mateid: number, talentid: number){
  19. let cfg = GameM.commonData.mateTalentCfg[mateid - 1];
  20. let des = cfg.talents[talentid - 1].des;
  21. let coins = cfg.talents[talentid - 1].uplevel_coin;
  22. let eft = cfg.talents[talentid - 1].uplevel_effect;
  23. let efttype = cfg.talents[talentid - 1].effect_type;
  24. let talentlv = MateData.Ins.GetMateTalent(mateid, talentid).lv;
  25. cc.loader.loadRes("xiyou/talent/" + mateid + "-" + talentid, cc.SpriteFrame, (err, res) => {
  26. if (err) {
  27. return;
  28. }
  29. this.img.spriteFrame = res;
  30. });
  31. this.txtName.string = cfg.talents[talentid - 1].name;
  32. //this.mateName.string = cfg.mate_name;
  33. let desStr = "<b><outline color=#4C0404 width=1.8>";
  34. for (let i = 0; i < des.length; i++) {
  35. if (des[i] == "now_value") {
  36. desStr += eft[talentlv - 1] + (efttype == 1 ? "" : "%") + ""
  37. } else if (des[i] == "next_value") {
  38. if (talentlv < coins.length)
  39. desStr += "</outline><outline color=#19932F width=0><color=#0C9309>(↑" + eft[talentlv] + (efttype == 1 ? "" : "%") + ")</color></outline>";
  40. } else {
  41. desStr += "<outline color=#4C0404 width=1.8>" + des[i] + "</outline>";
  42. }
  43. }
  44. desStr += "</b>";
  45. this.txtDes.string = desStr;
  46. }
  47. }