LayoutGame.ts 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. import { _decorator, Button, Component, Label, Node, Settings, } from 'cc';
  2. import { BoardView } from '../../element/board/BoardView';
  3. import { rootMgr } from '../../scene/RootMgr';
  4. import { Board } from '../../element/board/Board';
  5. import { Stage } from '../../data/stage/Stage';
  6. import { StageModel } from '../../util/JsonModel/StageModel';
  7. import { aa } from 'db://assets/scripts/aa';
  8. import { UI_Win } from '../UIDialog/win/UI_Win';
  9. import { UI_Setting } from '../UIDialog/setting/UI_Setting';
  10. import { Player } from '../../data/player/Player';
  11. import { FMSType } from '../../GameContorl/fms/FMSGameInit';
  12. import { UI_Revive } from '../UIDialog/revive/UI_Revive';
  13. import { ButtomList } from '../../element/buttomList/ButtomList';
  14. import { UI_Lose } from '../UIDialog/lose/UI_Lose';
  15. const { ccclass, property } = _decorator;
  16. @ccclass('LayoutGame')
  17. export class LayoutGame extends Component {
  18. @property(Node)
  19. button: Node
  20. @property(BoardView)
  21. boardView: BoardView
  22. @property(Label)
  23. label: Label
  24. @property(Node)
  25. settingbtn: Node
  26. @property(ButtomList)
  27. buttomList: ButtomList
  28. protected start(): void {
  29. //aa.uIMgr.showUI(UI_Revive)
  30. let board = rootMgr.gameCompent.getCompent(Board, true)
  31. let stage = rootMgr.dataControl.getCompent(Stage)
  32. this.button?.on(Node.EventType.TOUCH_END, () => {
  33. rootMgr.game.evt.emit('gameClear')
  34. })
  35. this.settingbtn.on(Node.EventType.TOUCH_END, this.showSetting, this)
  36. this.label.string = "第" + stage.index + "关"
  37. board.initBoard(5, 5)
  38. this.boardView.init(board)
  39. }
  40. protected onEnable(): void {
  41. rootMgr.game.evt.on('gameClear', this.gameClear, this)
  42. rootMgr.game.evt.on('toNextStage', this.toNextStage, this)
  43. }
  44. protected onDisable(): void {
  45. rootMgr.game.evt.off('gameClear', this.gameClear, this)
  46. rootMgr.game.evt.off('toNextStage', this.toNextStage, this)
  47. }
  48. gameClear() {
  49. let stage = rootMgr.dataControl.getCompent(Stage)
  50. let player = rootMgr.dataControl.getCompent(Player)
  51. player.life = Math.min(player.life + 1, player.getLifeControl().max)
  52. stage.index++
  53. player.upload_score()
  54. rootMgr.game.evt.emit('save', true)
  55. aa.uIMgr.showUI(UI_Win)
  56. }
  57. toNextStage() {
  58. rootMgr.game.Change(FMSType.Start)
  59. }
  60. showSetting() {
  61. aa.uIMgr.showUI(UI_Setting)
  62. }
  63. }