From e70517d52cd5ab23cfd389a7fee0a8c415f79ed3 Mon Sep 17 00:00:00 2001 From: chrisgregan Date: Mon, 11 Aug 2014 20:39:33 +0100 Subject: [PATCH] Variable window layout improvements --- .../Editor/FungusScript/VariableList.cs | 19 ++-- .../Editor/FungusScript/VariablesWindow.cs | 85 +----------------- Assets/Shuttle/ShuttleGame.unity | Bin 80692 -> 80900 bytes 3 files changed, 14 insertions(+), 90 deletions(-) diff --git a/Assets/Fungus/Editor/FungusScript/VariableList.cs b/Assets/Fungus/Editor/FungusScript/VariableList.cs index 87320b2a..ba74635a 100644 --- a/Assets/Fungus/Editor/FungusScript/VariableList.cs +++ b/Assets/Fungus/Editor/FungusScript/VariableList.cs @@ -100,7 +100,7 @@ namespace Fungus.Script float width1 = 60; float width3 = 50; - float width2 = position.width - width1 - width3; + float width2 = Mathf.Max(position.width - width1 - width3, 100); Rect typeRect = position; typeRect.width = width1; @@ -141,29 +141,34 @@ namespace Fungus.Script { const float w = 100; Rect valueRect = keyRect; - keyRect.width = w; + keyRect.width = w - 5; valueRect.x += w; - valueRect.width -= w; + valueRect.width -= (w + 5); key = EditorGUI.TextField(keyRect, variable.key); if (variable.GetType() == typeof(BooleanVariable)) { - EditorGUI.Toggle(valueRect, (variable as BooleanVariable).Value); + BooleanVariable v = variable as BooleanVariable; + v.Value = EditorGUI.Toggle(valueRect, v.Value); } else if (variable.GetType() == typeof(IntegerVariable)) { - EditorGUI.IntField(valueRect, (variable as IntegerVariable).Value); + IntegerVariable v = variable as IntegerVariable; + v.Value = EditorGUI.IntField(valueRect, v.Value); } else if (variable.GetType() == typeof(FloatVariable)) { - EditorGUI.FloatField(valueRect, (variable as FloatVariable).Value); + FloatVariable v = variable as FloatVariable; + v.Value = EditorGUI.FloatField(valueRect, v.Value); } else if (variable.GetType() == typeof(StringVariable)) { - EditorGUI.TextField(valueRect, (variable as StringVariable).Value); + StringVariable v = variable as StringVariable; + v.Value = EditorGUI.TextField(valueRect, v.Value); } } else { + keyRect.width -= 5; key = EditorGUI.TextField(keyRect, variable.key); } diff --git a/Assets/Fungus/Editor/FungusScript/VariablesWindow.cs b/Assets/Fungus/Editor/FungusScript/VariablesWindow.cs index 5c2fe005..b5c9b57f 100644 --- a/Assets/Fungus/Editor/FungusScript/VariablesWindow.cs +++ b/Assets/Fungus/Editor/FungusScript/VariablesWindow.cs @@ -50,93 +50,12 @@ namespace Fungus.Script } } + scrollPos = GUILayout.BeginScrollView(scrollPos, GUILayout.MinWidth(Mathf.Max(position.width, 300))); + FungusScriptEditor fungusScriptEditor = Editor.CreateEditor(fungusScript) as FungusScriptEditor; fungusScriptEditor.DrawVariablesGUI(); - /* - - bool showValues = Application.isPlaying; - - float columnWidth = (position.width - 40) / (showValues ? 4 : 3); - - scrollPos = GUILayout.BeginScrollView(scrollPos); - - GUILayout.BeginHorizontal(); - GUILayout.Label("Key", GUILayout.Width(columnWidth)); - GUILayout.Label("Type", GUILayout.Width(columnWidth)); - GUILayout.Label("Scope", GUILayout.Width(columnWidth)); - if (showValues) - { - GUILayout.Label("Value", GUILayout.Width(columnWidth)); - } - GUILayout.EndHorizontal(); - - GUIStyle boxStyle = new GUIStyle(GUI.skin.box); - boxStyle.margin.left = 0; - boxStyle.margin.right = 0; - boxStyle.margin.top = 0; - boxStyle.margin.bottom = 0; - - List fsVariables = fungusScript.variables; - foreach (FungusVariable variable in fsVariables) - { - GUILayout.BeginHorizontal(boxStyle); - - string keyString = variable.key; - string typeString = ""; - string scopeString = ""; - string valueString = ""; - - switch (variable.scope) - { - default: - case VariableScope.Local: - scopeString = "Local"; - break; - case VariableScope.Global: - scopeString = "Global"; - break; - } - - if (variable.GetType() == typeof(BooleanVariable)) - { - typeString = "Boolean"; - valueString = (variable as BooleanVariable).Value ? "True" : "False"; - } - else if (variable.GetType() == typeof(IntegerVariable)) - { - typeString = "Integer"; - valueString = (variable as IntegerVariable).Value.ToString(); - } - else if (variable.GetType() == typeof(FloatVariable)) - { - typeString = "Float"; - valueString = (variable as FloatVariable).Value.ToString(); - } - else if (variable.GetType() == typeof(StringVariable)) - { - typeString = "String"; - valueString = (variable as StringVariable).Value; - - if (valueString == null || - valueString.Length == 0) - { - valueString = "\"\""; - } - } - - GUILayout.Label(keyString, GUILayout.Width(columnWidth)); - GUILayout.Label(typeString, GUILayout.Width(columnWidth)); - GUILayout.Label(scopeString, GUILayout.Width(columnWidth)); - if (showValues) - { - GUILayout.Label(valueString, GUILayout.Width(columnWidth)); - } - - GUILayout.EndHorizontal(); - } GUILayout.EndScrollView(); - */ } } diff --git a/Assets/Shuttle/ShuttleGame.unity b/Assets/Shuttle/ShuttleGame.unity index dd0c2aaecc8e376e60d97ee12eb367a6d2ed6e45..2aa4aef26cb1939c860d601b9726b91a31c63d03 100644 GIT binary patch delta 1016 zcmZA0&ubGw6bJA(b-_pld#KPuq1`lXwykNS*qB41QEQ2!P)qP27Me;Wt+BMl!-~T8 z5UDqX7FTcULG&7;L~r6>kc*(;!5>xAUK;#S3#rEM%g*9t7bZLT@ZQ^*x3kZ-wcL)@ zLR5W8Vpt=heVCW>E$6qymBRGa6U}-D6mo>j)Oa#Pl*4}x=Ftr+!KN_(S*z8SaPNUd zyNQyR|Bx1jnLaaMuYA@E3-l0;y17=pU>|TCs21#pJ@8os_ThhWJ$C?RgozT$Vg_Lu zpG9F$eKr!aRwl~8Jd(XGBw{NQjzN@x?aJL9hXs0xF2S~?oq%OvIVJ8StRn4~j2nfS zeT{LaVAN0KSV;aO1IK_4a7`(ggvAfJ?fNU@PQ#XADa7$B;_*@ccJVFjA?DsjKEcdL z%h)|#)4ls8K&;|D<{JooBido3ILuJL7dhyrHxi zCCWAtZR~N!%$a-EieDPuS=F#Hg4zX9XqY3qk4>eCXhVOh(@9QE|eBUWD!p3h~^SK)r o(o3`H>Ff;IcXcsjr-EXQgY2v>T5TtYf`?ZhRa=X@K@o5J2O>NziU0rr delta 907 zcmZ9~IY=u(7zglg^0tVT78Z6!6Ez<3LSx_+t|w~aDi$INp71Wc_)<9 zbI-=Zqxaj2aR6kZx%57*+C>yZUlFYc7KLf(KPM82dEAR(_9CJVJUnkA&A!lt)g+0Ljz&^#I zo4m$SZ@-&p5cn#v8NnzlCv-kd$X3i68_SIxI+-u;KLdgfy#N3J