123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- "use strict";
- cc._RF.push(module, 'f34ac2GGiVOBbG6XlfvgYP4', 'LocalizedSprite');
- // LocalizedSprite.js
- "use strict";
- var SpriteFrameSet = require('SpriteFrameSet');
- cc.Class({
- "extends": cc.Component,
- editor: {
- executeInEditMode: true,
- inspector: 'packages://i18n/inspector/localized-sprite.js',
- menu: 'i18n/LocalizedSprite'
- },
- properties: {
- spriteFrameSet: {
- "default": [],
- type: SpriteFrameSet
- }
- },
- onLoad: function onLoad() {
- this.fetchRender();
- },
- fetchRender: function fetchRender() {
- var sprite = this.getComponent(cc.Sprite);
- if (sprite) {
- this.sprite = sprite;
- this.updateSprite(window.i18n.curLang);
- return;
- }
- },
- getSpriteFrameByLang: function getSpriteFrameByLang(lang) {
- for (var i = 0; i < this.spriteFrameSet.length; ++i) {
- if (this.spriteFrameSet[i].language === lang) {
- return this.spriteFrameSet[i].spriteFrame;
- }
- }
- },
- updateSprite: function updateSprite(language) {
- if (!this.sprite) {
- cc.error('Failed to update localized sprite, sprite component is invalid!');
- return;
- }
- var spriteFrame = this.getSpriteFrameByLang(language);
- if (!spriteFrame && this.spriteFrameSet[0]) {
- spriteFrame = this.spriteFrameSet[0].spriteFrame;
- }
- this.sprite.spriteFrame = spriteFrame;
- }
- });
- cc._RF.pop();
|