StoreView.js 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. cc.Class({
  2. extends: cc.Component,
  3. properties: {
  4. Seed: {
  5. default: null,
  6. type: cc.Node,
  7. },
  8. Exchange: {
  9. default: null,
  10. type: cc.Node,
  11. },
  12. SeedBtn: {
  13. default: null,
  14. type: cc.Node,
  15. },
  16. ExchangeBtn: {
  17. default: null,
  18. type: cc.Node,
  19. },
  20. SelectedFrame: cc.Node,
  21. //Building40: cc.Node,
  22. ManageUI: cc.Node,
  23. //四个按钮对应的sprite
  24. Normal_Seed_Sprite: cc.SpriteFrame,
  25. Selecteded_Seed_Sprite: cc.SpriteFrame,
  26. Normal_Exchange_Sprite: cc.SpriteFrame,
  27. Selecteded_Exchange_Sprite: cc.SpriteFrame,
  28. //需要切换节点顺序的父节点
  29. container: cc.Node,
  30. //商城的列表
  31. mySeedList: [],
  32. seedPrefab: cc.Prefab,
  33. seedSpriteFrame: {
  34. default: [],
  35. type: [cc.SpriteFrame]
  36. },
  37. seedNodeArry: {
  38. default: [],
  39. type: [cc.Node]
  40. },
  41. snbAmount:0,
  42. cntAmount:0,
  43. ExchangePopView: {
  44. default: null,
  45. type: cc.Node,
  46. },
  47. PayCNTPopView: {
  48. default: null,
  49. type: cc.Node,
  50. },
  51. buySeedIndex:-1,
  52. },
  53. HiddenAll() {
  54. if (this.Seed.active)
  55. this.Seed.active = false;
  56. if (this.Exchange.active)
  57. this.Exchange.active = false;
  58. },
  59. start() {
  60. //默认设置第一个节点为 最上面
  61. this.SeedBtn.setSiblingIndex(10);
  62. //获取种子和果实
  63. GlobalD.GameData.getMallSeed((res, vaule) => {
  64. console.log('vaule111111111=',vaule)
  65. this.mySeedList = vaule.data;
  66. for (let i = 0; i < this.mySeedList.length; i++) {
  67. //没有种子数量不显示 todo 看看后续需不需要处理删除
  68. if (this.mySeedList[i].amount < 1) continue;
  69. let _seed = cc.instantiate(this.seedPrefab);
  70. _seed.getChildByName("buy_button").active = true;
  71. _seed.getChildByName("Name").active = false;
  72. // _seed.getChildByName("Name").getChildByName("Num").getComponent(cc.Label).strng = '';//'x'+this.mySeedList[i].amount;
  73. this.seedNodeArry.push(_seed);
  74. _seed.parent = this.Seed;
  75. let _seedScript = _seed.getComponent("Content_Button");
  76. //设置一个生成点
  77. let _spawnScript = _seed.getComponent("Content_seed");
  78. _spawnScript.myIndex = i;
  79. _spawnScript.SpawnPoint = cc.find("Canvas/SpawnParent/SpawnPoint");
  80. _seedScript.NumLabel.string = this.mySeedList[i].amount;
  81. _seedScript.NameLabel.string = this.mySeedList[i].name;
  82. switch (this.mySeedList[i].picture) {
  83. case "Cabbage":
  84. _seedScript.bgSprite.spriteFrame = this.seedSpriteFrame[0];
  85. break;
  86. case "Potato":
  87. _seedScript.bgSprite.spriteFrame = this.seedSpriteFrame[1];
  88. break;
  89. case "Carrot":
  90. _seedScript.bgSprite.spriteFrame = this.seedSpriteFrame[2];
  91. break;
  92. case "Broccoli":
  93. _seedScript.bgSprite.spriteFrame = this.seedSpriteFrame[3];
  94. break;
  95. case "Tomato":
  96. _seedScript.bgSprite.spriteFrame = this.seedSpriteFrame[4];
  97. break;
  98. case "Squash":
  99. _seedScript.bgSprite.spriteFrame = this.seedSpriteFrame[5];
  100. break;
  101. case "Eggplant":
  102. _seedScript.bgSprite.spriteFrame = this.seedSpriteFrame[6];
  103. break;
  104. case "Pepper":
  105. _seedScript.bgSprite.spriteFrame = this.seedSpriteFrame[7];
  106. break;
  107. default:
  108. break;
  109. }
  110. }
  111. });
  112. },
  113. //切换建筑的面板
  114. onSwitchBuildingContent(event, index) {
  115. this.SeedBtn.setScale(1);
  116. this.ExchangeBtn.setScale(1);
  117. this.SeedBtn.getComponent(cc.Sprite).spriteFrame = this.Normal_Seed_Sprite;
  118. this.ExchangeBtn.getComponent(cc.Sprite).spriteFrame = this.Normal_Exchange_Sprite;
  119. this.SeedBtn.setContentSize(100, 54);
  120. this.ExchangeBtn.setContentSize(100, 54);
  121. this.SeedBtn.y = -5;
  122. this.ExchangeBtn.y = -5;
  123. this.HiddenAll();
  124. //面板设置index
  125. //种子
  126. if ('0' == index) {
  127. this.SeedBtn.y = -20;
  128. this.SeedBtn.getComponent(cc.Sprite).spriteFrame = this.Selecteded_Seed_Sprite;
  129. this.Seed.active = true;
  130. if(this.seedNodeArry.length!=0)
  131. {
  132. this.SelectedFrame.parent = this.seedNodeArry[0];
  133. }
  134. //if (this.mySeedList.length > 0) {
  135. // let Synopsis = "成熟期:" + this.mySeedList[0].maturity;
  136. // this.ManageUI.getComponent('ManageUI').onSetButtonInfo(this.mySeedList[0].name, this.mySeedList[0].priceSnb, Synopsis);
  137. //}
  138. this.SeedBtn.setSiblingIndex(10);
  139. this.SeedBtn.setContentSize(86, 88);
  140. }
  141. //兑换
  142. else if ('1' == index) {
  143. this.ExchangeBtn.y = -20;
  144. this.ExchangeBtn.getComponent(cc.Sprite).spriteFrame = this.Selecteded_Exchange_Sprite;
  145. this.Exchange.active = true;
  146. this.ExchangeBtn.setSiblingIndex(10);
  147. this.ExchangeBtn.setContentSize(86, 88);
  148. }
  149. },
  150. switch: function () {
  151. var children = this.container.children;
  152. var length = children.length;
  153. if (length > 1) {
  154. var src = Math.floor(Math.random() * length);
  155. var node = children[src];
  156. var dst = src === length - 1 ? 0 : src + 1;
  157. node.setSiblingIndex(dst);
  158. }
  159. },
  160. SNBExchangeToCNT()
  161. {
  162. GlobalD.GameData.onSnbToCnt(this.snbAmount, (res, vaule) => {
  163. this.ExchangePopView.active = false;
  164. console.log('vaulet=',vaule)
  165. console.log('res=',res)
  166. });
  167. },
  168. onPayCNTPopView(myIndex)
  169. {
  170. this.buySeedIndex = myIndex;
  171. this.PayCNTPopView.active = true;
  172. // console.log('this.mySeedList[this.buySeedIndex] =',this.mySeedList[this.buySeedIndex])
  173. this.PayCNTPopView.getChildByName("BG").getChildByName("BG1_sprite_splash").getChildByName("NameLabel").getChildByName("label").getComponent(cc.Label).string = this.mySeedList[this.buySeedIndex].name;
  174. this.PayCNTPopView.getChildByName("BG").getChildByName("BG1_sprite_splash").getChildByName("PriceLabel").getChildByName("label").getComponent(cc.Label).string = this.mySeedList[this.buySeedIndex].priceCnt + ' CNT';
  175. this.PayCNTPopView.getChildByName("BG").getChildByName("BG1_sprite_splash").getChildByName("MutureDurLabel").getChildByName("label").getComponent(cc.Label).string = this.mySeedList[this.buySeedIndex].maturity;
  176. },
  177. PayCNT()
  178. {
  179. console.log('this.cntAmount=',this.cntAmount)
  180. GlobalD.GameData.payCNT(this.cntAmount, 4, this.mySeedList[this.buySeedIndex].id, (res, vaule) => {
  181. console.log('PayCNT1 res= ',res);
  182. console.log('PayCNT2 vaule= ',vaule);
  183. this.PayCNTPopView.active = false;
  184. });
  185. },
  186. //onEditDidBegan: function(editbox, customEventData) {
  187. // // 这里 editbox 是一个 cc.EditBox 对象
  188. // // 这里的 customEventData 参数就等于你之前设置的 "foobar"
  189. //},
  190. //// 假设这个回调是给 editingDidEnded 事件的
  191. //onEditDidEnded: function(editbox, customEventData) {
  192. // // 这里 editbox 是一个 cc.EditBox 对象
  193. // // 这里的 customEventData 参数就等于你之前设置的 "foobar"
  194. //},
  195. //// 假设这个回调是给 textChanged 事件的
  196. //onTextChanged: function(text, editbox, customEventData) {
  197. // // 这里的 text 表示 修改完后的 EditBox 的文本内容
  198. // // 这里 editbox 是一个 cc.EditBox 对象
  199. // // 这里的 customEventData 参数就等于你之前设置的 "foobar"
  200. // this.snbAmount = parseInt(text);
  201. //},
  202. //// 假设这个回调是给 editingReturn 事件的
  203. //onEditingReturn: function(editbox, customEventData) {
  204. // // 这里 editbox 是一个 cc.EditBox 对象
  205. // // 这里的 customEventData 参数就等于你之前设置的 "foobar"
  206. //}
  207. // 假设这个回调是给 textChanged 事件的
  208. onTextChanged1: function(text, editbox, customEventData) {
  209. // 这里的 text 表示 修改完后的 EditBox 的文本内容
  210. // 这里 editbox 是一个 cc.EditBox 对象
  211. // 这里的 customEventData 参数就等于你之前设置的 "foobar"
  212. this.cntAmount = parseInt(text);
  213. },
  214. // 假设这个回调是给 textChanged 事件的
  215. onTextChanged2: function(text, editbox, customEventData) {
  216. // 这里的 text 表示 修改完后的 EditBox 的文本内容
  217. // 这里 editbox 是一个 cc.EditBox 对象
  218. // 这里的 customEventData 参数就等于你之前设置的 "foobar"
  219. this.snbAmount = parseInt(text);
  220. },
  221. });