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.
45 lines
1.7 KiB
45 lines
1.7 KiB
using UnityEditor; |
|
using UnityEditorInternal; |
|
using UnityEngine; |
|
using System.Collections; |
|
using System.Collections.Generic; |
|
|
|
namespace Fungus.Script |
|
{ |
|
|
|
[CustomEditor (typeof(Option))] |
|
public class OptionEditor : FungusCommandEditor |
|
{ |
|
public override void DrawCommandGUI() |
|
{ |
|
Option t = target as Option; |
|
|
|
EditorGUI.BeginChangeCheck(); |
|
|
|
string optionText = EditorGUILayout.TextField(new GUIContent("Option Text", "Text for option button label"), t.optionText); |
|
Sequence targetSequence = SequenceEditor.SequenceField(new GUIContent("Target Sequence", "Sequence to execute when option is selected"), t.GetFungusScript(), t.targetSequence); |
|
Option.ShowCondition showCondition = (Option.ShowCondition)EditorGUILayout.EnumPopup(new GUIContent("Show Condition", "Condition when this option should be visible."), t.showCondition); |
|
|
|
BooleanVariable booleanVariable = t.booleanVariable; |
|
|
|
if (showCondition == Option.ShowCondition.BooleanIsFalse || |
|
showCondition == Option.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 Option"); |
|
t.optionText = optionText; |
|
t.targetSequence = targetSequence; |
|
t.showCondition = showCondition; |
|
t.booleanVariable = booleanVariable; |
|
} |
|
} |
|
} |
|
|
|
} |