示例#1
0
 void SetupLanguages()
 {
     m_AvailableLanguages = new string[m_PhrasesProp.arraySize];
     for (int i = 0; i < m_AvailableLanguages.Length; i++)
     {
         SerializedProperty element         = m_PhrasesProp.GetArrayElementAtIndex(i);
         OriginalPhrases    originalPhrases = element.objectReferenceValue as OriginalPhrases;
         m_AvailableLanguages[i] = originalPhrases.language;
     }
 }
示例#2
0
    void OriginalPhrasesSetup()
    {
        m_OriginalPhrases       = m_OriginalPhrasesProp.objectReferenceValue as OriginalPhrases;
        m_PhrasesProp.arraySize = m_OriginalPhrases.phrases.Count;

        serializedObject.ApplyModifiedProperties();

        for (int i = 0; i < m_PhrasesProp.arraySize; i++)
        {
            m_TranslatedPhrases.phrases[i].key = m_OriginalPhrases.phrases[i].key;
        }
    }
示例#3
0
    public override void OnInspectorGUI()
    {
        serializedObject.Update();

        if (m_PhrasesProp.arraySize > 0 && AllOriginalPhrasesNonNull())
        {
            m_LanguageIndexProp.intValue = EditorGUILayout.Popup("Language", m_LanguageIndexProp.intValue, m_AvailableLanguages);

            OriginalPhrases selectedPhrases = m_Translator.phrases[m_LanguageIndexProp.intValue];
            for (int i = 0; i < selectedPhrases.phrases.Count; i++)
            {
                Rect labelRect = EditorGUILayout.GetControlRect(GUILayout.Height(EditorGUIUtility.singleLineHeight));
                labelRect.width *= 0.25f;

                EditorGUI.LabelField(labelRect, selectedPhrases.phrases[i].key);

                labelRect.x     += labelRect.width;
                labelRect.width *= 3f;

                EditorGUI.LabelField(labelRect, selectedPhrases.phrases[i].value);
            }
        }

        Rect phrasesNameRect = EditorGUILayout.GetControlRect(GUILayout.Height(EditorGUIUtility.singleLineHeight));

        phrasesNameRect.width *= 0.5f;

        m_PhrasesProp.isExpanded = EditorGUI.Foldout(phrasesNameRect, m_PhrasesProp.isExpanded, "Phrases");

        phrasesNameRect.x      += phrasesNameRect.width;
        m_PhrasesProp.arraySize = EditorGUI.IntField(phrasesNameRect, GUIContent.none, m_PhrasesProp.arraySize);

        if (m_PhrasesProp.isExpanded)
        {
            EditorGUI.indentLevel++;
            EditorGUI.BeginChangeCheck();
            for (int i = 0; i < m_PhrasesProp.arraySize; i++)
            {
                SerializedProperty element = m_PhrasesProp.GetArrayElementAtIndex(i);
                EditorGUILayout.PropertyField(element);
            }
            if (EditorGUI.EndChangeCheck() && AllOriginalPhrasesNonNull())
            {
                SetupLanguages();
            }
            EditorGUI.indentLevel--;
        }

        serializedObject.ApplyModifiedProperties();
    }