Exemplo n.º 1
0
        ///<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());
        }
Exemplo n.º 2
0
 ///<summary> Check if there's a valid AvailableLanguageData set in the manager</summary>
 private void CheckIfDataExist()
 {
     if (m_AvailableLanguageData.objectReferenceValue != null)
     {
         m_CanShowOptions.target = true;
         m_LanguageData          = (AvailableLanguageData)m_AvailableLanguageData.objectReferenceValue;
         m_LanguageData.EDITOR_InitLanguageIsNeed();
     }
     else
     {
         m_CanShowOptions.target = false;
     }
 }
Exemplo n.º 3
0
        private void GetDatas()
        {
            m_Language = (MultiLanguageData)serializedObject.targetObject;

            GetData(ref m_AvailableLanguageData, nameof(m_AvailableLanguageData));
            if ((AvailableLanguageData)AssetDatabase.LoadAssetAtPath(AvailableLanguage.AvailableLanguagePath, typeof(AvailableLanguageData)) != null)
            {
                m_AvailableLanguage = (AvailableLanguageData)AssetDatabase.LoadAssetAtPath(AvailableLanguage.AvailableLanguagePath, typeof(AvailableLanguageData));
                m_Language.EDITOR_UpdateDictionnary(m_AvailableLanguage);
            }
            else
            {
                m_AvailableLanguage = null;
            }

            GetData(ref m_TypeChoice, nameof(m_TypeChoice));
            GetData(ref m_MultiClips, nameof(m_MultiClips));
        }
Exemplo n.º 4
0
        ///<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));
                }
            }
        }
Exemplo n.º 5
0
        //----------------- 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);
        }