Browse Source

Updated UI to use flowchart style nodes

Icon displayed beside any currently executing sequences.
Icon displayed beside any currently executing command in selected
sequence.
Can now select & edit commands while game is running.
Sequences now resize correctly when name changes.
Added texture resources for sequence node types.
Sequences now have multiple shapes (Event, Process, Choice types)
Sequences can now have a description displayed underneath the node.
master
chrisgregan 10 years ago
parent
commit
48961142bb
  1. 33
      Assets/Fungus/FungusScript/Editor/CommandListAdaptor.cs
  2. 17
      Assets/Fungus/FungusScript/Editor/EventHandlerEditor.cs
  3. 72
      Assets/Fungus/FungusScript/Editor/FungusEditorResources.cs
  4. 7
      Assets/Fungus/FungusScript/Editor/FungusScriptEditor.cs
  5. 166
      Assets/Fungus/FungusScript/Editor/FungusScriptWindow.cs
  6. 22
      Assets/Fungus/FungusScript/Editor/SequenceEditor.cs
  7. 8
      Assets/Fungus/FungusScript/Editor/SequenceInspector.cs
  8. 28
      Assets/Fungus/FungusScript/Scripts/EventHandler.cs
  9. 28
      Assets/Fungus/FungusScript/Scripts/Sequence.cs
  10. 78
      Assets/FungusExamples/DragAndDrop/DragAndDrop.unity
  11. 10
      Assets/FungusExamples/JumpingPrax/Animations/GreenAlien.controller
  12. 0
      Assets/FungusExamples/JumpingPrax/Animations/GreenAlien.controller.meta
  13. 389
      Assets/FungusExamples/JumpingPrax/JumpingPrax.unity
  14. 0
      Assets/FungusExamples/JumpingPrax/Music/PraxMusic.mp3
  15. 0
      Assets/FungusExamples/JumpingPrax/Music/PraxMusic.mp3.meta
  16. 65
      Assets/FungusExamples/TheFacility/TheFacility.unity
  17. 15
      Assets/FungusExamples/iTween/iTween.unity

33
Assets/Fungus/FungusScript/Editor/CommandListAdaptor.cs

@ -194,9 +194,6 @@ namespace Fungus
} }
} }
bool highlight = (Application.isPlaying && command.IsExecuting()) ||
(!Application.isPlaying && commandIsSelected);
string commandName = commandInfoAttr.CommandName; string commandName = commandInfoAttr.CommandName;
GUIStyle commandLabelStyle = new GUIStyle(GUI.skin.box); GUIStyle commandLabelStyle = new GUIStyle(GUI.skin.box);
@ -232,8 +229,7 @@ namespace Fungus
commandLabelRect.height += 5; commandLabelRect.height += 5;
// Select command via left click // Select command via left click
if (!Application.isPlaying && if (Event.current.type == EventType.MouseDown &&
Event.current.type == EventType.MouseDown &&
Event.current.button == 0 && Event.current.button == 0 &&
position.Contains(Event.current.mousePosition)) position.Contains(Event.current.mousePosition))
{ {
@ -261,7 +257,7 @@ namespace Fungus
commandLabelColor = command.GetButtonColor(); commandLabelColor = command.GetButtonColor();
} }
if (highlight) if (commandIsSelected)
{ {
commandLabelColor = Color.green; commandLabelColor = Color.green;
} }
@ -285,6 +281,15 @@ namespace Fungus
GUI.Label(commandLabelRect, commandName, commandLabelStyle); GUI.Label(commandLabelRect, commandName, commandLabelStyle);
} }
if (command.IsExecuting())
{
Rect iconRect = new Rect(commandLabelRect);
iconRect.x += iconRect.width - commandLabelRect.width - 20;
iconRect.width = 20;
iconRect.height = 20;
GUI.Label(iconRect, FungusEditorResources.texPlaySmall, new GUIStyle());
}
Rect summaryRect = new Rect(commandLabelRect); Rect summaryRect = new Rect(commandLabelRect);
if (!isComment) if (!isComment)
{ {
@ -293,6 +298,14 @@ namespace Fungus
summaryRect.width -= 5; summaryRect.width -= 5;
} }
GUIStyle summaryStyle = new GUIStyle();
summaryStyle.fontSize = 10;
summaryStyle.padding.top += 5;
summaryStyle.richText = true;
summaryStyle.wordWrap = false;
summaryStyle.clipping = TextClipping.Clip;
GUI.Label(summaryRect, summary, summaryStyle);
if (error) if (error)
{ {
GUISkin editorSkin = EditorGUIUtility.GetBuiltinSkin(EditorSkin.Inspector); GUISkin editorSkin = EditorGUIUtility.GetBuiltinSkin(EditorSkin.Inspector);
@ -304,14 +317,6 @@ namespace Fungus
summaryRect.width -= 20; summaryRect.width -= 20;
} }
GUIStyle summaryStyle = new GUIStyle();
summaryStyle.fontSize = 10;
summaryStyle.padding.top += 5;
summaryStyle.richText = true;
summaryStyle.wordWrap = false;
summaryStyle.clipping = TextClipping.Clip;
GUI.Label(summaryRect, summary, summaryStyle);
GUI.backgroundColor = Color.white; GUI.backgroundColor = Color.white;
} }

17
Assets/Fungus/FungusScript/Editor/EventHandlerEditor.cs

@ -31,7 +31,7 @@ namespace Fungus
} }
EventHandler t = target as EventHandler; EventHandler t = target as EventHandler;
EventHandlerInfoAttribute info = GetEventHandlerInfo(t.GetType()); EventHandlerInfoAttribute info = EventHandler.GetEventHandlerInfo(t.GetType());
if (info != null && if (info != null &&
info.HelpText.Length > 0) info.HelpText.Length > 0)
{ {
@ -40,21 +40,6 @@ namespace Fungus
serializedObject.ApplyModifiedProperties(); serializedObject.ApplyModifiedProperties();
} }
public static EventHandlerInfoAttribute GetEventHandlerInfo(System.Type eventHandlerType)
{
object[] attributes = eventHandlerType.GetCustomAttributes(typeof(EventHandlerInfoAttribute), false);
foreach (object obj in attributes)
{
EventHandlerInfoAttribute eventHandlerInfoAttr = obj as EventHandlerInfoAttribute;
if (eventHandlerInfoAttr != null)
{
return eventHandlerInfoAttr;
}
}
return null;
}
} }
} }

72
Assets/Fungus/FungusScript/Editor/FungusEditorResources.cs

File diff suppressed because one or more lines are too long

7
Assets/Fungus/FungusScript/Editor/FungusScriptEditor.cs

