Browse Source

VariableField now takes a filter lambda function

master
chrisgregan 11 years ago
parent
commit
9f3f9bae2d
  1. 12
      Assets/Fungus/Editor/FungusScript/SequenceEditor.cs
  2. 1
      Assets/Fungus/Editor/FungusScript/SetVariableEditor.cs
  3. BIN
      Assets/Shuttle/ShuttleGame.unity

12
Assets/Fungus/Editor/FungusScript/SequenceEditor.cs

@ -1,5 +1,6 @@
using UnityEditor; using UnityEditor;
using UnityEngine; using UnityEngine;
using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
@ -47,7 +48,7 @@ namespace Fungus.Script
return result; return result;
} }
static public string VariableField(GUIContent label, FungusScript fungusScript, string variableKey, ref VariableType variableType) static public string VariableField(GUIContent label, FungusScript fungusScript, string variableKey, ref VariableType variableType, Func<Variable, bool> filter = null)
{ {
List<string> keys = new List<string>(); List<string> keys = new List<string>();
keys.Add("<None>"); keys.Add("<None>");
@ -55,6 +56,15 @@ namespace Fungus.Script
for (int i = 0; i < fungusScript.variables.Count; ++i) for (int i = 0; i < fungusScript.variables.Count; ++i)
{ {
Variable v = fungusScript.variables[i]; Variable v = fungusScript.variables[i];
if (filter != null)
{
if (!filter(v))
{
continue;
}
}
keys.Add(v.key); keys.Add(v.key);
if (v.key == variableKey && if (v.key == variableKey &&
index == 0) index == 0)

1
Assets/Fungus/Editor/FungusScript/SetVariableEditor.cs

@ -25,6 +25,7 @@ namespace Fungus.Script
t.variableKey, t.variableKey,
ref variableType); ref variableType);
if (variableKey != t.variableKey) if (variableKey != t.variableKey)
{ {
Undo.RecordObject(t, "Set Variable Key"); Undo.RecordObject(t, "Set Variable Key");

BIN
Assets/Shuttle/ShuttleGame.unity

Binary file not shown.
Loading…
Cancel
Save