LeaseSaleInfo.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. import gameToast from "../Network/gameToast"
  2. cc.Class({
  3. extends: cc.Component,
  4. properties: {
  5. saleName: {
  6. default: null,
  7. type: cc.Label,
  8. serializable: true,
  9. },
  10. saleAmount: {
  11. default: null,
  12. type: cc.Label,
  13. serializable: true,
  14. },
  15. inputInviteValue: {
  16. default: 0,
  17. visible: false,
  18. serializable:false
  19. },
  20. //当前操作的果实信息
  21. fruitInfo: {
  22. default: null,
  23. serializable: true,
  24. visible: false
  25. },
  26. upTarget: {
  27. default: null,
  28. type: cc.Node,
  29. tooltip: "把当前操作的ui按钮传进来"
  30. },
  31. inputContainer: {
  32. default: null,
  33. type: cc.Node,
  34. tooltip: "inputEditbox"
  35. },
  36. isPlayingSnb: false,
  37. /**
  38. * 预计收入显示
  39. */
  40. estimateAmount: {
  41. default: null,
  42. type: cc.Label,
  43. serializable: true,
  44. },
  45. },
  46. inputValue(value, e) {
  47. var numberTemp = new RegExp("^[A-Za-z0-9]+$");
  48. if (numberTemp.test(value)) {
  49. if (Number(value) >= 1) {
  50. this.inputInviteValue = Number(value);
  51. } else {
  52. this.inputInviteValue = 0;
  53. this.inputContainer.getComponent(cc.EditBox).string = this.inputInviteValue;
  54. }
  55. } else {
  56. this.inputInviteValue = 0;
  57. this.inputContainer.getComponent(cc.EditBox).string = this.inputInviteValue;
  58. console.log("请输入20整数的倍数", this.inputInviteValue);
  59. }
  60. this.estimateAmount.string = Number(this.inputInviteValue * 1)+" SNB";
  61. },
  62. setInfo(saleName, amount) {
  63. this.saleName.string = saleName;
  64. this.saleAmount.string = amount;
  65. },
  66. onclose() {
  67. this.node.destroy();
  68. },
  69. //确定销售果实
  70. onLeaseSaleFruit() {
  71. //todo 判断一下amount
  72. console.log(this.inputInviteValue, Number(this.saleAmount.string));
  73. if (this.inputInviteValue > Number(this.saleAmount.string)) {
  74. GlobalD.GameData.showToast(cc.find('Canvas/UICamera'), "销售的果实数量过多!", 1);
  75. return;
  76. }
  77. if (this.inputInviteValue <=0) {
  78. GlobalD.GameData.showToast(cc.find('Canvas/UICamera'), "输入不为零的果实数量!", 1);
  79. return;
  80. }
  81. // if (this.isPlayingSnb) {
  82. // console.warn("同时触发支付SNB过快!");
  83. // return;
  84. // }
  85. // this.isPlayingSnb = true;
  86. if (GlobalD.GameData.isOnSaleFruit) return;
  87. GlobalD.GameData.showToast(cc.find('Canvas/UICamera'), "销售果实中...", 5);
  88. GlobalD.GameData.onSaleFruit({ fruitId: this.fruitInfo.id, amount: this.inputInviteValue }, (res, value) => {
  89. // this.isPlayingSnb = false;
  90. // console.log(value);
  91. if (value.code === 0) {
  92. // let NumLabel = this.upTarget.getComponent("Content_Button").NumLabel.getComponent(cc.Label);
  93. // if (parseInt(NumLabel.string) <= this.inputInviteValue) {
  94. // //这里只隐藏
  95. // this.upTarget.active = false;
  96. // } else {
  97. // NumLabel.string = parseInt(NumLabel.string) - this.inputInviteValue;
  98. // this.saleAmount.string = parseInt(this.saleAmount.string) - this.inputInviteValue;
  99. // }
  100. var BuildingView = cc.find("Canvas/UICamera/BuildingContainer/BuildingView").getComponent("BuildingView");
  101. BuildingView.onUpdateList();
  102. //更新ui snb
  103. GlobalD.GameData.onGetUserSnb((res, value) => {
  104. this.saleAmount.string = parseInt(this.saleAmount.string) - this.inputInviteValue;
  105. });
  106. // GlobalD.GameData.SetSNB(GlobalD.GameData.GetSNB() + (this.inputInviteValue * this.fruitInfo.priceSnb));
  107. // this.saleAmount.string = parseInt(this.saleAmount.string) - this.inputInviteValue;
  108. GlobalD.GameData.showToast(cc.find('Canvas/UICamera'), "成功售卖了!", 1);
  109. //更新日志列表
  110. //更新日志数据
  111. cc.find("GameNode/ManageDapp").getComponent("ManageDapp").onUpdateSnbList();
  112. } else {
  113. GlobalD.GameData.showToast(cc.find('Canvas/UICamera'), value.msg, 1);
  114. }
  115. });
  116. }
  117. });