public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
    {
        EditorGUI.BeginProperty(position, label, property);
        position        = EditorGUI.PrefixLabel(position, GUIUtility.GetControlID(FocusType.Passive), label);
        position.width -= 34;
        position.height = 18;

        Rect valueRect = new Rect(position);

        valueRect.x     += 15;
        valueRect.width -= 15;

        Rect foldButtonRect = new Rect(position);

        foldButtonRect.width = 15;

        dropdown = EditorGUI.Foldout(foldButtonRect, dropdown, "");

        position.x     += 15;
        position.width -= 15;

        SerializedProperty key = property.FindPropertyRelative("key");

        key.stringValue = EditorGUI.TextField(position, key.stringValue);

        position.x     += position.width + 2;
        position.width  = 17;
        position.height = 17;

        Texture    searchIcon    = (Texture)Resources.Load("search");
        GUIContent searchContent = new GUIContent(searchIcon);

        if (GUI.Button(position, searchContent))
        {
            TextLocaliserSearchWindow.Open();
        }

        position.x += position.width + 2;

        Texture    storeIcon    = (Texture)Resources.Load("store");
        GUIContent storeContent = new GUIContent(storeIcon);

        if (GUI.Button(position, storeContent))
        {
            TextLocalisedEditWindow.Open(key.stringValue);
        }

        if (dropdown)
        {
            var      value = LocalisationSystem.GetLocalisedValue(key.stringValue);
            GUIStyle style = GUI.skin.box;
            height = style.CalcHeight(new GUIContent(value), valueRect.width);

            valueRect.height = height;
            valueRect.y     += 21;
            EditorGUI.LabelField(valueRect, value, EditorStyles.wordWrappedLabel);
        }

        EditorGUI.EndProperty();
    }
Example #2
0
    public static void Open(string key)
    {
        TextLocalisedEditWindow window = CreateInstance <TextLocalisedEditWindow>();

        window.titleContent = new GUIContent("Localiser Window");
        window.ShowUtility();
        window.key      = key;
        window.language = LocalisationSystem.language;
        window.value    = LocalisationSystem.GetLocalisedValue(key);
    }