1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- using System;
- using UnityEngine;
- [ExecuteInEditMode]
- [RequireComponent(typeof(UIWidget))]
- [AddComponentMenu("NGUI/UI/Localize")]
- public class UILocalize : MonoBehaviour
- {
- public string value
- {
- set
- {
- if (!string.IsNullOrEmpty(value))
- {
- UIWidget component = base.GetComponent<UIWidget>();
- UILabel uilabel = component as UILabel;
- UISprite uisprite = component as UISprite;
- if (uilabel != null)
- {
- UIInput uiinput = NGUITools.FindInParents<UIInput>(uilabel.gameObject);
- if (uiinput != null && uiinput.label == uilabel)
- {
- uiinput.defaultText = value;
- }
- else
- {
- uilabel.text = value;
- }
- }
- else if (uisprite != null)
- {
- UIButton uibutton = NGUITools.FindInParents<UIButton>(uisprite.gameObject);
- if (uibutton != null && uibutton.tweenTarget == uisprite.gameObject)
- {
- uibutton.normalSprite = value;
- }
- uisprite.spriteName = value;
- uisprite.MakePixelPerfect();
- }
- }
- }
- }
- private void OnEnable()
- {
- if (this.mStarted)
- {
- this.OnLocalize();
- }
- }
- private void Start()
- {
- this.mStarted = true;
- this.OnLocalize();
- }
- private void OnLocalize()
- {
- if (string.IsNullOrEmpty(this.key))
- {
- UILabel component = base.GetComponent<UILabel>();
- if (component != null)
- {
- this.key = component.text;
- }
- }
- if (!string.IsNullOrEmpty(this.key))
- {
- this.value = Localization.Get(this.key);
- }
- }
- public string key;
- private bool mStarted;
- }
|