Browse Source

Try Catch around VarListLayout so we can eat the error that occurs when moving from play back to edit

master
desktop-maesty/steve 7 years ago
parent
commit
17cd4cde4e
  1. 10
      Assets/Fungus/Scripts/Editor/FlowchartWindow.cs
  2. 28
      Assets/Fungus/Scripts/Editor/VariableListAdaptor.cs

10
Assets/Fungus/Scripts/Editor/FlowchartWindow.cs

@ -514,10 +514,14 @@ namespace Fungus.EditorUtils
if (variableListAdaptor != null) if (variableListAdaptor != null)
{ {
if (variableListAdaptor.TargetFlowchart == null) if (variableListAdaptor.TargetFlowchart != null)
variableListAdaptor = null; {
else
variableListAdaptor.DrawVarList(0); variableListAdaptor.DrawVarList(0);
}
else
{
variableListAdaptor = null;
}
} }
if(EditorGUI.EndChangeCheck()) if(EditorGUI.EndChangeCheck())

28
Assets/Fungus/Scripts/Editor/VariableListAdaptor.cs

@ -138,19 +138,29 @@ namespace Fungus.EditorUtils
public void DrawVarList(int w) public void DrawVarList(int w)
{ {
_arrayProperty.serializedObject.Update(); //we want to eat the throw that occurs when switching back to editor from play
this.widthOfList = (w == 0 ? VariableListAdaptor.DefaultWidth : w) - ScrollSpacer; try
if(GUILayout.Button("Variables"))
{ {
_arrayProperty.isExpanded = !_arrayProperty.isExpanded; if (_arrayProperty == null || _arrayProperty.serializedObject == null)
} return;
_arrayProperty.serializedObject.Update();
this.widthOfList = (w == 0 ? VariableListAdaptor.DefaultWidth : w) - ScrollSpacer;
if (_arrayProperty.isExpanded) if (GUILayout.Button("Variables"))
{
_arrayProperty.isExpanded = !_arrayProperty.isExpanded;
}
if (_arrayProperty.isExpanded)
{
list.DoLayoutList();
}
_arrayProperty.serializedObject.ApplyModifiedProperties();
}
catch (Exception)
{ {
list.DoLayoutList();
} }
_arrayProperty.serializedObject.ApplyModifiedProperties();
} }
public void DrawItem(Rect position, int index, bool selected, bool focused) public void DrawItem(Rect position, int index, bool selected, bool focused)

Loading…
Cancel
Save