import { Button, Component, Label, Node, NodeEventType, _decorator, find } from 'cc'; import { GameEvent } from '../Enum/GameEvent'; import { EventDispatcher } from 'db://assets/core_tgx/easy_ui_framework/EventDispatcher'; import { GlobalConfig } from 'db://assets/start/Config/GlobalConfig'; import { AdvertMgr } from 'db://assets/core_tgx/base/ad/AdvertMgr'; import { TYPE_ITEM } from '../TakeGobletGlobalInstance'; import { tgxUIAlert } from 'db://assets/core_tgx/tgx'; import { TakeGobletAudioMgr } from '../Manager/TakeGobletAudioMgr'; const { ccclass, property } = _decorator; /** * 底部按钮控制器 */ @ccclass('ButtonComponent') export class ButtonComponent extends Component { @property(Button) btnFillUp: Button = null!; @property(Button) btMoveOut: Button = null!; @property(Button) btRefresh: Button = null!; protected start(): void { this.addUIEvent(); } private addUIEvent(): void { this.btnFillUp.node.on(NodeEventType.TOUCH_END, () => this.onClickHandler(TYPE_ITEM.FillUp), this); this.btMoveOut.node.on(NodeEventType.TOUCH_END, () => this.onClickHandler(TYPE_ITEM.MoveOut), this); this.btRefresh.node.on(NodeEventType.TOUCH_END, () => this.onClickHandler(TYPE_ITEM.Refresh), this); } private onClickHandler(type: TYPE_ITEM): void { TakeGobletAudioMgr.playOneShot(TakeGobletAudioMgr.getMusicIdName(2), 1.0); let alerType = ''; switch (type) { case TYPE_ITEM.FillUp: alerType = 'FillUp'; break; case TYPE_ITEM.MoveOut: alerType = 'Remove'; break; case TYPE_ITEM.Refresh: alerType = 'Refresh'; break; } const options = tgxUIAlert.show("", alerType, true); options.onClick((ok: boolean) => { if (ok) { if (type == TYPE_ITEM.FillUp) { if (!GlobalConfig.isDebug) { AdvertMgr.instance.showReawardVideo(() => { EventDispatcher.instance.emit(GameEvent.EVENT_FILL_UP); }) } else { EventDispatcher.instance.emit(GameEvent.EVENT_FILL_UP); } } else if (type == TYPE_ITEM.MoveOut) { if (!GlobalConfig.isDebug) { AdvertMgr.instance.showReawardVideo(() => { EventDispatcher.instance.emit(GameEvent.EVENT_MOVE_OUT); }) } else { EventDispatcher.instance.emit(GameEvent.EVENT_MOVE_OUT); } } else { if (!GlobalConfig.isDebug) { AdvertMgr.instance.showReawardVideo(() => { EventDispatcher.instance.emit(GameEvent.EVENT_REFRESH_COLOR); }) } else { EventDispatcher.instance.emit(GameEvent.EVENT_REFRESH_COLOR); } } } }) } }