SaleTipPanel.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. var Event = require("Event");
  2. var AdsParam = require("AdsParam");
  3. var TempBonus = require("TempBonus");
  4. var SaleTipPanel = cc.Class({
  5. extends: cc.Component,
  6. properties: {
  7. IconSp:cc.Sprite,
  8. nameSp:cc.Sprite,
  9. Atlas:cc.SpriteAtlas,
  10. GoodsName:cc.Label,
  11. SaleNumLbl:cc.Label,
  12. EarnLbl:cc.Label,
  13. CBLbl:cc.Label,
  14. Slider:cc.Slider,
  15. InPutBox:cc.EditBox,
  16. Progress:cc.ProgressBar,
  17. SaleNum:0,
  18. Data:null,
  19. needDouble:1,//是否收益翻倍
  20. },
  21. ShowPanel:function (data) {
  22. this.needDouble = 1;
  23. this.Data = null;
  24. this.SaleNum = data.ownNum;
  25. this.IconSp.spriteFrame = this.Atlas.getSpriteFrame(data.icon);
  26. this.nameSp.spriteFrame = this.Atlas.getSpriteFrame(data.name);
  27. var marketPrice = cc.Mgr.UserDataMgr.getGoodsDataById(data.Id).marketPrice;
  28. var money = data.ownNum * (marketPrice - data.buyPrice);
  29. var chengben = data.ownNum * marketPrice;
  30. if(cc.Mgr.global.TempAdsAssetBonus == TempBonus.AssetBonus)
  31. {
  32. if(money > 0)
  33. money = Math.floor(money * 1.2); //有之前看过广告
  34. }
  35. this.EarnLbl.string = cc.Mgr.global.FormatNum(money);
  36. this.CBLbl.string = cc.Mgr.global.FormatNum(chengben);
  37. this.SaleNumLbl.string = data.ownNum;
  38. this.InPutBox.string = data.ownNum;
  39. this.Slider.progress = 1;
  40. this.Progress.progress = 1;
  41. this.Data = data;
  42. },
  43. OnSliderChange:function(){
  44. this.SaleNum = Math.floor(this.Slider.progress * this.Data.ownNum);
  45. this.Progress.progress = this.Slider.progress;
  46. var marketPrice = cc.Mgr.UserDataMgr.getGoodsDataById(this.Data.Id).marketPrice;
  47. var money = this.SaleNum * (marketPrice - this.Data.buyPrice);
  48. var chengben = this.SaleNum * marketPrice;
  49. this.CBLbl.string = cc.Mgr.global.FormatNum(chengben);
  50. this.InPutBox.string = this.SaleNum;
  51. if(cc.Mgr.global.TempAdsAssetBonus == TempBonus.AssetBonus)
  52. {
  53. if(money > 0)
  54. money = Math.floor(money *1.2); //有之前看过广告
  55. }
  56. this.EarnLbl.string = cc.Mgr.global.FormatNum(money);
  57. this.SaleNumLbl.string = this.SaleNum;
  58. },
  59. OnInputBoxEnd:function(){
  60. if(this.InPutBox.string != "")
  61. {
  62. if(Number(this.InPutBox.string) != null)
  63. {
  64. if(Number(this.InPutBox.string) > this.Data.ownNum)
  65. {
  66. this.InPutBox.string = this.Data.ownNum;
  67. this.SaleNum = this.Data.ownNum;
  68. this.Progress.progress = 1;
  69. this.Slider.progress = 1;
  70. }
  71. else
  72. {
  73. this.SaleNum = Number(this.InPutBox.string);
  74. this.Slider.progress = this.SaleNum / this.Data.ownNum;
  75. this.Progress.progress = this.Slider.progress;
  76. }
  77. }
  78. }
  79. else
  80. {
  81. this.InPutBox.string = "0";
  82. this.SaleNum = 0;
  83. this.Progress.progress = 0;
  84. this.Slider.progress = 0;
  85. }
  86. var marketPrice = cc.Mgr.UserDataMgr.getGoodsDataById(this.Data.Id).marketPrice;
  87. var money = this.SaleNum * (marketPrice - this.Data.buyPrice);
  88. var chengben = this.SaleNum * marketPrice;
  89. this.CBLbl.string = cc.Mgr.global.FormatNum(chengben);
  90. if(cc.Mgr.global.TempAdsAssetBonus == TempBonus.AssetBonus)
  91. {
  92. if(money > 0)
  93. money = Math.floor(money *1.2); //有之前看过广告
  94. }
  95. this.EarnLbl.string = cc.Mgr.global.FormatNum(money);
  96. },
  97. ClickSaleBtn:function(){
  98. if(this.SaleNum <= 0)
  99. {
  100. cc.Mgr.AudioMgr.playSFX("click");
  101. return;
  102. }
  103. cc.Mgr.UserDataMgr.WareHouseCapcity += this.SaleNum;
  104. var marketPrice = cc.Mgr.UserDataMgr.getGoodsDataById(this.Data.Id).marketPrice;
  105. var getMoney = (marketPrice * this.SaleNum);
  106. if(cc.Mgr.global.TempAdsAssetBonus == TempBonus.AssetBonus)
  107. {
  108. var money = this.SaleNum * (marketPrice - this.Data.buyPrice);
  109. if(money > 0)
  110. getMoney = Math.floor(getMoney * 1.2) * this.needDouble;
  111. //cc.Mgr.global.TempAdsBonus = TempBonus.NULL;
  112. }
  113. cc.Mgr.UserDataMgr.Cash += getMoney;
  114. var param = {};
  115. param.Num = this.SaleNum;
  116. param.price = this.Data.buyPrice;
  117. param.Id = this.Data.Id;
  118. var data = cc.Mgr.UserDataMgr.SaleGoods(param);
  119. if(marketPrice > this.Data.buyPrice)
  120. cc.Mgr.UserDataMgr.Reputation += 2;
  121. //通知刷新现金
  122. cc.director.GlobalEvent.emit(cc.Mgr.Event.SaleSuccess, data);
  123. this.ClosePanel();
  124. },
  125. ClosePanel:function(){
  126. cc.Mgr.AudioMgr.playSFX("click");
  127. this.node.active = false;
  128. },
  129. DoubleGetByVedio:function(){
  130. if(this.SaleNum <= 0)
  131. {
  132. cc.Mgr.AudioMgr.playSFX("click");
  133. return;
  134. }
  135. var self = this;
  136. cc.Mgr.AdsMgr.ShowVideoAds(AdsParam.PointC, function(out){
  137. if(out == 0)
  138. {
  139. self.needDouble = 2;
  140. self.ClickSaleBtn();
  141. }
  142. });
  143. },
  144. });
  145. module.exports = SaleTipPanel;