// Learn TypeScript: // - https://docs.cocos.com/creator/manual/en/scripting/typescript.html // Learn Attribute: // - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html // Learn life-cycle callbacks: // - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html import { SaveDataManager } from "../../../component/SaveDataManager"; import { ResType, WindowName } from "../../../Global"; import { UIManager } from "../../UIManager"; const { ccclass, property } = cc._decorator; @ccclass export default class ResWidget extends cc.Component { private _type: ResType = ResType.NONE; private _txt: cc.Label; // LIFE-CYCLE CALLBACKS: onLoad() { this._txt = this.node.getChildByName('txtNum').getComponent(cc.Label); } start() { this.node.removeFromParent(); UIManager.ins.widgetLayer.addChild(this.node); this.node.getComponent(cc.Widget).updateAlignment(); } protected onEnable(): void { this.schedule(this.onLazyUpdate, 1 / 20); this.refresh(); } protected onDisable(): void { this.unschedule(this.onLazyUpdate); } // update (dt) {} //#region event onClick() { if (CC_DEBUG && this._type == ResType.STAR) { SaveDataManager.ins.adjustStar(5, true) } else { if (this._type == ResType.DIAMOND) { UIManager.ins.openWindow(WindowName.FREE_DIAMOND); } } // CC_DEBUG && (this._type == ResType.STAR ? SaveDataManager.ins.adjustStar(5, true) : null); } //#endregion //#region public method setType(value: ResType) { this._type = value; this.node.name = 'widget' + this._type.toString(); this.refresh(); } //#endregion //#region private method private onLazyUpdate() { this.refresh(); } private refresh() { let num = (this._type == ResType.DIAMOND ? SaveDataManager.ins.runtimeData.diamond : SaveDataManager.ins.runtimeData.star); this._txt.string = num.toString(); } //#endregion }