@ -78,10 +78,6 @@ namespace Fungus
VariableListAdaptor adaptor = new VariableListAdaptor(variablesProp, 0); VariableListAdaptor adaptor = new VariableListAdaptor(variablesProp, 0);
ReorderableListFlags flags = ReorderableListFlags.DisableContextMenu | ReorderableListFlags.HideAddButton; ReorderableListFlags flags = ReorderableListFlags.DisableContextMenu | ReorderableListFlags.HideAddButton;
if (Application.isPlaying)
{
flags |= ReorderableListFlags.HideRemoveButtons;
}
ReorderableListControl.DrawControlFromState(adaptor, null, flags); ReorderableListControl.DrawControlFromState(adaptor, null, flags);
listRect = GUILayoutUtility.GetLastRect(); listRect = GUILayoutUtility.GetLastRect();
@ -117,7 +113,8 @@ namespace Fungus
plusRect.width = plusWidth; plusRect.width = plusWidth;
plusRect.height = plusHeight; plusRect.height = plusHeight;
if (!Application.isPlaying && GUI.Button(plusRect, FungusEditorResources.texAddButton)) if (!Application.isPlaying &&
GUI.Button(plusRect, FungusEditorResources.texAddButton))
{ {
GenericMenu menu = new GenericMenu (); GenericMenu menu = new GenericMenu ();

166
Assets/Fungus/FungusScript/Editor/FungusScriptWindow.cs

@ -22,15 +22,35 @@ namespace Fungus
protected const float minZoomValue = 0.25f; protected const float minZoomValue = 0.25f;
protected const float maxZoomValue = 1f; protected const float maxZoomValue = 1f;
protected GUIStyle nodeStyle = new GUIStyle();
protected static SequenceInspector sequenceInspector; protected static SequenceInspector sequenceInspector;
public const float playIconFadeTime = 0.5f;
[MenuItem("Window/Fungus Script")] [MenuItem("Window/Fungus Script")]
static void Init() static void Init()
{ {
GetWindow(typeof(FungusScriptWindow), false, "Fungus Script"); GetWindow(typeof(FungusScriptWindow), false, "Fungus Script");
} }
protected void OnInspectorUpdate() protected virtual void OnEnable()
{
// All sequence nodes use the same GUIStyle, but with a different background
nodeStyle.border.left = 20;
nodeStyle.border.right = 20;
nodeStyle.border.top = 5;
nodeStyle.border.bottom = 5;
nodeStyle.padding.left = 20;
nodeStyle.padding.right = 20;
nodeStyle.padding.top = 5;
nodeStyle.padding.bottom = 5;
nodeStyle.contentOffset = Vector2.zero;
nodeStyle.alignment = TextAnchor.MiddleCenter;
nodeStyle.wordWrap = true;
}
protected virtual void OnInspectorUpdate()
{ {
// Ensure the Sequence Inspector is always showing the currently selected sequence // Ensure the Sequence Inspector is always showing the currently selected sequence
FungusScript fungusScript = GetFungusScript(); FungusScript fungusScript = GetFungusScript();
@ -218,16 +238,20 @@ namespace Fungus
BeginWindows(); BeginWindows();
GUIStyle nodeStyle = new GUIStyle("flow node 3");
windowSequenceMap.Clear(); windowSequenceMap.Clear();
for (int i = 0; i < sequences.Length; ++i) for (int i = 0; i < sequences.Length; ++i)
{ {
Sequence sequence = sequences[i]; Sequence sequence = sequences[i];
float nodeWidth = nodeStyle.CalcSize(new GUIContent(sequence.sequenceName)).x + 10; float nodeWidthA = nodeStyle.CalcSize(new GUIContent(sequence.sequenceName)).x + 10;
sequence.nodeRect.width = Mathf.Max(120, nodeWidth); float nodeWidthB = 0f;
sequence.nodeRect.height = 30; if (sequence.eventHandler != null)
{
nodeWidthB = nodeStyle.CalcSize(new GUIContent(sequence.eventHandler.GetSummary())).x + 10;
}
sequence.nodeRect.width = Mathf.Max(Mathf.Max(nodeWidthA, nodeWidthB), 120);
sequence.nodeRect.height = 40;
if (Event.current.button == 0) if (Event.current.button == 0)
{ {
@ -266,6 +290,43 @@ namespace Fungus
EndWindows(); EndWindows();
// Draw play icons beside all executing sequences
if (Application.isPlaying)
{
foreach (Sequence s in sequences)
{
if (s.IsExecuting())
{
s.executingIconTimer = playIconFadeTime;
}
if (s.executingIconTimer > 0f)
{
s.executingIconTimer = Mathf.Max(s.executingIconTimer - Time.deltaTime, 0f);
Rect rect = new Rect(s.nodeRect);
rect.x += fungusScript.scrollPos.x - 37;
rect.y += fungusScript.scrollPos.y + 3;
rect.width = 34;
rect.height = 34;
if (!s.IsExecuting() && s.executingIconTimer < playIconFadeTime)
{
float alpha = s.executingIconTimer / playIconFadeTime;
GUI.color = new Color(1f, 1f, 1f, alpha);
}
if (GUI.Button(rect, FungusEditorResources.texPlayBig as Texture, new GUIStyle()))
{
SelectSequence(fungusScript, s);
}
GUI.color = Color.white;
}
}
}
// Right click to drag view // Right click to drag view
if (Event.current.button == 1 && Event.current.type == EventType.MouseDrag) if (Event.current.button == 1 && Event.current.type == EventType.MouseDrag)
{ {
@ -321,6 +382,18 @@ namespace Fungus
} }
} }
protected virtual void SelectSequence(FungusScript fungusScript, Sequence sequence)
{
// Select the sequence and also select currently executing command
ShowSequenceInspector(fungusScript);
fungusScript.selectedSequence = sequence;
fungusScript.ClearSelectedCommands();
if (sequence.activeCommand != null)
{
fungusScript.AddSelectedCommand(sequence.activeCommand);
}
}
public static Sequence CreateSequence(FungusScript fungusScript, Vector2 position) public static Sequence CreateSequence(FungusScript fungusScript, Vector2 position)
{ {
Sequence newSequence = fungusScript.CreateSequence(position); Sequence newSequence = fungusScript.CreateSequence(position);
@ -364,51 +437,59 @@ namespace Fungus
{ {
Undo.RecordObject(fungusScript, "Select"); Undo.RecordObject(fungusScript, "Select");
ShowSequenceInspector(fungusScript); SelectSequence(fungusScript, sequence);
fungusScript.selectedSequence = sequence;
GUIUtility.keyboardControl = 0; // Fix for textarea not refeshing (change focus) GUIUtility.keyboardControl = 0; // Fix for textarea not refeshing (change focus)
} }
} }
GUIStyle nodeStyle = null; bool selected = (fungusScript.selectedSequence == sequence);
if (fungusScript.selectedSequence == sequence)
{ GUIStyle nodeStyleCopy = new GUIStyle(nodeStyle);
// Green node
nodeStyle = new GUIStyle("flow node 3"); if (sequence.eventHandler != null)
}
else if (sequence.IsExecuting())
{ {
// Blue node nodeStyleCopy.normal.background = selected ? FungusEditorResources.texEventNodeOn : FungusEditorResources.texEventNodeOff;
nodeStyle = new GUIStyle("flow node 2");
} }
else else
{ {
// Yellow node // Count the number of unique connections (excluding self references)
nodeStyle = new GUIStyle("flow node 4"); List<Sequence> uniqueList = new List<Sequence>();
} List<Sequence> connectedSequences = sequence.GetConnectedSequences();
foreach (Sequence connectedSequence in connectedSequences)
nodeStyle.wordWrap = true;
string nodeName = "";
if (sequence.eventHandler != null)
{
EventHandlerInfoAttribute info = EventHandlerEditor.GetEventHandlerInfo(sequence.eventHandler.GetType());
if (info != null)
{ {
string handlerSummary = sequence.eventHandler.GetSummary(); if (connectedSequence == sequence ||
if (handlerSummary == "") uniqueList.Contains(connectedSequence))
{ {
handlerSummary = info.EventHandlerName; continue;
} }
uniqueList.Add(connectedSequence);
}
nodeName = "(" + handlerSummary + ")\n"; if (uniqueList.Count > 1)
nodeStyle.padding.top = 23; // Adjust label to fit on two lines {
nodeStyleCopy.normal.background = selected ? FungusEditorResources.texChoiceNodeOn : FungusEditorResources.texChoiceNodeOff;
}
else
{
nodeStyleCopy.normal.background = selected ? FungusEditorResources.texProcessNodeOn : FungusEditorResources.texProcessNodeOff;
} }
} }
// Show event handler name, or a custom summary if one is provided
string nodeName = "";
if (sequence.eventHandler != null)
{
string handlerSummary = sequence.eventHandler.GetSummary();
nodeName = "(" + handlerSummary + ")\n";
}
nodeName += sequence.sequenceName; nodeName += sequence.sequenceName;
GUILayout.Box(nodeName, nodeStyle, GUILayout.Width(sequence.nodeRect.width), GUILayout.Height(sequence.nodeRect.height)); GUILayout.Box(nodeName, nodeStyleCopy, GUILayout.Width(sequence.nodeRect.width), GUILayout.Height(sequence.nodeRect.height));
if (sequence.description.Length > 0)
{
GUILayout.Label(sequence.description, EditorStyles.whiteLabel);
}
if (Event.current.type == EventType.ContextClick) if (Event.current.type == EventType.ContextClick)
{ {
@ -463,6 +544,7 @@ namespace Fungus
foreach (Sequence sequenceB in connectedSequences) foreach (Sequence sequenceB in connectedSequences)
{ {
if (sequenceB == null || if (sequenceB == null ||
sequence == sequenceB ||
sequenceB.GetFungusScript() != fungusScript) sequenceB.GetFungusScript() != fungusScript)
{ {
continue; continue;
@ -484,17 +566,17 @@ namespace Fungus
protected virtual void DrawRectConnection(Rect rectA, Rect rectB, bool highlight) protected virtual void DrawRectConnection(Rect rectA, Rect rectB, bool highlight)
{ {
Vector2[] pointsA = new Vector2[] { Vector2[] pointsA = new Vector2[] {
new Vector2(rectA.xMin, rectA.center.y), new Vector2(rectA.xMin + 5, rectA.center.y),
new Vector2(rectA.xMin + rectA.width / 2, rectA.yMin), new Vector2(rectA.xMin + rectA.width / 2, rectA.yMin + 2),
new Vector2(rectA.xMin + rectA.width / 2, rectA.yMax), new Vector2(rectA.xMin + rectA.width / 2, rectA.yMax - 2),
new Vector2(rectA.xMax, rectA.center.y) new Vector2(rectA.xMax - 5, rectA.center.y)
}; };
Vector2[] pointsB = new Vector2[] { Vector2[] pointsB = new Vector2[] {
new Vector2(rectB.xMin, rectB.center.y), new Vector2(rectB.xMin + 5, rectB.center.y),
new Vector2(rectB.xMin + rectB.width / 2, rectB.yMin), new Vector2(rectB.xMin + rectB.width / 2, rectB.yMin + 2),
new Vector2(rectB.xMin + rectB.width / 2, rectB.yMax), new Vector2(rectB.xMin + rectB.width / 2, rectB.yMax - 2),
new Vector2(rectB.xMax, rectB.center.y) new Vector2(rectB.xMax - 5, rectB.center.y)
}; };
Vector2 pointA = Vector2.zero; Vector2 pointA = Vector2.zero;

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

@ -31,6 +31,9 @@ namespace Fungus
Sequence sequence = target as Sequence; Sequence sequence = target as Sequence;
SerializedProperty descriptionProp = serializedObject.FindProperty("description");
EditorGUILayout.PropertyField(descriptionProp);
SerializedProperty runSlowInEditorProp = serializedObject.FindProperty("runSlowInEditor"); SerializedProperty runSlowInEditorProp = serializedObject.FindProperty("runSlowInEditor");
EditorGUILayout.PropertyField(runSlowInEditorProp); EditorGUILayout.PropertyField(runSlowInEditorProp);
@ -54,16 +57,12 @@ namespace Fungus
ReorderableListControl.DrawControlFromState(adaptor, null, flags); ReorderableListControl.DrawControlFromState(adaptor, null, flags);
if (!Application.isPlaying) if (Event.current.type == EventType.ContextClick)
{ {
if (Event.current.type == EventType.ContextClick) ShowContextMenu();
{
ShowContextMenu();
}
} }
if (!Application.isPlaying && if (sequence == fungusScript.selectedSequence)
sequence == fungusScript.selectedSequence)
{ {
// Show add command button // Show add command button
{ {
@ -110,7 +109,7 @@ namespace Fungus
string currentHandlerName = "<None>"; string currentHandlerName = "<None>";
if (currentType != null) if (currentType != null)
{ {
EventHandlerInfoAttribute info = EventHandlerEditor.GetEventHandlerInfo(currentType); EventHandlerInfoAttribute info = EventHandler.GetEventHandlerInfo(currentType);
currentHandlerName = info.EventHandlerName; currentHandlerName = info.EventHandlerName;
} }
@ -128,7 +127,7 @@ namespace Fungus
// Add event handlers with no category first // Add event handlers with no category first
foreach (System.Type type in eventHandlerTypes) foreach (System.Type type in eventHandlerTypes)
{ {
EventHandlerInfoAttribute info = EventHandlerEditor.GetEventHandlerInfo(type); EventHandlerInfoAttribute info = EventHandler.GetEventHandlerInfo(type);
if (info.Category.Length == 0) if (info.Category.Length == 0)
{ {
SetEventHandlerOperation operation = new SetEventHandlerOperation(); SetEventHandlerOperation operation = new SetEventHandlerOperation();
@ -142,7 +141,7 @@ namespace Fungus
// Add event handlers with a category afterwards // Add event handlers with a category afterwards
foreach (System.Type type in eventHandlerTypes) foreach (System.Type type in eventHandlerTypes)
{ {
EventHandlerInfoAttribute info = EventHandlerEditor.GetEventHandlerInfo(type); EventHandlerInfoAttribute info = EventHandler.GetEventHandlerInfo(type);
if (info.Category.Length > 0) if (info.Category.Length > 0)
{ {
SetEventHandlerOperation operation = new SetEventHandlerOperation(); SetEventHandlerOperation operation = new SetEventHandlerOperation();
@ -376,6 +375,7 @@ namespace Fungus
Command newCommand = Undo.AddComponent(sequence.gameObject, commandOperation.commandType) as Command; Command newCommand = Undo.AddComponent(sequence.gameObject, commandOperation.commandType) as Command;
sequence.GetFungusScript().AddSelectedCommand(newCommand); sequence.GetFungusScript().AddSelectedCommand(newCommand);
newCommand.parentSequence = sequence;
// Let command know it has just been added to the sequence // Let command know it has just been added to the sequence
newCommand.OnCommandAdded(sequence); newCommand.OnCommandAdded(sequence);
@ -571,6 +571,8 @@ namespace Fungus
{ {
System.Type type = command.GetType(); System.Type type = command.GetType();
Command newCommand = Undo.AddComponent(fungusScript.selectedSequence.gameObject, type) as Command; Command newCommand = Undo.AddComponent(fungusScript.selectedSequence.gameObject, type) as Command;
newCommand.parentSequence = fungusScript.selectedSequence;
System.Reflection.FieldInfo[] fields = type.GetFields(); System.Reflection.FieldInfo[] fields = type.GetFields();
foreach (System.Reflection.FieldInfo field in fields) foreach (System.Reflection.FieldInfo field in fields)
{ {

8
Assets/Fungus/FungusScript/Editor/SequenceInspector.cs

@ -36,13 +36,7 @@ namespace Fungus
DestroyImmediate(sequenceEditor); DestroyImmediate(sequenceEditor);
Command inspectCommand = null; Command inspectCommand = null;
if (fungusScript.selectedCommands.Count == 1)
if (Application.isPlaying &&
sequence.activeCommand != null)
{
inspectCommand = sequence.activeCommand;
}
else if (fungusScript.selectedCommands.Count == 1)
{ {
inspectCommand = fungusScript.selectedCommands[0]; inspectCommand = fungusScript.selectedCommands[0];
} }

28
Assets/Fungus/FungusScript/Scripts/EventHandler.cs

@ -26,7 +26,7 @@ namespace Fungus
* To create a custom Event Handler, simply subclass EventHandler and call the ExecuteSequence() method * To create a custom Event Handler, simply subclass EventHandler and call the ExecuteSequence() method
* when the event occurs. * when the event occurs.
* Add an EventHandlerInfo attibute and your new EventHandler class will automatically appear in the * Add an EventHandlerInfo attibute and your new EventHandler class will automatically appear in the
* 'Start Event' dropdown menu when a sequence is selected. * 'Execute On Event' dropdown menu when a sequence is selected.
*/ */
[RequireComponent(typeof(Sequence))] [RequireComponent(typeof(Sequence))]
[RequireComponent(typeof(FungusScript))] [RequireComponent(typeof(FungusScript))]
@ -35,6 +35,24 @@ namespace Fungus
[HideInInspector] [HideInInspector]
public Sequence parentSequence; public Sequence parentSequence;
/**
* Returns the class attribute info for an event handler class.
*/
public static EventHandlerInfoAttribute GetEventHandlerInfo(System.Type eventHandlerType)
{
object[] attributes = eventHandlerType.GetCustomAttributes(typeof(EventHandlerInfoAttribute), false);
foreach (object obj in attributes)
{
EventHandlerInfoAttribute eventHandlerInfoAttr = obj as EventHandlerInfoAttribute;
if (eventHandlerInfoAttr != null)
{
return eventHandlerInfoAttr;
}
}
return null;
}
/** /**
* The Event Handler should call this method when the event is detected. * The Event Handler should call this method when the event is detected.
*/ */
@ -56,7 +74,13 @@ namespace Fungus
*/ */
public virtual string GetSummary() public virtual string GetSummary()
{ {
return ""; EventHandlerInfoAttribute info = GetEventHandlerInfo(this.GetType());
if (info == null)
{
return "";
}
return info.EventHandlerName;
} }
} }
} }

28
Assets/Fungus/FungusScript/Scripts/Sequence.cs

@ -5,13 +5,16 @@ using System.Collections.Generic;
namespace Fungus namespace Fungus
{ {
[ExecuteInEditMode] [ExecuteInEditMode]
[RequireComponent(typeof(FungusScript))] [RequireComponent(typeof(FungusScript))]
public class Sequence : Node public class Sequence : Node
{ {
public string sequenceName = "New Sequence"; public string sequenceName = "New Sequence";
[TextArea(2, 5)]
[Tooltip("Description text to display under the sequence node")]
public string description = "";
[Tooltip("Slow down execution in the editor to make it easier to visualise program flow")] [Tooltip("Slow down execution in the editor to make it easier to visualise program flow")]
public bool runSlowInEditor = true; public bool runSlowInEditor = true;
@ -21,6 +24,10 @@ namespace Fungus
[System.NonSerialized] [System.NonSerialized]
public Command activeCommand; public Command activeCommand;
[HideInInspector]
[System.NonSerialized]
public float executingIconTimer;
[HideInInspector] [HideInInspector]
public List<Command> commandList = new List<Command>(); public List<Command> commandList = new List<Command>();
@ -87,8 +94,11 @@ namespace Fungus
executionCount++; executionCount++;
} }
FungusScript fungusScript = GetFungusScript();
activeCommand = null; activeCommand = null;
Command nextCommand = null; Command nextCommand = null;
executingIconTimer = 0.5f;
bool executeNext = (currentCommand == null); bool executeNext = (currentCommand == null);
foreach (Command command in commandList) foreach (Command command in commandList)
@ -113,10 +123,16 @@ namespace Fungus
} }
else else
{ {
FungusScript fungusScript = GetFungusScript();
if (fungusScript.gameObject.activeInHierarchy) if (fungusScript.gameObject.activeInHierarchy)
{ {
// Auto select a command in some situations
if ((fungusScript.selectedCommands.Count == 0 && currentCommand == null) ||
(fungusScript.selectedCommands.Count == 1 && fungusScript.selectedCommands[0] == currentCommand))
{
fungusScript.ClearSelectedCommands();
fungusScript.AddSelectedCommand(nextCommand);
}
if (!runSlowInEditor) if (!runSlowInEditor)
{ {
activeCommand = nextCommand; activeCommand = nextCommand;
@ -131,11 +147,11 @@ namespace Fungus
} }
IEnumerator ExecuteAfterDelay(Command command, float delay) IEnumerator ExecuteAfterDelay(Command nextCommand, float delay)
{ {
activeCommand = command; activeCommand = nextCommand;
yield return new WaitForSeconds(delay); yield return new WaitForSeconds(delay);
command.Execute(); nextCommand.Execute();
} }
public virtual void Stop() public virtual void Stop()

78
Assets/FungusExamples/DragAndDrop/DragAndDrop.unity

@ -734,10 +734,11 @@ MonoBehaviour:
x: -591 x: -591
y: -391 y: -391
width: 1887 width: 1887
height: 1008 height: 1017
selectedSequence: {fileID: 0} selectedSequence: {fileID: 2019116669}
selectedCommands: [] selectedCommands: []
variables: [] variables: []
description:
runSlowDuration: .25 runSlowDuration: .25
colorCommands: 1 colorCommands: 1
hideComponents: 1 hideComponents: 1
@ -754,11 +755,12 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: -31 x: -32
y: 99 y: 100
width: 120 width: 137
height: 30 height: 40
sequenceName: Drag Completed sequenceName: Drag Completed
description:
runSlowInEditor: 0 runSlowInEditor: 0
eventHandler: {fileID: 2019116681} eventHandler: {fileID: 2019116681}
commandList: commandList:
@ -795,9 +797,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
errorMessage: errorMessage:
indentLevel: 0 indentLevel: 0
targetObject: targetObject: {fileID: 606394391}
targetType: 1
otherGameObject: {fileID: 606394391}
tweenName: tweenName:
duration: 1 duration: 1
easeType: 2 easeType: 2
@ -872,9 +872,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
errorMessage: errorMessage:
indentLevel: 0 indentLevel: 0
targetObject: targetObject: {fileID: 1081858233}
targetType: 1
otherGameObject: {fileID: 1081858233}
tweenName: tweenName:
duration: .100000001 duration: .100000001
easeType: 2 easeType: 2
@ -894,9 +892,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
errorMessage: errorMessage:
indentLevel: 0 indentLevel: 0
targetObject: targetObject: {fileID: 1081858233}
targetType: 1
otherGameObject: {fileID: 1081858233}
tweenName: tweenName:
duration: .100000001 duration: .100000001
easeType: 2 easeType: 2
@ -945,10 +941,11 @@ MonoBehaviour:
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: -35 x: -35
y: 182 y: 186
width: 120 width: 120
height: 30 height: 40
sequenceName: Drag Exited sequenceName: Drag Exited
description:
runSlowInEditor: 0 runSlowInEditor: 0
eventHandler: {fileID: 2019116684} eventHandler: {fileID: 2019116684}
commandList: commandList:
@ -997,10 +994,11 @@ MonoBehaviour:
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: -33 x: -33
y: 141 y: 142
width: 120 width: 120
height: 30 height: 40
sequenceName: Drag Entered sequenceName: Drag Entered
description:
runSlowInEditor: 0 runSlowInEditor: 0
eventHandler: {fileID: 2019116686} eventHandler: {fileID: 2019116686}
commandList: commandList:
@ -1033,11 +1031,12 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: -32 x: -33
y: 57 y: 58
width: 120 width: 131
height: 30 height: 40
sequenceName: Drag Cancelled sequenceName: Drag Cancelled
description:
runSlowInEditor: 0 runSlowInEditor: 0
eventHandler: {fileID: 2019116673} eventHandler: {fileID: 2019116673}
commandList: commandList:
@ -1071,10 +1070,11 @@ MonoBehaviour:
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: -33 x: -33
y: 14 y: 11
width: 120 width: 120
height: 30 height: 40
sequenceName: Drag Start sequenceName: Drag Start
description:
runSlowInEditor: 0 runSlowInEditor: 0
eventHandler: {fileID: 2019116678} eventHandler: {fileID: 2019116678}
commandList: commandList:
@ -1093,9 +1093,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
errorMessage: errorMessage:
indentLevel: 0 indentLevel: 0
targetObject: targetObject: {fileID: 1637100245}
targetType: 1
otherGameObject: {fileID: 1637100245}
tweenName: tweenName:
duration: 1 duration: 1
easeType: 2 easeType: 2
@ -1129,9 +1127,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
errorMessage: errorMessage:
indentLevel: 0 indentLevel: 0
targetObject: targetObject: {fileID: 606394391}
targetType: 1
otherGameObject: {fileID: 606394391}
tweenName: tweenName:
duration: 1 duration: 1
easeType: 2 easeType: 2
@ -1152,9 +1148,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
errorMessage: errorMessage:
indentLevel: 0 indentLevel: 0
targetObject: targetObject: {fileID: 606394391}
targetType: 1
otherGameObject: {fileID: 606394391}
tweenName: tweenName:
duration: 1 duration: 1
easeType: 2 easeType: 2
@ -1188,11 +1182,12 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: 184 x: 185
y: 14 y: 14
width: 120 width: 137
height: 30 height: 40
sequenceName: Object Clicked 1 sequenceName: Object Clicked 1
description:
runSlowInEditor: 0 runSlowInEditor: 0
eventHandler: {fileID: 2019116692} eventHandler: {fileID: 2019116692}
commandList: commandList:
@ -1212,9 +1207,10 @@ MonoBehaviour:
serializedVersion: 2 serializedVersion: 2
x: 185 x: 185
y: 56 y: 56
width: 120 width: 137
height: 30 height: 40
sequenceName: Object Clicked 2 sequenceName: Object Clicked 2
description:
runSlowInEditor: 0 runSlowInEditor: 0
eventHandler: {fileID: 2019116696} eventHandler: {fileID: 2019116696}
commandList: commandList:
@ -1232,9 +1228,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
errorMessage: errorMessage:
indentLevel: 0 indentLevel: 0
targetObject: targetObject: {fileID: 591590528}
targetType: 1
otherGameObject: {fileID: 591590528}
tweenName: tweenName:
duration: 1 duration: 1
easeType: 2 easeType: 2

10
Assets/FungusExamples/JumpingPrax/Animations/1000px-Smiley_green_alien_nerdy.controller → Assets/FungusExamples/JumpingPrax/Animations/GreenAlien.controller

@ -5,7 +5,7 @@ AnimatorController:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0} m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0} m_PrefabInternal: {fileID: 0}
m_Name: 1000px-Smiley_green_alien_nerdy m_Name: GreenAlien
serializedVersion: 2 serializedVersion: 2
m_AnimatorParameters: m_AnimatorParameters:
- m_Name: AmIJumping - m_Name: AmIJumping
@ -110,14 +110,14 @@ StateMachine:
m_ChildStateMachine: [] m_ChildStateMachine: []
m_ChildStateMachinePosition: [] m_ChildStateMachinePosition: []
m_OrderedTransitions: m_OrderedTransitions:
data:
first: {fileID: 110200000}
second:
- {fileID: 110188867}
data: data:
first: {fileID: 110249473} first: {fileID: 110249473}
second: second:
- {fileID: 110100000} - {fileID: 110100000}
data:
first: {fileID: 110200000}
second:
- {fileID: 110188867}
m_MotionSetCount: 1 m_MotionSetCount: 1
m_AnyStatePosition: {x: 50, y: 20, z: 0} m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}

0
Assets/FungusExamples/JumpingPrax/Animations/1000px-Smiley_green_alien_nerdy.controller.meta → Assets/FungusExamples/JumpingPrax/Animations/GreenAlien.controller.meta

389
Assets/FungusExamples/JumpingPrax/JumpingPrax.unity

@ -221,33 +221,18 @@ GameObject:
m_Component: m_Component:
- 4: {fileID: 16019624} - 4: {fileID: 16019624}
- 114: {fileID: 16019623} - 114: {fileID: 16019623}
- 114: {fileID: 16019625}
- 114: {fileID: 16019626} - 114: {fileID: 16019626}
- 114: {fileID: 16019650} - 114: {fileID: 16019650}
- 114: {fileID: 16019649} - 114: {fileID: 16019649}
- 114: {fileID: 16019648}
- 114: {fileID: 16019647} - 114: {fileID: 16019647}
- 114: {fileID: 16019646} - 114: {fileID: 16019646}
- 114: {fileID: 16019645} - 114: {fileID: 16019645}
- 114: {fileID: 16019644}
- 114: {fileID: 16019643} - 114: {fileID: 16019643}
- 114: {fileID: 16019642} - 114: {fileID: 16019642}
- 114: {fileID: 16019635}
- 114: {fileID: 16019631}
- 114: {fileID: 16019630}
- 114: {fileID: 16019629}
- 114: {fileID: 16019628} - 114: {fileID: 16019628}
- 114: {fileID: 16019627}
- 114: {fileID: 16019636}
- 114: {fileID: 16019641}
- 114: {fileID: 16019640}
- 114: {fileID: 16019639}
- 114: {fileID: 16019638}
- 114: {fileID: 16019637}
- 114: {fileID: 16019632}
- 114: {fileID: 16019634}
- 114: {fileID: 16019633}
- 114: {fileID: 16019651} - 114: {fileID: 16019651}
- 114: {fileID: 16019627}
- 114: {fileID: 16019625}
m_Layer: 0 m_Layer: 0
m_Name: FungusScript m_Name: FungusScript
m_TagString: Untagged m_TagString: Untagged
@ -276,11 +261,9 @@ MonoBehaviour:
y: -642 y: -642
width: 2140 width: 2140
height: 1450 height: 1450
selectedSequence: {fileID: 16019632} selectedSequence: {fileID: 16019626}
selectedCommands: selectedCommands: []
- {fileID: 16019633} variables: []
variables:
- {fileID: 16019625}
description: description:
runSlowDuration: .25 runSlowDuration: .25
colorCommands: 1 colorCommands: 1
@ -305,11 +288,12 @@ MonoBehaviour:
m_GameObject: {fileID: 16019622} m_GameObject: {fileID: 16019622}
m_Enabled: 1 m_Enabled: 1
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5d02d9822eec54c98afe95bb497211b3, type: 3} m_Script: {fileID: 11500000, guid: 050fb9e6e72f442b3b883da8a965bdeb, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
scope: 0 errorMessage:
key: Jumping indentLevel: 0
targetSequence: {fileID: 16019626}
--- !u!114 &16019626 --- !u!114 &16019626
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 2 m_ObjectHideFlags: 2
@ -323,29 +307,25 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: -212 x: -251
y: -241 y: -190
width: 120 width: 121
height: 30 height: 40
sequenceName: Start sequenceName: Start
description:
runSlowInEditor: 1 runSlowInEditor: 1
eventHandler: {fileID: 16019651} eventHandler: {fileID: 16019651}
commandList: commandList:
- {fileID: 16019650} - {fileID: 16019650}
- {fileID: 16019649} - {fileID: 16019649}
- {fileID: 16019648}
- {fileID: 16019647} - {fileID: 16019647}
- {fileID: 16019646} - {fileID: 16019646}
- {fileID: 16019645} - {fileID: 16019645}
- {fileID: 16019644}
- {fileID: 16019643} - {fileID: 16019643}
- {fileID: 16019642} - {fileID: 16019642}
- {fileID: 16019635}
- {fileID: 16019631}
- {fileID: 16019630}
- {fileID: 16019629}
- {fileID: 16019628} - {fileID: 16019628}
- {fileID: 16019627} - {fileID: 16019627}
- {fileID: 16019625}
--- !u!114 &16019627 --- !u!114 &16019627
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 2 m_ObjectHideFlags: 2
@ -359,244 +339,12 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
errorMessage: errorMessage:
indentLevel: 0 indentLevel: 0
storyText: You took too long! storyText: That's me done jumping for now
character: {fileID: 0}
sayDialog: {fileID: 0}
voiceOverClip: {fileID: 0}
showOnce: 0
--- !u!114 &16019628
MonoBehaviour:
m_ObjectHideFlags: 2
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 16019622}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ee63e642958494f1ebed8116ae4b1103, type: 3}
m_Name:
m_EditorClassIdentifier:
errorMessage:
indentLevel: 0
animator: {fileID: 2120294220}
parameterName: AmIJumping
value:
booleanRef: {fileID: 0}
booleanVal: 0
--- !u!114 &16019629
MonoBehaviour:
m_ObjectHideFlags: 2
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 16019622}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fb77d0ce495044f6e9feb91b31798e8c, type: 3}
m_Name:
m_EditorClassIdentifier:
errorMessage:
indentLevel: 0
variable: {fileID: 16019625}
setOperator: 0
booleanData:
booleanRef: {fileID: 0}
booleanVal: 0
integerData:
integerRef: {fileID: 0}
integerVal: 0
floatData:
floatRef: {fileID: 0}
floatVal: 0
stringData:
stringRef: {fileID: 0}
stringVal:
--- !u!114 &16019630
MonoBehaviour:
m_ObjectHideFlags: 2
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 16019622}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d1dc785fd3508440db335f3b5654c96c, type: 3}
m_Name:
m_EditorClassIdentifier:
errorMessage:
indentLevel: 0
chooseText:
character: {fileID: 1844806518}
chooseDialog: {fileID: 0}
voiceOverClip: {fileID: 0}
timeoutDuration: 5
--- !u!114 &16019631
MonoBehaviour:
m_ObjectHideFlags: 2
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 16019622}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9a61ea20fbb744ca2a363c33ad65cd89, type: 3}
m_Name:
m_EditorClassIdentifier:
errorMessage:
indentLevel: 0
variable: {fileID: 0}
setOperator: 0
booleanData:
booleanRef: {fileID: 0}
booleanVal: 0
integerData:
integerRef: {fileID: 0}
integerVal: 0
floatData:
floatRef: {fileID: 0}
floatVal: 0
stringData:
stringRef: {fileID: 0}
stringVal:
optionText: Go back to the start
targetSequence: {fileID: 16019632}
hideOnSelected: 0
--- !u!114 &16019632
MonoBehaviour:
m_ObjectHideFlags: 2
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 16019622}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3d3d73aef2cfc4f51abf34ac00241f60, type: 3}
m_Name:
m_EditorClassIdentifier:
nodeRect:
serializedVersion: 2
x: -60
y: -172
width: 120
height: 30
sequenceName: BackToTheStart
runSlowInEditor: 1
eventHandler: {fileID: 0}
commandList:
- {fileID: 16019634}
- {fileID: 16019633}
--- !u!114 &16019633
MonoBehaviour:
m_ObjectHideFlags: 2
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 16019622}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 050fb9e6e72f442b3b883da8a965bdeb, type: 3}
m_Name:
m_EditorClassIdentifier:
errorMessage:
indentLevel: 0
targetSequence: {fileID: 16019626}
--- !u!114 &16019634
MonoBehaviour:
m_ObjectHideFlags: 2
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 16019622}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ec422cd568a9c4a31ad7c36d0572b9da, type: 3}
m_Name:
m_EditorClassIdentifier:
errorMessage:
indentLevel: 0
storyText: OK, back to the start!
character: {fileID: 1844806518} character: {fileID: 1844806518}
sayDialog: {fileID: 0} sayDialog: {fileID: 0}
voiceOverClip: {fileID: 0} voiceOverClip: {fileID: 0}
showOnce: 0 showOnce: 0
--- !u!114 &16019635 --- !u!114 &16019628
MonoBehaviour:
m_ObjectHideFlags: 2
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 16019622}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9a61ea20fbb744ca2a363c33ad65cd89, type: 3}
m_Name:
m_EditorClassIdentifier:
errorMessage:
indentLevel: 0
variable: {fileID: 0}
setOperator: 0
booleanData:
booleanRef: {fileID: 0}
booleanVal: 0
integerData:
integerRef: {fileID: 0}
integerVal: 0
floatData:
floatRef: {fileID: 0}
floatVal: 0
stringData:
stringRef: {fileID: 0}
stringVal:
optionText: Stop jumping
targetSequence: {fileID: 16019636}
hideOnSelected: 0
--- !u!114 &16019636
MonoBehaviour:
m_ObjectHideFlags: 2
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 16019622}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3d3d73aef2cfc4f51abf34ac00241f60, type: 3}
m_Name:
m_EditorClassIdentifier:
nodeRect:
serializedVersion: 2
x: -316
y: -172
width: 120
height: 30
sequenceName: StopJumping
runSlowInEditor: 1
eventHandler: {fileID: 0}
commandList:
- {fileID: 16019641}
- {fileID: 16019640}
- {fileID: 16019639}
- {fileID: 16019638}
- {fileID: 16019637}
--- !u!114 &16019637
MonoBehaviour:
m_ObjectHideFlags: 2
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 16019622}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 050fb9e6e72f442b3b883da8a965bdeb, type: 3}
m_Name:
m_EditorClassIdentifier:
errorMessage:
indentLevel: 0
targetSequence: {fileID: 16019632}
--- !u!114 &16019638
MonoBehaviour:
m_ObjectHideFlags: 2
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 16019622}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3315ad2ebb85443909a1203d56d9344e, type: 3}
m_Name:
m_EditorClassIdentifier:
errorMessage:
indentLevel: 0
duration: 2
--- !u!114 &16019639
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 2 m_ObjectHideFlags: 2
m_PrefabParentObject: {fileID: 0} m_PrefabParentObject: {fileID: 0}
@ -614,51 +362,6 @@ MonoBehaviour:
value: value:
booleanRef: {fileID: 0} booleanRef: {fileID: 0}
booleanVal: 0 booleanVal: 0
--- !u!114 &16019640
MonoBehaviour:
m_ObjectHideFlags: 2
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 16019622}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fb77d0ce495044f6e9feb91b31798e8c, type: 3}
m_Name:
m_EditorClassIdentifier:
errorMessage:
indentLevel: 0
variable: {fileID: 16019625}
setOperator: 0
booleanData:
booleanRef: {fileID: 0}
booleanVal: 0
integerData:
integerRef: {fileID: 0}
integerVal: 0
floatData:
floatRef: {fileID: 0}
floatVal: 0
stringData:
stringRef: {fileID: 0}
stringVal:
--- !u!114 &16019641
MonoBehaviour:
m_ObjectHideFlags: 2
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 16019622}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ec422cd568a9c4a31ad7c36d0572b9da, type: 3}
m_Name:
m_EditorClassIdentifier:
errorMessage:
indentLevel: 0
storyText: But I don't wanna stop!
character: {fileID: 1844806518}
sayDialog: {fileID: 0}
voiceOverClip: {fileID: 0}
showOnce: 0
--- !u!114 &16019642 --- !u!114 &16019642
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 2 m_ObjectHideFlags: 2
@ -695,33 +398,6 @@ MonoBehaviour:
value: value:
booleanRef: {fileID: 0} booleanRef: {fileID: 0}
booleanVal: 1 booleanVal: 1
--- !u!114 &16019644
MonoBehaviour:
m_ObjectHideFlags: 2
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 16019622}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fb77d0ce495044f6e9feb91b31798e8c, type: 3}
m_Name:
m_EditorClassIdentifier:
errorMessage:
indentLevel: 0
variable: {fileID: 16019625}
setOperator: 0
booleanData:
booleanRef: {fileID: 0}
booleanVal: 0
integerData:
integerRef: {fileID: 0}
integerVal: 0
floatData:
floatRef: {fileID: 0}
floatVal: 0
stringData:
stringRef: {fileID: 0}
stringVal:
--- !u!114 &16019645 --- !u!114 &16019645
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 2 m_ObjectHideFlags: 2
@ -774,33 +450,6 @@ MonoBehaviour:
sayDialog: {fileID: 0} sayDialog: {fileID: 0}
voiceOverClip: {fileID: 0} voiceOverClip: {fileID: 0}
showOnce: 0 showOnce: 0
--- !u!114 &16019648
MonoBehaviour:
m_ObjectHideFlags: 2
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 16019622}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fb77d0ce495044f6e9feb91b31798e8c, type: 3}
m_Name:
m_EditorClassIdentifier:
errorMessage:
indentLevel: 0
variable: {fileID: 16019625}
setOperator: 0
booleanData:
booleanRef: {fileID: 0}
booleanVal: 1
integerData:
integerRef: {fileID: 0}
integerVal: 0
floatData:
floatRef: {fileID: 0}
floatVal: 0
stringData:
stringRef: {fileID: 0}
stringVal:
--- !u!114 &16019649 --- !u!114 &16019649
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 2 m_ObjectHideFlags: 2
@ -836,7 +485,7 @@ MonoBehaviour:
fadeTexture: {fileID: 0} fadeTexture: {fileID: 0}
--- !u!114 &16019651 --- !u!114 &16019651
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 2
m_PrefabParentObject: {fileID: 0} m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0} m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 16019622} m_GameObject: {fileID: 16019622}
@ -3777,7 +3426,7 @@ GameObject:
- 212: {fileID: 2120294218} - 212: {fileID: 2120294218}
- 95: {fileID: 2120294220} - 95: {fileID: 2120294220}
m_Layer: 0 m_Layer: 0
m_Name: 1000px-Smiley_green_alien_nerdy.svg m_Name: GreenAlien
m_TagString: Untagged m_TagString: Untagged
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0

