squidGame/tgx-games-client/assets/module_basic/component/LanguageLabel.ts

46 lines
1.1 KiB
TypeScript
Raw Normal View History

2025-02-17 21:36:37 +08:00
import {_decorator, Component, director, Label, RichText} from "cc";
import { LanguageMgr } from "../manager/LanguageManager";
import {EventName} from "db://assets/core_tgx/easy_ui_framework/EventName";
const { ccclass, property } = _decorator;
@ccclass
export default class LanguageLabel extends Component {
label = null;
@property
key: string = 'count';
// LIFE-CYCLE CALLBACKS:
onLoad () {
director.on(EventName.update_language,this._updateLanguage,this);
}
protected onDestroy() {
director.off(EventName.update_language,this._updateLanguage,this);
}
start () {
this._updateLanguage();
}
protected onEnable(): void {
this._updateLanguage();
}
private _updateLanguage() : void{
this.label = this.node.getComponent(Label);
if(!this.label)this.label = this.node.getComponent(RichText);
let str = LanguageMgr.getLanguage(this.key);
if(this.label){
this.label.string = str;
}
}
// update (dt) {}
}