基础内容
必要插件安装 缓动曲线和动画基础 ElementFolder,Track与其次级模块,PathNode重构
This commit is contained in:
43
Assets/I2/Localization/Scripts/Utils/SetLanguageDropdown.cs
Normal file
43
Assets/I2/Localization/Scripts/Utils/SetLanguageDropdown.cs
Normal file
@@ -0,0 +1,43 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace I2.Loc
|
||||
{
|
||||
[AddComponentMenu("I2/Localization/SetLanguage Dropdown")]
|
||||
public class SetLanguageDropdown : MonoBehaviour
|
||||
{
|
||||
#if UNITY_5_2 || UNITY_5_3 || UNITY_5_4_OR_NEWER
|
||||
void OnEnable()
|
||||
{
|
||||
var dropdown = GetComponent<Dropdown>();
|
||||
if (dropdown==null)
|
||||
return;
|
||||
|
||||
var currentLanguage = LocalizationManager.CurrentLanguage;
|
||||
if (LocalizationManager.Sources.Count==0) LocalizationManager.UpdateSources();
|
||||
var languages = LocalizationManager.GetAllLanguages();
|
||||
|
||||
// Fill the dropdown elements
|
||||
dropdown.ClearOptions();
|
||||
dropdown.AddOptions( languages );
|
||||
|
||||
dropdown.value = languages.IndexOf( currentLanguage );
|
||||
dropdown.onValueChanged.RemoveListener( OnValueChanged );
|
||||
dropdown.onValueChanged.AddListener( OnValueChanged );
|
||||
}
|
||||
|
||||
|
||||
void OnValueChanged( int index )
|
||||
{
|
||||
var dropdown = GetComponent<Dropdown>();
|
||||
if (index<0)
|
||||
{
|
||||
index = 0;
|
||||
dropdown.value = index;
|
||||
}
|
||||
|
||||
LocalizationManager.CurrentLanguage = dropdown.options[index].text;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user