GameController.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. import GameModel from "../Model/GameModel";
  2. import {GRID_WIDTH, GRID_HEIGHT} from '../Model/ConstValue';
  3. import Toast from '../Utils/Toast';
  4. import SdkUtil from "../Utils/SdkUtil";
  5. cc.Class({
  6. extends: cc.Component,
  7. properties: {
  8. grid: {
  9. default: null,
  10. type: cc.Node
  11. },
  12. skillTip: {
  13. default: null,
  14. type: cc.Node
  15. },
  16. isVideoAd: false
  17. },
  18. isCrushOne: false,
  19. isStepPause: false,
  20. // use this for initialization
  21. onLoad: function () {
  22. SdkUtil.Instance.motivational_Video_Load()
  23. this.gameModel = new GameModel();
  24. this.gameModel.init(4);
  25. this.gridScript = this.grid.getComponent("GridView");
  26. this.gridScript.setController(this);
  27. this.gridScript.initWithCellModels(this.gameModel.getCells());
  28. },
  29. selectCell: function (pos) {
  30. return this.gameModel.selectCell(pos);
  31. },
  32. cleanCmd: function () {
  33. this.gameModel.cleanCmd();
  34. },
  35. processCrushOne(pos){
  36. return this.gameModel.processCrushOne(pos)
  37. },
  38. onSkill(e, type){
  39. if(this.isVideoAd){
  40. SdkUtil.Instance.motivational_Video_Show(()=>{
  41. this[type]()
  42. }, ()=>{
  43. console.log('激励广告加载失败')
  44. })
  45. }else{
  46. this[type]()
  47. }
  48. },
  49. onSkillCrushOne(){
  50. if(this.gridScript.isInPlayAni) return
  51. this.isCrushOne = true
  52. const msg = this.skillTip.getChildByName('msg')
  53. msg.getComponent(cc.Label).string = '选择一个需要消除的块'
  54. this.showSkillTip(true)
  55. },
  56. onSkillStepPause(){
  57. if(this.gridScript.isInPlayAni) return
  58. this.isStepPause = true
  59. const msg = this.skillTip.getChildByName('msg')
  60. msg.getComponent(cc.Label).string = '步数暂停中'
  61. this.showSkillTip(true)
  62. },
  63. onSkillShuffle(){
  64. if(this.gridScript.isInPlayAni) return
  65. this.grid.children.forEach(item=>{
  66. if(item.name != 'bg') item.destroy()
  67. })
  68. this.gameModel = new GameModel();
  69. this.gameModel.init(6);
  70. this.gridScript = this.grid.getComponent("GridView");
  71. this.gridScript.setController(this);
  72. this.gridScript.initWithCellModels(this.gameModel.getCells());
  73. },
  74. showSkillTip(isShow){
  75. this.skillTip.active = isShow
  76. }
  77. });