import { _decorator, Button, Component, Label, Node, Settings, } from 'cc'; import { BoardView } from '../../element/board/BoardView'; import { rootMgr } from '../../scene/RootMgr'; import { Board } from '../../element/board/Board'; import { Stage } from '../../data/stage/Stage'; import { StageModel } from '../../util/JsonModel/StageModel'; import { aa } from 'db://assets/scripts/aa'; import { UI_Win } from '../UIDialog/win/UI_Win'; import { UI_Setting } from '../UIDialog/setting/UI_Setting'; import { Player } from '../../data/player/Player'; import { FMSType } from '../../GameContorl/fms/FMSGameInit'; import { UI_Revive } from '../UIDialog/revive/UI_Revive'; import { ButtomList } from '../../element/buttomList/ButtomList'; import { UI_Lose } from '../UIDialog/lose/UI_Lose'; const { ccclass, property } = _decorator; @ccclass('LayoutGame') export class LayoutGame extends Component { @property(Node) button: Node @property(BoardView) boardView: BoardView @property(Label) label: Label @property(Node) settingbtn: Node @property(ButtomList) buttomList: ButtomList protected start(): void { //aa.uIMgr.showUI(UI_Revive) let board = rootMgr.gameCompent.getCompent(Board, true) let stage = rootMgr.dataControl.getCompent(Stage) this.button?.on(Node.EventType.TOUCH_END, () => { rootMgr.game.evt.emit('gameClear') }) this.settingbtn.on(Node.EventType.TOUCH_END, this.showSetting, this) this.label.string = "第" + stage.index + "关" board.initBoard(5, 5) this.boardView.init(board) } protected onEnable(): void { rootMgr.game.evt.on('gameClear', this.gameClear, this) rootMgr.game.evt.on('toNextStage', this.toNextStage, this) } protected onDisable(): void { rootMgr.game.evt.off('gameClear', this.gameClear, this) rootMgr.game.evt.off('toNextStage', this.toNextStage, this) } gameClear() { let stage = rootMgr.dataControl.getCompent(Stage) let player = rootMgr.dataControl.getCompent(Player) player.life = Math.min(player.life + 1, player.getLifeControl().max) stage.index++ player.upload_score() rootMgr.game.evt.emit('save', true) aa.uIMgr.showUI(UI_Win) } toNextStage() { rootMgr.game.Change(FMSType.Start) } showSetting() { aa.uIMgr.showUI(UI_Setting) } }