CarAddPark.js 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. // Learn cc.Class:
  2. // - https://docs.cocos.com/creator/manual/en/scripting/class.html
  3. // Learn Attribute:
  4. // - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html
  5. // Learn life-cycle callbacks:
  6. // - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html
  7. cc.Class({
  8. extends: cc.Component,
  9. properties: {
  10. Car_Parking_area:cc.Node,
  11. Car_Price:cc.Label,
  12. Car_Park: {
  13. default: null,
  14. type: cc.Prefab,
  15. },
  16. Cars_Run_detail: cc.Prefab,
  17. Cars_Run_Area: cc.Node,
  18. toast:cc.Label
  19. },
  20. // LIFE-CYCLE CALLBACKS:
  21. onLoad() {
  22. this.Cars_Run_Area = cc.find("Canvas/Main/role/Run_cars");
  23. this.node.on('click', this.addcar, this);
  24. this.updateAddCarButton();
  25. },
  26. // start () {
  27. // },
  28. addcar() {
  29. if (!Global.endinit) {
  30. Global.toast("请等待汽车加载完成!")
  31. return;
  32. }
  33. if (this.Car_Parking_area.childrenCount < 15) {
  34. this.consume();
  35. }else{
  36. //toast提示空余车位不足
  37. Global.toast('车位不足');
  38. // console.log('车位不足')
  39. }
  40. },
  41. consume() {
  42. let yuer = Number(Storage.Get_storage(Storage.GameMessageType.coin)) - Number(this.Car_Price.string);
  43. if (yuer >= 0) {
  44. Storage.Set_storage(Storage.GameMessageType.coin, yuer);
  45. this.AddCarToPark();
  46. } else {
  47. Global.toast('余额不足');
  48. Dialog.Init();
  49. // console.log('余额不足')
  50. }
  51. },
  52. AddCarToPark() {
  53. let add_level = Storage.Get_storage(Storage.GameMessageType.buy_car_level);
  54. if (add_level == 0) add_level = 1;
  55. let node = cc.instantiate(this.Car_Park);
  56. node.getChildByName("car_parking_pic").getChildByName("number").getComponent(cc.Label).string = add_level;
  57. let pic_url = Global.Cars[add_level].car_park_pic
  58. cc.resources.load(pic_url, cc.SpriteFrame, function (err, spriteFrame) {
  59. node.getChildByName("car_parking_pic").getComponent(cc.Sprite).spriteFrame = spriteFrame;
  60. });
  61. node.parent = this.Car_Parking_area;
  62. this.updateCarPrice(Number(this.Car_Price.string));
  63. this.AddCarToRun(node,add_level);
  64. this.updateAddCarButton();
  65. MyAudio.PlayEffect_initcar();
  66. },
  67. updateCarPrice(num) {
  68. let num_next = Math.trunc(num + 10);
  69. this.Car_Price.string = num_next;
  70. Storage.Set_storage(Storage.GameMessageType.buy_coin, num_next);
  71. },
  72. AddCarToRun(node,add_level) {
  73. var car_run_node = cc.instantiate(this.Cars_Run_detail);
  74. node.getComponent("CarBindRunAndPark").Bind(car_run_node);
  75. let pic_url = Global.Cars[add_level].car_run_pic
  76. cc.resources.load(pic_url, cc.SpriteFrame, function (err, spriteFrame) {
  77. car_run_node.getComponent(cc.Sprite).spriteFrame = spriteFrame;
  78. });
  79. car_run_node.getChildByName("number_pic").getChildByName("level_number").getComponent(cc.Label).string = add_level;
  80. car_run_node.parent = this.Cars_Run_Area;
  81. cc.find("Canvas/Main/role/Stop_cars/car_park").getComponent("CarManager").AfterCarAddOrMerge();
  82. //判断是否破纪录
  83. if (Global.MaxCarLevel == 0 ) Global.MaxCarLevel = 1;
  84. },
  85. updateAddCarButton() {
  86. let add_level = Storage.Get_storage(Storage.GameMessageType.buy_car_level);
  87. if (add_level == 0) add_level = 1;
  88. let pic_url = Global.Cars[add_level].car_park_pic;
  89. var self = this;
  90. cc.resources.load(pic_url, cc.SpriteFrame, function (err, spriteFrame) {
  91. self.node.getChildByName('car_park').getComponent(cc.Sprite).spriteFrame = spriteFrame;
  92. });
  93. self.node.getChildByName('car_park').getChildByName('level').getComponent(cc.Label).string = add_level;
  94. if (Storage.Get_storage(Storage.GameMessageType.buy_coin) == 0) {
  95. self.node.getChildByName('Add').getChildByName('price').getComponent(cc.Label).string = 100;
  96. } else {
  97. self.node.getChildByName('Add').getChildByName('price').getComponent(cc.Label).string = Storage.Get_storage(Storage.GameMessageType.buy_coin);
  98. }
  99. // this.UpdateLowLevelCar(add_level);
  100. },
  101. //如果当前有低于新增按钮级别的车,免费帮忙升级
  102. UpdateLowLevelCar(level) {
  103. let nodelist = this.Car_Parking_area.children;
  104. // let node_need_update = 0;
  105. // var self = this;
  106. for (let i in nodelist) {
  107. let level_node = nodelist[i].getChildByName('car_parking_pic').getChildByName('number').getComponent(cc.Label).string;
  108. if (Number(level_node) < level) {
  109. //更新停車pic
  110. nodelist[i].getChildByName('car_parking_pic').getChildByName('number').getComponent(cc.Label).string = level;
  111. cc.resources.load(Global.Cars[level].car_park_pic, cc.SpriteFrame, function (err, spriteFrame) {
  112. nodelist[i].getChildByName('car_parking_pic').getComponent(cc.Sprite).spriteFrame = spriteFrame;
  113. //更新每秒收益值
  114. cc.find("Canvas/Main/role/Stop_cars/car_park").getComponent("CarManager").AfterCarAddOrMerge();
  115. let toast_label = cc.find('Toast').getComponent(cc.Label);
  116. if(cc.sys.language != cc.sys.LANGUAGE_CHINESE){
  117. toast_label.string = "Level " +level_node+ " car free upgrade to level " + level;
  118. } else {
  119. toast_label.string = "免费将" + level_node + "级车升级为" + level + "级车!";
  120. }
  121. setTimeout(function () {
  122. toast_label.string = '';
  123. },1000)
  124. // Global.toast("免费将" +level_node+ "级车升级为" + level + "级车!");
  125. });
  126. //更新跑动的pic和level
  127. let runcar = nodelist[i].getComponent("CarBindRunAndPark").Bind_Car_Run;
  128. if (runcar != null) {
  129. runcar.getChildByName('number_pic').getChildByName('level_number').getComponent(cc.Label).string = level;
  130. cc.resources.load(Global.Cars[level].car_run_pic, cc.SpriteFrame, function (err, spriteFrame) {
  131. runcar.getComponent(cc.Sprite).spriteFrame = spriteFrame;
  132. });
  133. }
  134. }
  135. }
  136. }
  137. });