import { isValid, Node, Component, find, Button, Color, Label, Event, SpriteFrame, Animation, Sprite, Vec3, } from "cc"; import { UIController } from "../../core_tgx/easy_ui_framework/UIController"; export default class BaseUI extends Component { public onHide() {} public onShow() {} private m_objects: Map = new Map(); protected setButtonEnable(name: string, enable: boolean) { if (!isValid(this.node)) { return; } this.FindAs(name, Sprite).grayscale = !enable; this.FindButton(name).interactable = enable; } public FindAs( name: string, type: new (...args: any[]) => T ): T { const node = this.FindNode(name); if (!node) return null; return node.getComponent(type); } public FindLabel(name: string): Label { return this.FindAs(name, Label); } public FindButton(name: string): Button { return this.FindAs(name, Button); } public async setText(nodeName: string, text: string): Promise { const node = this.FindAs