HomeMergeSellCom.ts 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import Gamecfg from "../../../../common/gameCfg";
  2. import GameDataCenter from "../../../../data/GameDataCenter";
  3. import { MergeItem } from "../../../../data/model/GridMap/GridMapModel";
  4. import ResSprite from "../../../../frameWork/compment/ResSprite";
  5. import EventMng from "../../../../manager/EventMng";
  6. import { HcType } from "../../../../shared/hc/PtlHcInfo";
  7. import { GridEvent } from "../../../gridMap/GridEvent";
  8. import { I_CubeData } from "../../../gridMap/UECube";
  9. export interface MergeSellData {
  10. isShow: boolean;
  11. item: I_CubeData;
  12. }
  13. export default class HomeMergeSellCom {
  14. private _vm: fairygui.GComponent;
  15. private sp_item: ResSprite;
  16. private QualityLoad: fgui.GLoader;
  17. private SellBtn: fgui.GButton;
  18. private QualityLabel: fgui.GTextField;
  19. data: MergeSellData;
  20. public constructor(vm: fgui.GComponent) {
  21. this._vm = vm;
  22. this.sp_item = vm.getChild('IconLoad').node.addComponent(ResSprite);
  23. this.QualityLoad = vm.getChild('QualityLoad').asLoader;
  24. this.SellBtn = vm.getChild('SellBtn').asButton;
  25. this.QualityLabel = vm.getChild('QualityLabel').asTextField;
  26. }
  27. public onEnable(): void {
  28. EventMng.on(GridEvent.HC_MERGE_SELL, this.OnHcMergeSell, this);
  29. this.SellBtn.onClick(this.OnSellBtnClick, this);
  30. }
  31. public onDisable(): void {
  32. EventMng.off(GridEvent.HC_MERGE_SELL, this.OnHcMergeSell, this);
  33. this.SellBtn.offClick(this.OnSellBtnClick, this);
  34. }
  35. private OnSellBtnClick(): void {
  36. GameDataCenter.gridMap.sendHcSell(this.data.item.idx);
  37. }
  38. private OnHcMergeSell(data: MergeSellData): void {
  39. this.data = data;
  40. this._vm.visible = data.isShow;
  41. if (data.isShow) {
  42. let quality = 0;
  43. this.SellBtn.visible = false;
  44. if (data.item.type == HcType.emitter) {
  45. let mergePropCfg = Gamecfg.emitterInfo.getItem(data.item.id.toString());
  46. this.sp_item.setSpriteFrame('gridMap', `mergeProp/${mergePropCfg.icon}`);
  47. quality = mergePropCfg.quality;
  48. } else if (data.item.type == HcType.material) {
  49. let mergePropCfg = Gamecfg.mergePropInfo.getItem(data.item.id.toString());
  50. this.sp_item.setSpriteFrame('gridMap', `mergeProp/${mergePropCfg.icon}`);
  51. quality = mergePropCfg.quality;
  52. this.SellBtn.title = mergePropCfg.price.toString();
  53. this.SellBtn.visible = true;
  54. } else if (data.item.type == HcType.equip) {
  55. let mergePropCfg = Gamecfg.equipInfo.getItem(data.item.id.toString());
  56. this.sp_item.setSpriteFrame('gridMap', `mergeEquip/${mergePropCfg.icon}`);
  57. quality = mergePropCfg.quality;
  58. // this.SellBtn.title = mergePropCfg.price.toString();
  59. this.SellBtn.visible = true;
  60. } else if (data.item.type == HcType.user) {
  61. } else if (data.item.type == HcType.monster) {
  62. }
  63. if (quality > 0) {
  64. this.QualityLoad.url = `ui://Home/Img_zjm_xqpinzhi0${quality - 1}`;
  65. this.QualityLabel.text = `T${quality}`;
  66. } else {
  67. this.QualityLoad.url = ``;
  68. }
  69. }
  70. }
  71. }