0
Assets/FungusExamples/JumpingPrax/Music/DOt_-_05_-_IMF.mp3 → Assets/FungusExamples/JumpingPrax/Music/PraxMusic.mp3

0
Assets/FungusExamples/JumpingPrax/Music/DOt_-_05_-_IMF.mp3.meta → Assets/FungusExamples/JumpingPrax/Music/PraxMusic.mp3.meta

65
Assets/FungusExamples/TheFacility/TheFacility.unity

@ -1233,7 +1233,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 7a334fe2ffb574b3583ff3b18b4792d3, type: 3} m_Script: {fileID: 11500000, guid: 7a334fe2ffb574b3583ff3b18b4792d3, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
scrollPos: {x: -440.05423, y: 55.7798004} scrollPos: {x: -373.054199, y: 73.7798004}
variablesScrollPos: {x: 0, y: 0} variablesScrollPos: {x: 0, y: 0}
variablesExpanded: 1 variablesExpanded: 1
zoom: 1 zoom: 1
@ -1243,7 +1243,7 @@ MonoBehaviour:
y: -610.734985 y: -610.734985
width: 3261.20312 width: 3261.20312
height: 2227.35059 height: 2227.35059
selectedSequence: {fileID: 771014104} selectedSequence: {fileID: 0}
selectedCommands: [] selectedCommands: []
variables: variables:
- {fileID: 771014102} - {fileID: 771014102}
@ -1323,9 +1323,10 @@ MonoBehaviour:
serializedVersion: 2 serializedVersion: 2
x: 560.814453 x: 560.814453
y: 17.053772 y: 17.053772
width: 120 width: 121
height: 30 height: 40
sequenceName: Start sequenceName: Start
description:
runSlowInEditor: 1 runSlowInEditor: 1
eventHandler: {fileID: 771014227} eventHandler: {fileID: 771014227}
commandList: commandList:
@ -1368,9 +1369,10 @@ MonoBehaviour:
serializedVersion: 2 serializedVersion: 2
x: 733.351135 x: 733.351135
y: 17.4427872 y: 17.4427872
width: 120 width: 128
height: 30 height: 40
sequenceName: StandingThere sequenceName: Standing there
description:
runSlowInEditor: 1 runSlowInEditor: 1
eventHandler: {fileID: 0} eventHandler: {fileID: 0}
commandList: commandList:
@ -1669,11 +1671,12 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: 917.223145 x: 916.223145
y: 16.7090759 y: 15.7090759
width: 120 width: 142
height: 30 height: 40
sequenceName: InspectDeskFirst sequenceName: Inspect desk first
description:
runSlowInEditor: 1 runSlowInEditor: 1
eventHandler: {fileID: 0} eventHandler: {fileID: 0}
commandList: commandList:
@ -1737,8 +1740,9 @@ MonoBehaviour:
x: 1108.35596 x: 1108.35596
y: 16.5333862 y: 16.5333862
width: 120 width: 120
height: 30 height: 40
sequenceName: TryVoice sequenceName: Try voice
description:
runSlowInEditor: 1 runSlowInEditor: 1
eventHandler: {fileID: 0} eventHandler: {fileID: 0}
commandList: commandList:
@ -2184,11 +2188,12 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: 1108.09448 x: 1106.09448
y: 100.214813 y: 101.214813
width: 120 width: 120
height: 30 height: 40
sequenceName: LightsOnVoice sequenceName: Lights on
description:
runSlowInEditor: 1 runSlowInEditor: 1
eventHandler: {fileID: 0} eventHandler: {fileID: 0}
commandList: commandList:
@ -2247,8 +2252,9 @@ MonoBehaviour:
x: 919.288086 x: 919.288086
y: 101.344482 y: 101.344482
width: 120 width: 120
height: 30 height: 40
sequenceName: DoorTalk sequenceName: Door talk
description:
runSlowInEditor: 1 runSlowInEditor: 1
eventHandler: {fileID: 0} eventHandler: {fileID: 0}
commandList: commandList:
@ -2320,11 +2326,12 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: 734.837646 x: 730.837646
y: 101.663513 y: 101.663513
width: 120 width: 135
height: 30 height: 40
sequenceName: How sequenceName: How you doing?
description:
runSlowInEditor: 1 runSlowInEditor: 1
eventHandler: {fileID: 0} eventHandler: {fileID: 0}
commandList: commandList:
@ -2379,11 +2386,12 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: 736.76062 x: 737.76062
y: 184.838104 y: 184.838104
width: 120 width: 120
height: 30 height: 40
sequenceName: OpenA147 sequenceName: Open A147
description:
runSlowInEditor: 1 runSlowInEditor: 1
eventHandler: {fileID: 0} eventHandler: {fileID: 0}
commandList: commandList:
@ -4348,8 +4356,9 @@ MonoBehaviour:
x: 561.306458 x: 561.306458
y: 101.366745 y: 101.366745
width: 120 width: 120
height: 30 height: 40
sequenceName: FREEDOM! sequenceName: FREEDOM!
description:
runSlowInEditor: 1 runSlowInEditor: 1
eventHandler: {fileID: 0} eventHandler: {fileID: 0}
commandList: commandList:

15
Assets/FungusExamples/iTween/iTween.unity

@ -230,6 +230,7 @@ MonoBehaviour:
width: 120 width: 120
height: 30 height: 30
sequenceName: Do Tween sequenceName: Do Tween
description:
runSlowInEditor: 1 runSlowInEditor: 1
eventHandler: {fileID: 470391088} eventHandler: {fileID: 470391088}
commandList: commandList:
@ -418,11 +419,12 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
nodeRect: nodeRect:
serializedVersion: 2 serializedVersion: 2
x: 161 x: 164
y: 214 y: 193
width: 120 width: 121
height: 30 height: 40
sequenceName: Test iTween sequenceName: Test iTween
description:
runSlowInEditor: 1 runSlowInEditor: 1
eventHandler: {fileID: 868139016} eventHandler: {fileID: 868139016}
commandList: commandList:
@ -469,9 +471,8 @@ MonoBehaviour:
y: -350 y: -350
width: 1213 width: 1213
height: 1284 height: 1284
selectedSequence: {fileID: 868138992} selectedSequence: {fileID: 0}
selectedCommands: selectedCommands: []
- {fileID: 868139014}
variables: [] variables: []
description: description:
runSlowDuration: .25 runSlowDuration: .25

Loading…
Cancel
Save