import { _decorator, Component, Label, Sprite, SpriteFrame } from "cc"; import { app } from "../../app/app"; import { Tools } from "../tools/Tools"; import { LANG_SET } from "./LangSet"; const { ccclass, property } = _decorator; @ccclass('SwitchLang') export class SwitchLang extends Component { @property(String) lab_lang: string = ""; @property(SpriteFrame) spr_lang : SpriteFrame[] = []; protected onLoad(): void { this.updateLab(); app.manager.event.on("LangChanged", this.updateLab, this); } protected onDestroy(): void { app?.manager.event?.off("LangChanged", this.updateLab, this); } updateLab(){ let lab = this.getComponent(Label) if (lab != null) { this.getComponent(Label).string = Tools.GetLocalized(this.lab_lang) }; let sprite = this.getComponent(Sprite) if (sprite != null) { if (this.spr_lang && this.spr_lang[LANG_SET.langIndex]) this.getComponent(Sprite).spriteFrame = this.spr_lang[LANG_SET.langIndex] }; } }