///<summary> RETURN an array of missing language from the new language data</summary> private string[] MissLanguage(AvailableLanguageData aOldData, AvailableLanguageData aNewData) { List <string> miss = new List <string>(); if (aNewData == null) { for (int i = 0; i < aOldData.GetAvailableLanguageCount(); i++) { miss.Add(aOldData.GetLanguage(i).ToString()); } } else { bool haveIn = false; for (int i = 0; i < aOldData.GetAvailableLanguageCount(); i++) { for (int k = 0; k < aNewData.GetAvailableLanguageCount(); k++) { if (aOldData.GetLanguage(i) == aNewData.GetLanguage(k)) { k = aNewData.GetAvailableLanguageCount(); Debug.Log(aOldData.GetLanguage(i) + " " + aNewData.GetLanguage(k)); haveIn = true; } } if (!haveIn) { miss.Add(aOldData.GetLanguage(i).ToString()); } } } return(miss.ToArray()); }
//_______________ Show Edit AvailableLanguage Functions _______________\\ ///<summary> RETURN an array with all Language in the AvailableLanguageData</summary> private string[] GetAvailableLanguageList() { string[] lists = new string[m_LanguageData.GetAvailableLanguageCount()]; for (int i = 0; i < lists.Length; i++) { lists[i] = m_LanguageData.GetAvailableLanguages()[i].ToString(); } return(lists); }
private void ShowBaseSettings() { EditorGUILayout.LabelField("Language to edit (available in your game)", m_LabelTxtStyleLeft); if (m_AvailableLanguage.GetAvailableLanguageCount() > 0) { ShowGroup(null, ShowLanguageToEdit); DrawSeparatorDark(true); ShowValueToEdit(); } }
//----------------- Update Dictionnary Function(s) ---------------- ///<summary> If the dictionnary have the key in it </summary> private bool DictionaryHaveSameKey(KeyValuePair <SystemLanguage, sMultiLanguageValue> aEntry, AvailableLanguageData aAvailableLanguage) { for (int i = 0; i < aAvailableLanguage.GetAvailableLanguageCount(); i++) { if (aAvailableLanguage.GetLanguage(i) == aEntry.Key) { return(true); } } return(false); }
///<summary> [ONLY IN EDITOR], update dictionnary with the available Language </summary> public void EDITOR_UpdateDictionnary(AvailableLanguageData aLanguages) { foreach (KeyValuePair <SystemLanguage, sMultiLanguageValue> entry in m_MultiLanguageValues.ToList()) { if (!DictionaryHaveSameKey(entry, aLanguages)) { m_MultiLanguageValues.Remove(entry.Key); } } for (int i = 0; i < aLanguages.GetAvailableLanguageCount(); i++) { if (!HaveLanguage(aLanguages.GetLanguage(i))) { AddLanguage(aLanguages.GetLanguage(i)); } } }