Add Screen display mode with dedicated UI component
This commit is contained in:
@@ -8,12 +8,38 @@ public class DialogueConversationEditor : Editor
|
||||
{
|
||||
private SerializedProperty _speakerNameProp;
|
||||
private SerializedProperty _speakerNameLocalizationKeyProp;
|
||||
private SerializedProperty _displayModeProp;
|
||||
private SerializedProperty _dialogueNodesProp;
|
||||
|
||||
[MenuItem("Unheimlich/Tools/Dialogue/Refresh All Conversations")]
|
||||
public static void RefreshAllConversations()
|
||||
{
|
||||
string[] guids = AssetDatabase.FindAssets("t:DialogueConversation");
|
||||
int count = 0;
|
||||
|
||||
foreach (string guid in guids)
|
||||
{
|
||||
string path = AssetDatabase.GUIDToAssetPath(guid);
|
||||
DialogueConversation conv = AssetDatabase.LoadAssetAtPath<DialogueConversation>(path);
|
||||
|
||||
if (conv != null)
|
||||
{
|
||||
EditorUtility.SetDirty(conv);
|
||||
count++;
|
||||
}
|
||||
}
|
||||
|
||||
AssetDatabase.SaveAssets();
|
||||
AssetDatabase.Refresh();
|
||||
|
||||
Debug.Log($"<color=green>[Dialogue Refresher]</color> {count} conversations ont été rafraîchies !");
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
_speakerNameProp = serializedObject.FindProperty("SpeakerName");
|
||||
_speakerNameLocalizationKeyProp = serializedObject.FindProperty("SpeakerNameLocalizationKey");
|
||||
_displayModeProp = serializedObject.FindProperty("DisplayMode");
|
||||
_dialogueNodesProp = serializedObject.FindProperty("DialogueNodes");
|
||||
}
|
||||
|
||||
@@ -27,6 +53,17 @@ public class DialogueConversationEditor : Editor
|
||||
EditorGUILayout.PropertyField(_speakerNameProp);
|
||||
EditorGUILayout.PropertyField(_speakerNameLocalizationKeyProp, new GUIContent("Localization Key (Optional)"));
|
||||
|
||||
EditorGUILayout.Space(5);
|
||||
|
||||
EditorGUILayout.LabelField("Display Settings", EditorStyles.boldLabel);
|
||||
EditorGUILayout.PropertyField(_displayModeProp, new GUIContent("Display Mode"));
|
||||
|
||||
EditorGUILayout.HelpBox(
|
||||
"World: Dialogue text appears in 3D space\n" +
|
||||
"Screen: Dialogue text appears on Canvas UI\n" +
|
||||
"Choices always appear in World space.",
|
||||
MessageType.Info);
|
||||
|
||||
EditorGUILayout.Space(10);
|
||||
|
||||
EditorGUILayout.LabelField("Dialogue Flow", EditorStyles.boldLabel);
|
||||
|
||||
Reference in New Issue
Block a user