rp_11001/assets/Loading/scripts/i18n/LocalizedSprite.ts
TJH 9ad38a43b5
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 1m16s
资源加载逻辑修改
2025-12-30 12:26:22 +08:00

35 lines
1.1 KiB
TypeScript

import { _decorator, Component, Sprite } from 'cc';
import { I18nManager } from '../manager/I18nManager';
const { ccclass, property } = _decorator;
@ccclass('LocalizedSprite')
export class LocalizedSprite extends Component {
private sprite: Sprite | null = null;
@property({ tooltip: '资源名字' })
private spriteName: string = '';
onLoad() {
this.sprite = this.getComponent(Sprite);
this.updateSprite();
}
public updateSprite() {
if (!this.sprite || !this.spriteName) return;
if (!I18nManager.instance.ready) return;
let cacheKey = `${I18nManager.instance.currentLanguage}_${this.spriteName}`;
let cachedFrame = I18nManager.instance.spriteFrameCache.get(cacheKey);
if (cachedFrame) {
this.sprite.spriteFrame = cachedFrame;
}
}
updateSpriteForPreload(language: string) {
this.sprite = this.getComponent(Sprite);
let cacheKey = `${language}_${this.spriteName}`;
let cachedFrame = I18nManager.instance.spriteFrameCache.get(cacheKey);
this.sprite.spriteFrame = cachedFrame;
}
}