56 lines
2.2 KiB
C#
56 lines
2.2 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEditor;
|
|
using RPGTALK.Texts;
|
|
|
|
namespace RPGTALK.Localization
|
|
{
|
|
[CustomEditor(typeof(RPGTalkLocalizationString))]
|
|
public class RPGTalkLocalizationStringEditor : Editor
|
|
{
|
|
override public void OnInspectorGUI()
|
|
{
|
|
serializedObject.Update();
|
|
|
|
//Instance of our RPGTalkLocalization class
|
|
RPGTalkLocalizationString localization = (RPGTalkLocalizationString)target;
|
|
|
|
EditorGUI.BeginChangeCheck();
|
|
|
|
EditorGUILayout.HelpBox("There are two ways to make localization work with a simple string on UI. You can set a TXT file, and add it to a Language like you would usually do in RPGTalk, or you can set this string manully.", MessageType.Info, true);
|
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("txtToParse"), true);
|
|
if(serializedObject.FindProperty("txtToParse").objectReferenceValue != null)
|
|
{
|
|
EditorGUILayout.LabelField("What line of the TXT should be written here?");
|
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("lineToRead"), GUIContent.none);
|
|
|
|
}
|
|
else
|
|
{
|
|
GUI.skin.label.wordWrap = true;
|
|
GUILayout.Label("If you won't use a TXT, you need to add manually every language option for this text");
|
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("language"), true);
|
|
}
|
|
|
|
//Show the correct text
|
|
if ((localization.txtToParse != null && localization.lineToRead != "") || (localization.language != null && localization.language.Length > 0))
|
|
{
|
|
|
|
if (TMP_Translator.IsValidType(localization.gameObject))
|
|
{
|
|
localization.ChangeCurrentTextToActualLanguage();
|
|
}
|
|
else
|
|
{
|
|
EditorGUILayout.HelpBox("RPGTalkLocalization String works only in an object with Text or Text Mesh Pro UGUI Componenets", MessageType.Error, true);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (EditorGUI.EndChangeCheck())
|
|
serializedObject.ApplyModifiedProperties();
|
|
}
|
|
}
|
|
} |