MarketTipPanel.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. var MarketTipItem = require("MarketTipItem");
  2. var MarketTipPanel = cc.Class({
  3. extends: cc.Component,
  4. properties: {
  5. TipList:{
  6. default:[],
  7. type:[MarketTipItem],
  8. },
  9. DesLbl:cc.Label,
  10. IntoNode:cc.Node,
  11. IntoDes:cc.Label,
  12. IntoDesNull:cc.Node,
  13. },
  14. ClosePanel:function () {
  15. cc.Mgr.AudioMgr.playSFX("click");
  16. this.node.active = false;
  17. //弹出计算股票收益
  18. if(cc.Mgr.UserDataMgr.CanGetStockProfit == true && cc.Mgr.global.showStockProfit == true)
  19. {
  20. var bonus = 0;
  21. var Id = -1;
  22. for (var i = cc.Mgr.UserDataMgr.CompanyList.length - 1; i >= 0; i--) {
  23. var da = cc.Mgr.UserDataMgr.CompanyList[i];
  24. if(da.stockNum > 0)
  25. {
  26. Id = da.Id;
  27. bonus += Math.floor(da.stockNum * da.stockPrice * (da.bonusRatio + (cc.Mgr.UserDataMgr.StockAddBonus / 100)));
  28. }
  29. }
  30. var param = {};
  31. param.forWhat = "StockBonus";
  32. param.bonus = bonus;
  33. param.Id = Id;
  34. cc.director.GlobalEvent.emit(cc.Mgr.Event.OpenCommonTip , param);
  35. cc.Mgr.global.showStockProfit = false;
  36. }
  37. if(cc.Mgr.global.tutorialStep == 11 && cc.Mgr.UserDataMgr.tutorialInMarket == false) //引导步骤 采用 11 表示第一个大步骤 第一小步
  38. {
  39. var dt = {};
  40. dt.step = 11;
  41. cc.director.GlobalEvent.emit(cc.Mgr.Event.OpenTutorial, dt);
  42. }
  43. },
  44. ShowPanel:function(param){
  45. for (var i = this.TipList.length - 1; i >= 0; i--)
  46. {
  47. this.TipList[i].node.active = false;
  48. }
  49. this.IntoDes.string = "";
  50. this.IntoDesNull.active = false;
  51. //-2表示暴跌 -1表示跌了 0 表示稳定 1有所增长 2表示暴涨
  52. var list = this.CheckShowDes(param);
  53. if(list.length == 0)
  54. {
  55. this.DesLbl.node.active = true;
  56. this.DesLbl.string = cc.Mgr.global.getTranslation("Market_25");
  57. }
  58. else
  59. {
  60. this.DesLbl.node.active = false;
  61. for (var i = 0; i <= list.length - 1; i++)
  62. {
  63. var des = this.DickDes(list[i].State, list[i].name, list[i].Id);
  64. this.TipList[i].node.active = true;
  65. var par = {};
  66. par.des = des;
  67. par.Id = list[i].Id;
  68. this.TipList[i].SetData(par);
  69. }
  70. }
  71. },
  72. DickDes:function(State, name, Id)
  73. {
  74. var des = "";
  75. if(State == 0)
  76. {
  77. var desId = "Market_" + (2*Id -1);
  78. //des = cc.Mgr.global.getTranslation(desId);
  79. }
  80. else if(State == 2)
  81. {
  82. var desId = "Market_" + (2*Id);
  83. //des = cc.Mgr.global.getTranslation(desId);;
  84. }
  85. var re = {};
  86. re.State = State;
  87. re.desId = desId;
  88. return re;
  89. },
  90. CheckShowDes:function(param){
  91. var list = [];
  92. var checkNum = 0;
  93. var rem =[];
  94. for (var i = param.length - 1; i >= 0; i--) {
  95. if(param[i].State != null)
  96. {
  97. if(param[i].State != 1)
  98. {
  99. list.push(param[i]);
  100. checkNum += 1;
  101. }
  102. if(param[i].State != 2 && param[i].Id != 3) //Id 为3 是字画还是黄金来着
  103. {
  104. rem.push(param[i]);
  105. }
  106. }
  107. }
  108. cc.Mgr.global.GoodsForeId = -1;
  109. if(checkNum <= 3 && cc.Mgr.UserDataMgr.Age >= 30 && rem.length > 0)
  110. {
  111. var seed = Math.random();
  112. if (seed < 0.4)
  113. {
  114. var d = Math.floor(Math.random() * rem.length);
  115. cc.Mgr.global.GoodsForeId = rem[d].Id;
  116. this.IntoDes.string = cc.Mgr.global.getTranslation("goods_"+rem[d].Id) + "下一年可能出现涨价" +"\n(前瞻有风险,盈亏自负)";
  117. }
  118. else
  119. {
  120. this.IntoDesNull.active = true;
  121. }
  122. }
  123. else
  124. {
  125. this.IntoDesNull.active = true;
  126. }
  127. return list;
  128. },
  129. });
  130. module.exports = MarketTipPanel;