You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.7 KiB
51 lines
1.7 KiB
using UnityEditor; |
|
using UnityEditorInternal; |
|
using UnityEngine; |
|
using System.Collections; |
|
using System.Collections.Generic; |
|
|
|
namespace Fungus.Script |
|
{ |
|
|
|
[CustomEditor (typeof(Say))] |
|
public class SayEditor : FungusCommandEditor |
|
{ |
|
public override void DrawCommandGUI() |
|
{ |
|
Say t = target as Say; |
|
|
|
EditorGUI.BeginChangeCheck(); |
|
|
|
string character = EditorGUILayout.TextField(new GUIContent("Character", "Character to display in dialog"), t.character); |
|
|
|
EditorGUILayout.PrefixLabel(new GUIContent("Say Text", "Text to display in dialog")); |
|
GUIStyle sayStyle = new GUIStyle(EditorStyles.textArea); |
|
sayStyle.wordWrap = true; |
|
string text = EditorGUILayout.TextArea(t.text, sayStyle, GUILayout.MinHeight(30)); |
|
|
|
Say.ShowCondition showCondition = (Say.ShowCondition)EditorGUILayout.EnumPopup(new GUIContent("Show Condition", "Condition when this say text should be visible."), t.showCondition); |
|
|
|
BooleanVariable booleanVariable = t.booleanVariable; |
|
|
|
if (showCondition == Say.ShowCondition.BooleanIsFalse || |
|
showCondition == Say.ShowCondition.BooleanIsTrue) |
|
{ |
|
booleanVariable = FungusVariableEditor.VariableField (new GUIContent ("Boolean Variable", "Boolean variable to test for condition"), |
|
t.GetFungusScript (), |
|
t.booleanVariable, |
|
v => { return v.GetType() == typeof(BooleanVariable); }) as BooleanVariable; |
|
} |
|
|
|
if (EditorGUI.EndChangeCheck()) |
|
{ |
|
Undo.RecordObject(t, "Set Say"); |
|
t.character = character; |
|
t.text = text; |
|
t.showCondition = showCondition; |
|
t.booleanVariable = booleanVariable; |
|
} |
|
|
|
} |
|
} |
|
|
|
} |