Adds level prefabs, theme assets, audio, extensions, and deployment scripts for the Unity WebGL migration. Co-authored-by: Cursor <cursoragent@cursor.com>
67 lines
1.5 KiB
TypeScript
67 lines
1.5 KiB
TypeScript
// @ts-ignore
|
|
import { _decorator } from 'cc';
|
|
// @ts-ignore
|
|
import { EDITOR } from 'cc/env';
|
|
import l10n from '../core/l10n-manager';
|
|
import L10nComponent from './l10n-component';
|
|
|
|
const {
|
|
ccclass,
|
|
property,
|
|
executeInEditMode,
|
|
menu,
|
|
help,
|
|
} = _decorator;
|
|
|
|
@ccclass('L10nLabel')
|
|
@executeInEditMode(true)
|
|
@menu('LocalizationEditor/L10nLabel')
|
|
@help('i18n:localization-editor.component.help')
|
|
export default class L10nLabel extends L10nComponent {
|
|
@property({ visible: false })
|
|
_key = '';
|
|
|
|
@property({
|
|
tooltip: 'i18n:localization-editor.component.key1'
|
|
})
|
|
set key(value: string) {
|
|
this._key = value;
|
|
this.render();
|
|
}
|
|
|
|
get key(): string {
|
|
return this._key;
|
|
}
|
|
@property({ visible: false })
|
|
_count = 0;
|
|
@property({
|
|
tooltip: 'i18n:localization-editor.component.count'
|
|
})
|
|
set count(value: number) {
|
|
this._count = value;
|
|
this.render();
|
|
}
|
|
|
|
get count(): number {
|
|
return this._count;
|
|
}
|
|
|
|
onLoad() {
|
|
if (typeof super.onLoad === 'function') {
|
|
super.onLoad();
|
|
}
|
|
}
|
|
|
|
render() {
|
|
const translatedString = l10n.t(this._key, { count: this._count });
|
|
if (typeof this.label === 'undefined' || typeof translatedString === 'undefined') {
|
|
return;
|
|
}
|
|
if (EDITOR) {
|
|
this.preview(translatedString);
|
|
} else {
|
|
this.label!.string = translatedString;
|
|
}
|
|
}
|
|
}
|