|
|
|
@ -3,74 +3,24 @@ using UnityEngine;
|
|
|
|
|
using System.Collections; |
|
|
|
|
using System.Collections.Generic; |
|
|
|
|
using Fungus; |
|
|
|
|
//using Rotorz.ReorderableList; |
|
|
|
|
//using System.Linq; |
|
|
|
|
using Rotorz.ReorderableList; |
|
|
|
|
using System.Linq; |
|
|
|
|
|
|
|
|
|
namespace Fungus.Script |
|
|
|
|
{ |
|
|
|
|
/* |
|
|
|
|
[CustomPropertyDrawer (typeof(Variable))] |
|
|
|
|
public class VariableDrawer : PropertyDrawer |
|
|
|
|
{ |
|
|
|
|
public override void OnGUI (Rect position, SerializedProperty property, GUIContent label) |
|
|
|
|
{ |
|
|
|
|
EditorGUI.BeginProperty(position, label, property); |
|
|
|
|
|
|
|
|
|
SerializedProperty keyProp = property.FindPropertyRelative("key"); |
|
|
|
|
SerializedProperty typeProp = property.FindPropertyRelative("type"); |
|
|
|
|
SerializedProperty scopeProp = property.FindPropertyRelative("scope"); |
|
|
|
|
|
|
|
|
|
// Draw the text field control GUI. |
|
|
|
|
EditorGUI.BeginChangeCheck(); |
|
|
|
|
|
|
|
|
|
float width1 = position.width * 0.5f; |
|
|
|
|
float width2 = position.width * 0.25f; |
|
|
|
|
float width3 = position.width * 0.25f; |
|
|
|
|
|
|
|
|
|
Rect keyRect = position; |
|
|
|
|
keyRect.width = width1; |
|
|
|
|
|
|
|
|
|
Rect typeRect = position; |
|
|
|
|
typeRect.x += width1; |
|
|
|
|
typeRect.width = width2; |
|
|
|
|
|
|
|
|
|
Rect scopeRect = position; |
|
|
|
|
scopeRect.x += width1 + width2; |
|
|
|
|
scopeRect.width = width3; |
|
|
|
|
|
|
|
|
|
string keyValue = EditorGUI.TextField(keyRect, label, keyProp.stringValue); |
|
|
|
|
int typeValue = (int)(VariableType)EditorGUI.EnumPopup(typeRect, (VariableType)typeProp.enumValueIndex); |
|
|
|
|
int scopeValue = (int)(VariableScope)EditorGUI.EnumPopup(scopeRect, (VariableScope)scopeProp.enumValueIndex); |
|
|
|
|
|
|
|
|
|
if (EditorGUI.EndChangeCheck ()) |
|
|
|
|
{ |
|
|
|
|
char[] arr = keyValue.Where(c => (char.IsLetterOrDigit(c) || c == '_')).ToArray(); |
|
|
|
|
|
|
|
|
|
keyValue = new string(arr); |
|
|
|
|
|
|
|
|
|
keyProp.stringValue = keyValue; |
|
|
|
|
typeProp.enumValueIndex = typeValue; |
|
|
|
|
scopeProp.enumValueIndex = scopeValue; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
EditorGUI.EndProperty(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
[CustomEditor (typeof(FungusScript))] |
|
|
|
|
public class FungusScriptEditor : Editor |
|
|
|
|
{ |
|
|
|
|
SerializedProperty variablesProperty; |
|
|
|
|
|
|
|
|
|
//void OnEnable() |
|
|
|
|
//{ |
|
|
|
|
// variablesProperty = serializedObject.FindProperty("variables"); |
|
|
|
|
//} |
|
|
|
|
void OnEnable() |
|
|
|
|
{ |
|
|
|
|
variablesProperty = serializedObject.FindProperty("variables"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public override void OnInspectorGUI() |
|
|
|
|
{ |
|
|
|
|
//serializedObject.Update(); |
|
|
|
|
serializedObject.Update(); |
|
|
|
|
|
|
|
|
|
FungusScript t = target as FungusScript; |
|
|
|
|
|
|
|
|
@ -124,10 +74,10 @@ namespace Fungus.Script
|
|
|
|
|
EditorGUILayout.LabelField(new GUIContent("Error: Please select a Start Sequence"), style); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//ReorderableListGUI.Title("Variables"); |
|
|
|
|
//ReorderableListGUI.ListField(variablesProperty); |
|
|
|
|
ReorderableListGUI.Title("Variables"); |
|
|
|
|
ReorderableListGUI.ListField(variablesProperty); |
|
|
|
|
|
|
|
|
|
//serializedObject.ApplyModifiedProperties(); |
|
|
|
|
serializedObject.ApplyModifiedProperties(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void AddBooleanVariable(object obj) |
|
|
|
|