SuccessAction.ts 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. import { _decorator, Component, instantiate, Label, Node, tween, UITransform, Vec3 } from 'cc';
  2. import { Global } from './Global';
  3. import { Clips } from './Enums';
  4. import { AudioMgr } from './AudioMgr';
  5. import { BasePage } from './BasePage';
  6. import { AdManger } from './ad/AdManger';
  7. import { Tools } from './Tools';
  8. import { PoolMgr } from './PoolMagr';
  9. const { ccclass, property } = _decorator;
  10. @ccclass('SuccessAction')
  11. export class SuccessAction extends BasePage {
  12. @property({type:Label})
  13. level_label:Label = null;
  14. @property({type:Label})
  15. coins_label:Label = null;
  16. @property({type:Node})
  17. coins_img:Node = null;
  18. @property({type:Node})
  19. get_coins_btn:Node = null;
  20. start() {
  21. super.start();
  22. }
  23. update(deltaTime: number) {
  24. }
  25. //show menu plant
  26. open(){
  27. super.open();
  28. if(this.get_coins_btn){
  29. this.get_coins_btn.active = true;
  30. }
  31. AudioMgr.ins.playSound(Clips.complete_2);
  32. this.level_label.string = "Level "+ Global.cur_lvl+" ";
  33. this.coins_label.string = ""+ Global.cur_coins+" ";
  34. this.coins_label.node.scale = new Vec3(3,3,0);
  35. tween(this.coins_label.node)
  36. .to(0.5, { scale: new Vec3(1, 1,0) } ,Global.our_easing)
  37. .start();
  38. }
  39. btn_next(){
  40. AudioMgr.ins.playSound(Clips.btn_1);
  41. if(this.get_coins_btn){
  42. this.get_coins_btn.active = false;
  43. }
  44. this.close();
  45. AdManger.show_interstial();
  46. // Global.reset_level_default();
  47. Global.main_action.next_lvl();
  48. }
  49. private play_add_gift_tween(num:number,world_pos:Vec3,callBack:Function){
  50. let prefab = PoolMgr.ins.getPrefab("coin");
  51. let temp = 0;
  52. for(let i =0;i<num;i++){
  53. let coin = instantiate(prefab);
  54. let local = this.coins_img.getComponent(UITransform).convertToNodeSpaceAR(world_pos);
  55. this.coins_img.addChild(coin);
  56. local.x = local.x + Tools.random_between(-30,80);
  57. local.y = local.y + Tools.random_between(0,150);
  58. coin.setPosition(local);
  59. tween(coin)
  60. .to(Tools.random_between(0.5,1.2),{position:new Vec3(0,0,0)},Global.our_easing)
  61. .call(()=>{
  62. temp++;
  63. this.coins_label.string = ""+ (Global.cur_coins+temp);
  64. AudioMgr.ins.playSound(Clips.coins);
  65. if(temp>=num){
  66. if(callBack){
  67. callBack();
  68. callBack = null;
  69. }
  70. this.coins_label.string = ""+ Global.cur_coins;
  71. }
  72. })
  73. .removeSelf()
  74. .start();
  75. }
  76. }
  77. get_one_bag_coins(){
  78. if(this.get_coins_btn){
  79. this.get_coins_btn.active = false;
  80. }else{
  81. return;
  82. }
  83. AudioMgr.ins.playSound(Clips.btn_1);
  84. AdManger.show_video((data) => {
  85. if (data == 1) {
  86. console.log("get_one_bag_coins 获取奖励成功");
  87. let num = Math.ceil(Tools.random_between(15,46));
  88. // console.log(" random data num :",num);
  89. this.play_add_gift_tween(num,this.get_coins_btn.getWorldPosition(),()=>{
  90. Global.coins_action.put_coins(num,this.coins_img.getWorldPosition(),false);
  91. });
  92. } else {
  93. Global.tips_action.show("Gain reward failure");//获取奖励失败
  94. // this.close();
  95. // Global.main_action.next_lvl();
  96. }
  97. })
  98. }
  99. }