From 5d64c168e65f8e8a82bc58798ff2eff64362da30 Mon Sep 17 00:00:00 2001 From: chrisgregan Date: Wed, 11 Feb 2015 00:17:11 +0000 Subject: [PATCH] Redesign say & multiple choice dialogs #82 Replaced Choose, Option commands with new Menu command - Menu command displays Menu dialog immediately and then continues - Menu dialog is a simple list of buttons Say dialog can now display and continue (via Wait For Input property) - This allows you to display Say text and show a multiple choice menu at the same time There is now only one type of standard Say dialog - Text box automatically adjusts if no character image is displayed Added SetSayDialog and SetMenuDialog commands to explicitly switch between custom dialog objects. Added a MenuTimer command to display the timeout slider - Calls a target sequence if the timer expires --- .../Dialog/{Sprites => Deprecated}/Arrow.png | Bin .../{Sprites => Deprecated}/Arrow.png.meta | 0 Assets/Fungus/Dialog/Deprecated/Choose.cs | 7 +- .../{Scripts => Deprecated}/ChooseDialog.cs | 0 .../ChooseDialog.cs.meta | 0 .../ChooseDialog.prefab | 1 - .../ChooseDialog.prefab.meta | 0 .../Commands => Deprecated}/ChooseOption.cs | 5 - .../ChooseOption.cs.meta | 0 .../{Prefabs.meta => Deprecated/Editor.meta} | 2 +- .../Editor/AddOptionEditor.cs | 0 .../Editor/AddOptionEditor.cs.meta | 0 .../{ => Deprecated}/Editor/ChooseEditor.cs | 17 +- .../Editor/ChooseEditor.cs.meta | 0 .../Editor/ChooseOptionEditor.cs | 15 +- .../Editor/ChooseOptionEditor.cs.meta | 0 .../{ => Deprecated}/Editor/OptionEditor.cs | 0 .../Editor/OptionEditor.cs.meta | 0 .../NarratorDialog.prefab | 2 +- .../NarratorDialog.prefab.meta | 0 .../Commands => Deprecated}/Option.cs | 0 .../Commands => Deprecated}/Option.cs.meta | 0 .../{Prefabs => Deprecated}/SayDialog.prefab | 2 +- .../SayDialog.prefab.meta | 0 .../Fungus/Dialog/Editor/CharacterEditor.cs | 4 - .../Fungus/Dialog/Editor/DialogMenuItems.cs | 32 +- Assets/Fungus/Dialog/Editor/MenuEditor.cs | 47 + .../Fungus/Dialog/Editor/MenuEditor.cs.meta | 8 + .../Fungus/Dialog/Editor/MenuTimerEditor.cs | 41 + .../Dialog/Editor/MenuTimerEditor.cs.meta | 8 + Assets/Fungus/Dialog/Editor/SayEditor.cs | 22 +- .../Dialog/Fonts/Exo2.meta} | 2 +- Assets/Fungus/Dialog/Fonts/Exo2/Exo2-Bold.ttf | Bin 0 -> 109136 bytes .../Dialog/Fonts/Exo2/Exo2-Bold.ttf.meta | 14 + .../Fungus/Dialog/Fonts/Exo2/Exo2-Regular.ttf | Bin 0 -> 106380 bytes .../Dialog/Fonts/Exo2/Exo2-Regular.ttf.meta | 14 + Assets/Fungus/Dialog/Fonts/Exo2/OFL.txt | 97 + Assets/Fungus/Dialog/Fonts/Exo2/OFL.txt.meta | 4 + Assets/Fungus/Dialog/Images.meta | 5 + .../{Sprites => Images}/Attribution.txt | 0 .../{Sprites => Images}/Attribution.txt.meta | 0 Assets/Fungus/Dialog/Images/ContinueIcon.png | Bin 0 -> 1385 bytes .../Dialog/Images/ContinueIcon.png.meta | 47 + Assets/Fungus/Dialog/Images/DialogBox.png | Bin 0 -> 11518 bytes .../Fungus/Dialog/Images/DialogBox.png.meta | 47 + .../Dialog/{Sprites => Images}/Mushroom.png | Bin .../{Sprites => Images}/Mushroom.png.meta | 0 Assets/Fungus/Dialog/Images/OptionButton.png | Bin 0 -> 1097 bytes .../Dialog/Images/OptionButton.png.meta | 47 + .../Dialog/Images/OptionButtonDisabled.png | Bin 0 -> 1070 bytes .../Images/OptionButtonDisabled.png.meta | 47 + .../Dialog/Images/OptionButtonHighlighted.png | Bin 0 -> 1088 bytes .../Images/OptionButtonHighlighted.png.meta | 47 + .../Dialog/Images/OptionButtonPressed.png | Bin 0 -> 1046 bytes .../Images/OptionButtonPressed.png.meta | 47 + Assets/Fungus/Dialog/Resources.meta | 5 + .../FungusCharacter.prefab} | 6 +- .../FungusCharacter.prefab.meta} | 0 .../Dialog/Resources/FungusEventSystem.prefab | 87 + .../Resources/FungusEventSystem.prefab.meta} | 2 +- .../Dialog/Resources/FungusMenuDialog.prefab} | 1385 ++-- .../Resources/FungusMenuDialog.prefab.meta} | 2 +- .../Dialog/Resources/FungusSayDialog.prefab | 643 ++ .../Resources/FungusSayDialog.prefab.meta | 4 + Assets/Fungus/Dialog/Scripts/Character.cs | 2 - Assets/Fungus/Dialog/Scripts/Commands/Menu.cs | 112 + .../Dialog/Scripts/Commands/Menu.cs.meta | 8 + .../Dialog/Scripts/Commands/MenuTimer.cs | 59 + .../Dialog/Scripts/Commands/MenuTimer.cs.meta | 8 + Assets/Fungus/Dialog/Scripts/Commands/Say.cs | 94 +- .../Dialog/Scripts/Commands/SetMenuDialog.cs | 69 + .../Scripts/Commands/SetMenuDialog.cs.meta | 8 + .../Dialog/Scripts/Commands/SetSayDialog.cs | 69 + .../Scripts/Commands/SetSayDialog.cs.meta | 8 + Assets/Fungus/Dialog/Scripts/Dialog.cs | 6 +- Assets/Fungus/Dialog/Scripts/MenuDialog.cs | 152 + .../Fungus/Dialog/Scripts/MenuDialog.cs.meta | 8 + Assets/Fungus/Dialog/Scripts/SayDialog.cs | 22 +- Assets/Fungus/FungusScript/Scripts/Command.cs | 8 + .../Fungus/FungusScript/Scripts/Sequence.cs | 9 +- .../Animations/GreenAlien.controller | 2 +- .../JumpingPrax/JumpingPrax.unity | 2332 +------ .../TheFacility/Prefabs/CYOASayDialog.prefab | 299 - .../TheFacility/TheFacility.unity | 5779 +++++++++-------- .../FungusExamples/TheHunter/TheHunter.unity | 3101 +-------- Assets/FungusExamples/iTween/iTween.unity | 4 +- Assets/NewDialog.meta | 5 + Assets/NewDialog/Scenes.meta | 5 + Assets/NewDialog/Scenes/NewDialog.unity | 662 ++ Assets/NewDialog/Scenes/NewDialog.unity.meta | 4 + 90 files changed, 6441 insertions(+), 9159 deletions(-) rename Assets/Fungus/Dialog/{Sprites => Deprecated}/Arrow.png (100%) rename Assets/Fungus/Dialog/{Sprites => Deprecated}/Arrow.png.meta (100%) rename Assets/Fungus/Dialog/{Scripts => Deprecated}/ChooseDialog.cs (100%) rename Assets/Fungus/Dialog/{Scripts => Deprecated}/ChooseDialog.cs.meta (100%) rename Assets/Fungus/Dialog/{Prefabs => Deprecated}/ChooseDialog.prefab (99%) rename Assets/Fungus/Dialog/{Prefabs => Deprecated}/ChooseDialog.prefab.meta (100%) rename Assets/Fungus/Dialog/{Scripts/Commands => Deprecated}/ChooseOption.cs (96%) rename Assets/Fungus/Dialog/{Scripts/Commands => Deprecated}/ChooseOption.cs.meta (100%) rename Assets/Fungus/Dialog/{Prefabs.meta => Deprecated/Editor.meta} (63%) rename Assets/Fungus/Dialog/{ => Deprecated}/Editor/AddOptionEditor.cs (100%) rename Assets/Fungus/Dialog/{ => Deprecated}/Editor/AddOptionEditor.cs.meta (100%) rename Assets/Fungus/Dialog/{ => Deprecated}/Editor/ChooseEditor.cs (87%) rename Assets/Fungus/Dialog/{ => Deprecated}/Editor/ChooseEditor.cs.meta (100%) rename Assets/Fungus/Dialog/{ => Deprecated}/Editor/ChooseOptionEditor.cs (87%) rename Assets/Fungus/Dialog/{ => Deprecated}/Editor/ChooseOptionEditor.cs.meta (100%) rename Assets/Fungus/Dialog/{ => Deprecated}/Editor/OptionEditor.cs (100%) rename Assets/Fungus/Dialog/{ => Deprecated}/Editor/OptionEditor.cs.meta (100%) rename Assets/Fungus/Dialog/{Prefabs => Deprecated}/NarratorDialog.prefab (99%) rename Assets/Fungus/Dialog/{Prefabs => Deprecated}/NarratorDialog.prefab.meta (100%) rename Assets/Fungus/Dialog/{Scripts/Commands => Deprecated}/Option.cs (100%) rename Assets/Fungus/Dialog/{Scripts/Commands => Deprecated}/Option.cs.meta (100%) rename Assets/Fungus/Dialog/{Prefabs => Deprecated}/SayDialog.prefab (99%) rename Assets/Fungus/Dialog/{Prefabs => Deprecated}/SayDialog.prefab.meta (100%) create mode 100644 Assets/Fungus/Dialog/Editor/MenuEditor.cs create mode 100644 Assets/Fungus/Dialog/Editor/MenuEditor.cs.meta create mode 100644 Assets/Fungus/Dialog/Editor/MenuTimerEditor.cs create mode 100644 Assets/Fungus/Dialog/Editor/MenuTimerEditor.cs.meta rename Assets/{FungusExamples/TheFacility/Prefabs.meta => Fungus/Dialog/Fonts/Exo2.meta} (63%) create mode 100644 Assets/Fungus/Dialog/Fonts/Exo2/Exo2-Bold.ttf create mode 100644 Assets/Fungus/Dialog/Fonts/Exo2/Exo2-Bold.ttf.meta create mode 100644 Assets/Fungus/Dialog/Fonts/Exo2/Exo2-Regular.ttf create mode 100644 Assets/Fungus/Dialog/Fonts/Exo2/Exo2-Regular.ttf.meta create mode 100644 Assets/Fungus/Dialog/Fonts/Exo2/OFL.txt create mode 100644 Assets/Fungus/Dialog/Fonts/Exo2/OFL.txt.meta create mode 100644 Assets/Fungus/Dialog/Images.meta rename Assets/Fungus/Dialog/{Sprites => Images}/Attribution.txt (100%) rename Assets/Fungus/Dialog/{Sprites => Images}/Attribution.txt.meta (100%) create mode 100644 Assets/Fungus/Dialog/Images/ContinueIcon.png create mode 100644 Assets/Fungus/Dialog/Images/ContinueIcon.png.meta create mode 100644 Assets/Fungus/Dialog/Images/DialogBox.png create mode 100644 Assets/Fungus/Dialog/Images/DialogBox.png.meta rename Assets/Fungus/Dialog/{Sprites => Images}/Mushroom.png (100%) rename Assets/Fungus/Dialog/{Sprites => Images}/Mushroom.png.meta (100%) create mode 100644 Assets/Fungus/Dialog/Images/OptionButton.png create mode 100644 Assets/Fungus/Dialog/Images/OptionButton.png.meta create mode 100644 Assets/Fungus/Dialog/Images/OptionButtonDisabled.png create mode 100644 Assets/Fungus/Dialog/Images/OptionButtonDisabled.png.meta create mode 100644 Assets/Fungus/Dialog/Images/OptionButtonHighlighted.png create mode 100644 Assets/Fungus/Dialog/Images/OptionButtonHighlighted.png.meta create mode 100644 Assets/Fungus/Dialog/Images/OptionButtonPressed.png create mode 100644 Assets/Fungus/Dialog/Images/OptionButtonPressed.png.meta create mode 100644 Assets/Fungus/Dialog/Resources.meta rename Assets/Fungus/Dialog/{Prefabs/Character.prefab => Resources/FungusCharacter.prefab} (93%) rename Assets/Fungus/Dialog/{Prefabs/Character.prefab.meta => Resources/FungusCharacter.prefab.meta} (100%) create mode 100644 Assets/Fungus/Dialog/Resources/FungusEventSystem.prefab rename Assets/{FungusExamples/TheFacility/Prefabs/CYOAChooseDialog.prefab.meta => Fungus/Dialog/Resources/FungusEventSystem.prefab.meta} (58%) rename Assets/{FungusExamples/TheFacility/Prefabs/CYOAChooseDialog.prefab => Fungus/Dialog/Resources/FungusMenuDialog.prefab} (65%) rename Assets/{FungusExamples/TheFacility/Prefabs/CYOASayDialog.prefab.meta => Fungus/Dialog/Resources/FungusMenuDialog.prefab.meta} (58%) mode change 100755 => 100644 create mode 100644 Assets/Fungus/Dialog/Resources/FungusSayDialog.prefab create mode 100644 Assets/Fungus/Dialog/Resources/FungusSayDialog.prefab.meta create mode 100644 Assets/Fungus/Dialog/Scripts/Commands/Menu.cs create mode 100644 Assets/Fungus/Dialog/Scripts/Commands/Menu.cs.meta create mode 100644 Assets/Fungus/Dialog/Scripts/Commands/MenuTimer.cs create mode 100644 Assets/Fungus/Dialog/Scripts/Commands/MenuTimer.cs.meta create mode 100644 Assets/Fungus/Dialog/Scripts/Commands/SetMenuDialog.cs create mode 100644 Assets/Fungus/Dialog/Scripts/Commands/SetMenuDialog.cs.meta create mode 100644 Assets/Fungus/Dialog/Scripts/Commands/SetSayDialog.cs create mode 100644 Assets/Fungus/Dialog/Scripts/Commands/SetSayDialog.cs.meta create mode 100644 Assets/Fungus/Dialog/Scripts/MenuDialog.cs create mode 100644 Assets/Fungus/Dialog/Scripts/MenuDialog.cs.meta delete mode 100644 Assets/FungusExamples/TheFacility/Prefabs/CYOASayDialog.prefab create mode 100644 Assets/NewDialog.meta create mode 100644 Assets/NewDialog/Scenes.meta create mode 100644 Assets/NewDialog/Scenes/NewDialog.unity create mode 100644 Assets/NewDialog/Scenes/NewDialog.unity.meta diff --git a/Assets/Fungus/Dialog/Sprites/Arrow.png b/Assets/Fungus/Dialog/Deprecated/Arrow.png similarity index 100% rename from Assets/Fungus/Dialog/Sprites/Arrow.png rename to Assets/Fungus/Dialog/Deprecated/Arrow.png diff --git a/Assets/Fungus/Dialog/Sprites/Arrow.png.meta b/Assets/Fungus/Dialog/Deprecated/Arrow.png.meta similarity index 100% rename from Assets/Fungus/Dialog/Sprites/Arrow.png.meta rename to Assets/Fungus/Dialog/Deprecated/Arrow.png.meta diff --git a/Assets/Fungus/Dialog/Deprecated/Choose.cs b/Assets/Fungus/Dialog/Deprecated/Choose.cs index 7e55b94c..a331b837 100644 --- a/Assets/Fungus/Dialog/Deprecated/Choose.cs +++ b/Assets/Fungus/Dialog/Deprecated/Choose.cs @@ -47,14 +47,9 @@ namespace Fungus showBasicGUI = false; if (chooseDialog == null) { - if ( character != null ) { - // Try to get character's choose box - chooseDialog = character.chooseDialogBox; - } - if (chooseDialog == null) { - // Try to get any SayDialog in the scene + // Try to get any ChooseDialog in the scene chooseDialog = GameObject.FindObjectOfType(); } diff --git a/Assets/Fungus/Dialog/Scripts/ChooseDialog.cs b/Assets/Fungus/Dialog/Deprecated/ChooseDialog.cs similarity index 100% rename from Assets/Fungus/Dialog/Scripts/ChooseDialog.cs rename to Assets/Fungus/Dialog/Deprecated/ChooseDialog.cs diff --git a/Assets/Fungus/Dialog/Scripts/ChooseDialog.cs.meta b/Assets/Fungus/Dialog/Deprecated/ChooseDialog.cs.meta similarity index 100% rename from Assets/Fungus/Dialog/Scripts/ChooseDialog.cs.meta rename to Assets/Fungus/Dialog/Deprecated/ChooseDialog.cs.meta diff --git a/Assets/Fungus/Dialog/Prefabs/ChooseDialog.prefab b/Assets/Fungus/Dialog/Deprecated/ChooseDialog.prefab similarity index 99% rename from Assets/Fungus/Dialog/Prefabs/ChooseDialog.prefab rename to Assets/Fungus/Dialog/Deprecated/ChooseDialog.prefab index 44558b1c..5d5d6ac2 100644 --- a/Assets/Fungus/Dialog/Prefabs/ChooseDialog.prefab +++ b/Assets/Fungus/Dialog/Deprecated/ChooseDialog.prefab @@ -338,7 +338,6 @@ MonoBehaviour: m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: - m_Priority: 3 ignoreReversedGraphics: 1 blockingObjects: 0 m_BlockingMask: diff --git a/Assets/Fungus/Dialog/Prefabs/ChooseDialog.prefab.meta b/Assets/Fungus/Dialog/Deprecated/ChooseDialog.prefab.meta similarity index 100% rename from Assets/Fungus/Dialog/Prefabs/ChooseDialog.prefab.meta rename to Assets/Fungus/Dialog/Deprecated/ChooseDialog.prefab.meta diff --git a/Assets/Fungus/Dialog/Scripts/Commands/ChooseOption.cs b/Assets/Fungus/Dialog/Deprecated/ChooseOption.cs similarity index 96% rename from Assets/Fungus/Dialog/Scripts/Commands/ChooseOption.cs rename to Assets/Fungus/Dialog/Deprecated/ChooseOption.cs index 5a49f7bc..0383dc68 100644 --- a/Assets/Fungus/Dialog/Scripts/Commands/ChooseOption.cs +++ b/Assets/Fungus/Dialog/Deprecated/ChooseOption.cs @@ -35,11 +35,6 @@ namespace Fungus { if (chooseDialog == null) { - if ( character != null ) { - // Try to get character's choose box - chooseDialog = character.chooseDialogBox; - } - if (chooseDialog == null) { // Try to get any ChooseDialog in the scene diff --git a/Assets/Fungus/Dialog/Scripts/Commands/ChooseOption.cs.meta b/Assets/Fungus/Dialog/Deprecated/ChooseOption.cs.meta similarity index 100% rename from Assets/Fungus/Dialog/Scripts/Commands/ChooseOption.cs.meta rename to Assets/Fungus/Dialog/Deprecated/ChooseOption.cs.meta diff --git a/Assets/Fungus/Dialog/Prefabs.meta b/Assets/Fungus/Dialog/Deprecated/Editor.meta similarity index 63% rename from Assets/Fungus/Dialog/Prefabs.meta rename to Assets/Fungus/Dialog/Deprecated/Editor.meta index 6aa2b926..5d044086 100644 --- a/Assets/Fungus/Dialog/Prefabs.meta +++ b/Assets/Fungus/Dialog/Deprecated/Editor.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5dc9fe37d5aec4305a124d133294994f +guid: 3565c35600a5b46c0b29c75e85a3e760 folderAsset: yes DefaultImporter: userData: diff --git a/Assets/Fungus/Dialog/Editor/AddOptionEditor.cs b/Assets/Fungus/Dialog/Deprecated/Editor/AddOptionEditor.cs similarity index 100% rename from Assets/Fungus/Dialog/Editor/AddOptionEditor.cs rename to Assets/Fungus/Dialog/Deprecated/Editor/AddOptionEditor.cs diff --git a/Assets/Fungus/Dialog/Editor/AddOptionEditor.cs.meta b/Assets/Fungus/Dialog/Deprecated/Editor/AddOptionEditor.cs.meta similarity index 100% rename from Assets/Fungus/Dialog/Editor/AddOptionEditor.cs.meta rename to Assets/Fungus/Dialog/Deprecated/Editor/AddOptionEditor.cs.meta diff --git a/Assets/Fungus/Dialog/Editor/ChooseEditor.cs b/Assets/Fungus/Dialog/Deprecated/Editor/ChooseEditor.cs similarity index 87% rename from Assets/Fungus/Dialog/Editor/ChooseEditor.cs rename to Assets/Fungus/Dialog/Deprecated/Editor/ChooseEditor.cs index 110b36f6..2624d9f4 100644 --- a/Assets/Fungus/Dialog/Editor/ChooseEditor.cs +++ b/Assets/Fungus/Dialog/Deprecated/Editor/ChooseEditor.cs @@ -52,20 +52,9 @@ namespace Fungus t.character.portraits != null && // Character has a portraits field t.character.portraits.Count > 0 ) // Selected Character has at least 1 portrait { - ChooseDialog cd = t.chooseDialog; - if (t.chooseDialog == null) // If default box selected - { - cd = t.character.chooseDialogBox; // Try to get character's default choose dialog box - if (t.chooseDialog == null) // If no default specified, Try to get any ChooseDialog in the scene - { - cd = GameObject.FindObjectOfType(); - } - } - if (cd != null && cd.characterImage != null) // Check that selected choose dialog has a character image - { - showPortraits = true; - } - } + showPortraits = true; + } + if (showPortraits) { CommandEditor.ObjectField(portraitProp, diff --git a/Assets/Fungus/Dialog/Editor/ChooseEditor.cs.meta b/Assets/Fungus/Dialog/Deprecated/Editor/ChooseEditor.cs.meta similarity index 100% rename from Assets/Fungus/Dialog/Editor/ChooseEditor.cs.meta rename to Assets/Fungus/Dialog/Deprecated/Editor/ChooseEditor.cs.meta diff --git a/Assets/Fungus/Dialog/Editor/ChooseOptionEditor.cs b/Assets/Fungus/Dialog/Deprecated/Editor/ChooseOptionEditor.cs similarity index 87% rename from Assets/Fungus/Dialog/Editor/ChooseOptionEditor.cs rename to Assets/Fungus/Dialog/Deprecated/Editor/ChooseOptionEditor.cs index 10095078..83e241f4 100644 --- a/Assets/Fungus/Dialog/Editor/ChooseOptionEditor.cs +++ b/Assets/Fungus/Dialog/Deprecated/Editor/ChooseOptionEditor.cs @@ -52,20 +52,9 @@ namespace Fungus t.character.portraits != null && // Character has a portraits field t.character.portraits.Count > 0 ) // Selected Character has at least 1 portrait { - ChooseDialog cd = t.chooseDialog; - if (t.chooseDialog == null) // If default box selected - { - cd = t.character.chooseDialogBox; // Try to get character's default choose dialog box - if (t.chooseDialog == null) // If no default specified, Try to get any ChooseDialog in the scene - { - cd = GameObject.FindObjectOfType(); - } - } - if (cd != null && cd.characterImage != null) // Check that selected choose dialog has a character image - { - showPortraits = true; - } + showPortraits = true; } + if (showPortraits) { CommandEditor.ObjectField(portraitProp, diff --git a/Assets/Fungus/Dialog/Editor/ChooseOptionEditor.cs.meta b/Assets/Fungus/Dialog/Deprecated/Editor/ChooseOptionEditor.cs.meta similarity index 100% rename from Assets/Fungus/Dialog/Editor/ChooseOptionEditor.cs.meta rename to Assets/Fungus/Dialog/Deprecated/Editor/ChooseOptionEditor.cs.meta diff --git a/Assets/Fungus/Dialog/Editor/OptionEditor.cs b/Assets/Fungus/Dialog/Deprecated/Editor/OptionEditor.cs similarity index 100% rename from Assets/Fungus/Dialog/Editor/OptionEditor.cs rename to Assets/Fungus/Dialog/Deprecated/Editor/OptionEditor.cs diff --git a/Assets/Fungus/Dialog/Editor/OptionEditor.cs.meta b/Assets/Fungus/Dialog/Deprecated/Editor/OptionEditor.cs.meta similarity index 100% rename from Assets/Fungus/Dialog/Editor/OptionEditor.cs.meta rename to Assets/Fungus/Dialog/Deprecated/Editor/OptionEditor.cs.meta diff --git a/Assets/Fungus/Dialog/Prefabs/NarratorDialog.prefab b/Assets/Fungus/Dialog/Deprecated/NarratorDialog.prefab similarity index 99% rename from Assets/Fungus/Dialog/Prefabs/NarratorDialog.prefab rename to Assets/Fungus/Dialog/Deprecated/NarratorDialog.prefab index 191dde9e..ac006ca1 100644 --- a/Assets/Fungus/Dialog/Prefabs/NarratorDialog.prefab +++ b/Assets/Fungus/Dialog/Deprecated/NarratorDialog.prefab @@ -133,7 +133,6 @@ MonoBehaviour: m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: - m_Priority: 3 ignoreReversedGraphics: 1 blockingObjects: 0 m_BlockingMask: @@ -385,6 +384,7 @@ CanvasGroup: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 100004} + m_Enabled: 1 m_Alpha: 1 m_Interactable: 1 m_BlocksRaycasts: 1 diff --git a/Assets/Fungus/Dialog/Prefabs/NarratorDialog.prefab.meta b/Assets/Fungus/Dialog/Deprecated/NarratorDialog.prefab.meta similarity index 100% rename from Assets/Fungus/Dialog/Prefabs/NarratorDialog.prefab.meta rename to Assets/Fungus/Dialog/Deprecated/NarratorDialog.prefab.meta diff --git a/Assets/Fungus/Dialog/Scripts/Commands/Option.cs b/Assets/Fungus/Dialog/Deprecated/Option.cs similarity index 100% rename from Assets/Fungus/Dialog/Scripts/Commands/Option.cs rename to Assets/Fungus/Dialog/Deprecated/Option.cs diff --git a/Assets/Fungus/Dialog/Scripts/Commands/Option.cs.meta b/Assets/Fungus/Dialog/Deprecated/Option.cs.meta similarity index 100% rename from Assets/Fungus/Dialog/Scripts/Commands/Option.cs.meta rename to Assets/Fungus/Dialog/Deprecated/Option.cs.meta diff --git a/Assets/Fungus/Dialog/Prefabs/SayDialog.prefab b/Assets/Fungus/Dialog/Deprecated/SayDialog.prefab similarity index 99% rename from Assets/Fungus/Dialog/Prefabs/SayDialog.prefab rename to Assets/Fungus/Dialog/Deprecated/SayDialog.prefab index 410634a5..5cd7ff6d 100644 --- a/Assets/Fungus/Dialog/Prefabs/SayDialog.prefab +++ b/Assets/Fungus/Dialog/Deprecated/SayDialog.prefab @@ -168,7 +168,6 @@ MonoBehaviour: m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} m_Name: m_EditorClassIdentifier: - m_Priority: 3 ignoreReversedGraphics: 1 blockingObjects: 0 m_BlockingMask: @@ -529,6 +528,7 @@ CanvasGroup: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 100006} + m_Enabled: 1 m_Alpha: 1 m_Interactable: 1 m_BlocksRaycasts: 1 diff --git a/Assets/Fungus/Dialog/Prefabs/SayDialog.prefab.meta b/Assets/Fungus/Dialog/Deprecated/SayDialog.prefab.meta similarity index 100% rename from Assets/Fungus/Dialog/Prefabs/SayDialog.prefab.meta rename to Assets/Fungus/Dialog/Deprecated/SayDialog.prefab.meta diff --git a/Assets/Fungus/Dialog/Editor/CharacterEditor.cs b/Assets/Fungus/Dialog/Editor/CharacterEditor.cs index 3a286d1b..2df987f0 100644 --- a/Assets/Fungus/Dialog/Editor/CharacterEditor.cs +++ b/Assets/Fungus/Dialog/Editor/CharacterEditor.cs @@ -23,8 +23,6 @@ namespace Fungus { nameTextProp = serializedObject.FindProperty ("nameText"); nameColorProp = serializedObject.FindProperty ("nameColor"); - sayDialogBoxProp = serializedObject.FindProperty ("sayDialogBox"); - chooseDialogBoxProp = serializedObject.FindProperty ("chooseDialogBox"); soundEffectProp = serializedObject.FindProperty ("soundEffect"); portraitsProp = serializedObject.FindProperty ("portraits"); notesProp = serializedObject.FindProperty ("notes"); @@ -48,8 +46,6 @@ namespace Fungus EditorGUILayout.PropertyField(nameTextProp, new GUIContent("Name Text", "Name of the character display in the dialog")); EditorGUILayout.PropertyField(nameColorProp, new GUIContent("Name Color", "Color of name text display in the dialog")); - EditorGUILayout.PropertyField(sayDialogBoxProp, new GUIContent("Say Dialog", "Say dialog box this character should use")); - EditorGUILayout.PropertyField(chooseDialogBoxProp, new GUIContent("Choose Dialog", "Choose dialog box this character should use")); EditorGUILayout.PropertyField(soundEffectProp, new GUIContent("Sound Effect", "Sound to play when the character is talking. Overrides the setting in the Dialog.")); ReorderableListGUI.Title(new GUIContent("Portraits", "Character image sprites to display in the dialog")); diff --git a/Assets/Fungus/Dialog/Editor/DialogMenuItems.cs b/Assets/Fungus/Dialog/Editor/DialogMenuItems.cs index 035051af..efa047cd 100644 --- a/Assets/Fungus/Dialog/Editor/DialogMenuItems.cs +++ b/Assets/Fungus/Dialog/Editor/DialogMenuItems.cs @@ -5,31 +5,41 @@ using System.Collections; namespace Fungus { + // The prefab names are prefixed with Fungus to avoid clashes with any other prefabs in the project public class DialogMenuItems { [MenuItem("GameObject/Fungus/Dialog/Character")] static void CreateCharacter() { - FungusScriptMenuItems.SpawnPrefab("Assets/Fungus/Dialog/Prefabs/Character.prefab"); - } - - [MenuItem("GameObject/Fungus/Dialog/NarratorDialog")] - static void CreateNarratorDialog() - { - FungusScriptMenuItems.SpawnPrefab("Assets/Fungus/Dialog/Prefabs/NarratorDialog.prefab"); + GameObject go = Resources.Load("FungusCharacter"); + if (go != null) + { + GameObject spawnedGO = PrefabUtility.InstantiatePrefab(go) as GameObject; + spawnedGO.name = "Character"; + } } [MenuItem("GameObject/Fungus/Dialog/SayDialog")] static void CreateSayDialog() { - FungusScriptMenuItems.SpawnPrefab("Assets/Fungus/Dialog/Prefabs/SayDialog.prefab"); + GameObject go = Resources.Load("FungusSayDialog"); + if (go != null) + { + GameObject spawnedGO = PrefabUtility.InstantiatePrefab(go) as GameObject; + spawnedGO.name = "SayDialog"; + } } - [MenuItem("GameObject/Fungus/Dialog/ChooseDialog")] - static void CreateChooseDialog() + [MenuItem("GameObject/Fungus/Dialog/MenuDialog")] + static void CreateMenuDialog() { - FungusScriptMenuItems.SpawnPrefab("Assets/Fungus/Dialog/Prefabs/ChooseDialog.prefab"); + GameObject go = Resources.Load("FungusMenuDialog"); + if (go != null) + { + GameObject spawnedGO = PrefabUtility.InstantiatePrefab(go) as GameObject; + spawnedGO.name = "MenuDialog"; + } } } diff --git a/Assets/Fungus/Dialog/Editor/MenuEditor.cs b/Assets/Fungus/Dialog/Editor/MenuEditor.cs new file mode 100644 index 00000000..cbe9425e --- /dev/null +++ b/Assets/Fungus/Dialog/Editor/MenuEditor.cs @@ -0,0 +1,47 @@ +using UnityEditor; +using UnityEngine; +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Fungus +{ + + [CustomEditor (typeof(Fungus.Menu))] + public class MenuEditor : CommandEditor + { + protected SerializedProperty textProp; + protected SerializedProperty targetSequenceProp; + protected SerializedProperty hideIfVisitedProp; + + protected virtual void OnEnable() + { + textProp = serializedObject.FindProperty("text"); + targetSequenceProp = serializedObject.FindProperty("targetSequence"); + hideIfVisitedProp = serializedObject.FindProperty("hideIfVisited"); + } + + public override void DrawCommandGUI() + { + FungusScript fungusScript = FungusScriptWindow.GetFungusScript(); + if (fungusScript == null) + { + return; + } + + serializedObject.Update(); + + EditorGUILayout.PropertyField(textProp); + + SequenceEditor.SequenceField(targetSequenceProp, + new GUIContent("Target Sequence", "Sequence to call when option is selected"), + new GUIContent(""), + fungusScript); + + EditorGUILayout.PropertyField(hideIfVisitedProp); + + serializedObject.ApplyModifiedProperties(); + } + } + +} diff --git a/Assets/Fungus/Dialog/Editor/MenuEditor.cs.meta b/Assets/Fungus/Dialog/Editor/MenuEditor.cs.meta new file mode 100644 index 00000000..90e19ca7 --- /dev/null +++ b/Assets/Fungus/Dialog/Editor/MenuEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1cda2f9e2356d4f89a34947e7138a492 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Fungus/Dialog/Editor/MenuTimerEditor.cs b/Assets/Fungus/Dialog/Editor/MenuTimerEditor.cs new file mode 100644 index 00000000..e8a5cf18 --- /dev/null +++ b/Assets/Fungus/Dialog/Editor/MenuTimerEditor.cs @@ -0,0 +1,41 @@ +using UnityEditor; +using UnityEngine; +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Fungus +{ + [CustomEditor (typeof(MenuTimer))] + public class MenuTimerEditor : CommandEditor + { + protected SerializedProperty durationProp; + protected SerializedProperty targetSequenceProp; + + protected virtual void OnEnable() + { + durationProp = serializedObject.FindProperty("duration"); + targetSequenceProp = serializedObject.FindProperty("targetSequence"); + } + + public override void DrawCommandGUI() + { + FungusScript fungusScript = FungusScriptWindow.GetFungusScript(); + if (fungusScript == null) + { + return; + } + + serializedObject.Update(); + + EditorGUILayout.PropertyField(durationProp); + + SequenceEditor.SequenceField(targetSequenceProp, + new GUIContent("Target Sequence", "Sequence to call when timer expires"), + new GUIContent(""), + fungusScript); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Fungus/Dialog/Editor/MenuTimerEditor.cs.meta b/Assets/Fungus/Dialog/Editor/MenuTimerEditor.cs.meta new file mode 100644 index 00000000..f833146b --- /dev/null +++ b/Assets/Fungus/Dialog/Editor/MenuTimerEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4e5657f4bcb4c46f8bed6027c51ef4ba +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Fungus/Dialog/Editor/SayEditor.cs b/Assets/Fungus/Dialog/Editor/SayEditor.cs index c811964c..6502f77b 100644 --- a/Assets/Fungus/Dialog/Editor/SayEditor.cs +++ b/Assets/Fungus/Dialog/Editor/SayEditor.cs @@ -39,7 +39,8 @@ namespace Fungus protected SerializedProperty voiceOverClipProp; protected SerializedProperty showAlwaysProp; protected SerializedProperty showCountProp; - + protected SerializedProperty waitForInputProp; + protected virtual void OnEnable() { characterProp = serializedObject.FindProperty("character"); @@ -49,6 +50,7 @@ namespace Fungus voiceOverClipProp = serializedObject.FindProperty("voiceOverClip"); showAlwaysProp = serializedObject.FindProperty("showAlways"); showCountProp = serializedObject.FindProperty("showCount"); + waitForInputProp = serializedObject.FindProperty("waitForInput"); } public override void DrawCommandGUI() @@ -72,19 +74,7 @@ namespace Fungus t.character.portraits != null && // Character has a portraits field t.character.portraits.Count > 0 ) // Selected Character has at least 1 portrait { - SayDialog sd = t.sayDialog; - if (t.sayDialog == null) // If default box selected - { - sd = t.character.sayDialogBox; // Try to get character's default say dialog box - if (t.sayDialog == null) // If no default specified, try to get any SayDialog in the scene - { - sd = GameObject.FindObjectOfType(); - } - } - if (sd != null && sd.characterImage != null) // Check that selected say dialog has a character image - { - showPortraits = true; - } + showPortraits = true; } if (showPortraits) @@ -127,7 +117,9 @@ namespace Fungus { EditorGUILayout.PropertyField(showCountProp); } - + + EditorGUILayout.PropertyField(waitForInputProp); + if (showPortraits && t.portrait != null) { Texture2D characterTexture = t.portrait.texture; diff --git a/Assets/FungusExamples/TheFacility/Prefabs.meta b/Assets/Fungus/Dialog/Fonts/Exo2.meta similarity index 63% rename from Assets/FungusExamples/TheFacility/Prefabs.meta rename to Assets/Fungus/Dialog/Fonts/Exo2.meta index 7b76494a..67bed7df 100644 --- a/Assets/FungusExamples/TheFacility/Prefabs.meta +++ b/Assets/Fungus/Dialog/Fonts/Exo2.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 216f492a9b9ea4a62946946b1f97212b +guid: e3712f6aa5daa46efa690a7288358254 folderAsset: yes DefaultImporter: userData: diff --git a/Assets/Fungus/Dialog/Fonts/Exo2/Exo2-Bold.ttf b/Assets/Fungus/Dialog/Fonts/Exo2/Exo2-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5e0913ffa962635d067b771327eaee6b081e7b2c GIT binary patch literal 109136 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 irs}A7Qmd*(^9~=n59H;w=yi3R$&Hid)mG4 zMUW7}g^N+74;nP4dCn~n4MI=>Vv`3q3>*}8mvtI`H{$n#!6RBm=QLhXgWoR+G3)r? z(XDmA8?dZNh&eAH9jU!b&U<`Wm=JS~_&sI%`BN`U>vw!3e$NoX@cr~l7o{uf!+$I2 zF8mfnvo4%{{x?O+wfKFf5VmQvr!Kq@@lp6a5qInC`IpU_`~1PlLYzNQko}xFGpEi_ ze|`Vwf-Xb*qGAprECJIX{62u+nRCuxwD|LabAKi1@@OF}ne#80K6TD3EB+$rn!afN z&hw`(zEIh2`&!Vo>ybZw!PN6-K6>L-Gw^$l5az-QFIc!}!EY`p5cHd5A;SC@UOe-{ zqB%Qa1wHfw@&iV}*b?ij9^JtAf900<>$r1@17Q}&2nEjuQHT8XI1Qpf%*FG0I1OT+ zxDd}5;WUVg#U*&Y6sJM_N-W0nWjGDua*O~`A(aUOmD5{zew*G#JmXc7EpU5bqD?Fj z#)d(|#)!n}mt8zxWY4~M<~&h0f9j$I!Y^|RRYk2lzBusArK#gr_Y_4K=FPl#frvhT z>c#U!qP(Wd61boo=O@%*5LOW@Qe|yMks5uxV9l^%Su0HiM4W3HdgDGvKCh)4=}CHl z{*LQrHo>*5UlO z>0{Go(>}x;HeG4XHW!;`ndh6IG{0)zXR%unEk9U?TW_?kv!1khY+u^GwH-DT+X7+6 zu-LE>rhkWx&`z!?Y;4#Z)WS6d&oH!u+T@9ROT*p_I~krD-Z#8Dd{Ow#X!&AnL(GIuN zXPtAtbER{=%jGI?4RVcejdeZlTIV{f)fqMdcrA7-Zo3Sz?qs*e-H5R&RQHHVb*JdB zwu|xVx8eqMt5}PXJgn}ga-=C@g@_i<3NuDFMm;2A)$c^2dJ^%K>TYtYABsv5u6`!m z>iZ%Z^~9(rkmsa`Q{NKt>Ryqcejt+6Pero2QRE>Ms@p}ex=pq>26@J-?}`cPW-(da zhqiZ%TScPEUi{hSseZjt&SU5SkJ|uBYqN&*%pAQ(CTmK(`_9{p$Pl5b$6ScJvZ0iYb6J4*l37#;E%N^DDrP3$X43 zoL`X-?fKO$fa?pu^%V_MKLT6yhk$%5-6G6@{$*h782FDJ5V|nVF`%nhghbFq zA?Tt8(4%!=aW}02q$cFtiJadf_B+HLLhM+SH=~RlJ$Fc2I*8QWNIfhTyjw7WVv4cVVc6A4052L=5NI8U*lSpY45rFhCQcnWXeaNvEW3vY>>_D!Q zoC^@|#<;vE?gd6(0^a_Labc)GL2iaxQWWYMC|mgmvD+l3{J2j+{xu>?j{ldKm5FFM z0%bo&E~bo=!V|=6CGP#z0P6dOOQFS+Vl7764LDyyzqNV17O*Oa4y?P0_{fpRNE zk$46a_N+(&l^ew>^)F&Q!WPiXcJ*=o$C z3Xu@($9L$_3Q-J*&1k_c@v{XSW4pQz&~B8Yz#P^hTkwIKZpR$o3QF4#$~}(Ra{?`G z2KAo6oZpI3ZwE)+4vxAD9CeqZwPIklKYB9;*c}hfGy&<80g1*@6VX0%sBPc{yTA*+ z0Uy{3KCl&>bT9eAU28Fq8!;n?t0%y%PJkcm1sB~1p0F8Q^dz{}3Gjw(;0<4bH*5l5 z*b2U|1$^Nf@P)6y7q);ed=9>_9eiOc_`(+Og)hMuHi9Q?0Z-TlE_z(Vpl93Avv<&= zP3X-o^yWkK<^bm7T0p-a(7(s@1qgRY2q%IUPg7q)%g502F0}NvgI7RXdlu60ImoEzK~q~$imCcrPy=(D_fW&SB(=T$HId9?uE5 zCm}5vx$_VTF^h^Z)?+a9$D^$Yh?|Ul--@}t0=Rh|<5~{BULmo%2Uy*WaX*Z4{|@7R z6ytsjV|^H7y$fT!ADG?+Oz*@P@5dPL#TXx;MUb$UgBM+i@xBVbm*M$3gd31=Il^to zdq2WMfRE??KJ@-D`f~(xxDq{bL#iq0jW%Zpefd^Oxo^-j)+v~meFj+bfJf#G#p-&L zdkwh!NHl|%$Ea_jZyV6J4}ie?*2kjj}$%81h7bP^VK3+<>{on}Si3`!gD}e8pfE6pazXjaN0_sTwoh1Td z6Fn&+X$8Vdph8taFUSKhLWgj4W#~f5Wo@b3Ov~dvLA6T=JvU z@hrK~9`sI>x1pB?V4lbB8$iZm$J`$rUvhPYe+8fHfV&2Bte=R2ew2b4or;i+5$=Uh zf>4IgpuQ*usVl``@cKsFhX7kcA!|keqLB!r5H}k4G3qMOiu+hl-Z)^cO?@4(eJIXB zn4rEbCgMH`ar4mPd{FuYX!8oxeL-+#WD};6g6ob;k@784wxG;Lr0kOU-vdSMKrB-P z>u7uAOyT^@TMwelCrD+jNv0BX9Pp3;bjV|n9RbLWcF2n(;MlK1X8Zu2aR|KPsD!i~ zrA~nRd=E~u9~_2Le?aOF5++auFzUx_WzFhx@Qh_>kI;u>GJOx)=Xu5HC(!N>;5jEi zD|X272;jw|{s)l#8#%b2`vJi#!PXBkB{S7^;OTAT`WBF!1SCh1^9|(Oi1s!^qHM(c z(y+?Vuts_ktp$+l1aciluESEh)if~HzJeMTa-9SoIOq51yNbGCCDBdj2{dDg0oM4A z0#e2V>vsE4rXBfD3OCx+^dfBp_ao&)VD{ah4Y3Z`{Q=lL0?GUlFnkCt9D|1b7jWm- zz@3kSGam;xJ`SwBDtiE(Nos?PagDdnMTyH%1CK`{AbANXYzcgZcK(ib-T?G3qy9I5 zm9HQPzJnxq4CC|(+PMePU?rr%y=d=#w0AFRT7@=mg*12pHLivJfd6Rpk0s=%=snZpZeU40Ll00p+>zQ%34@< z)PNrS>Q|^?7dWFG7H$OS)+H%)Gg3cB>K91;2K66C-6v2tkIOM&@_Rsa5_R(^{(!nq zO3G)PF;~~+5KG}Bk_H*0ZzF~Iy*3}`gIg?w#flsljl-zt1KCT4f@cu-@(Yys5G6hj zLh&7Xc><6eL&@&}$zedkv+pnC z^%;$?@Te_Btydzjjm4JkCxDJIy8+O>gPdCc-Cj`cD%5=xm^=!KJuLMi#vE&e>_1rn zp71Q@hGsQA3z^9>@&kE&2b|30RP(agVrH+$ZiA4~XB32gO6^$HU?o;NUrE5HCUZcuTw^ z-WBhOe~As^eet3ANPHqT!2`5KY!%zY4zWw@7YD>)aYP&y#{^`iP>IMuCbE!~BFRZE za#J+LP#h&t5~WZYWsrw5DI31h3i453>PG{pifYJD_0&j1Xec#N3yq;R8c*lY1e!>b zXb#P#MYNbMqs!?^x{9u+-_UZph3=vI=ze;T9-{xDN9YgqNBT28PEWvh`82J77jreO zp}z_x?oy14h+Y)a09?WktR7Vlt0&cC>VAZSs;d5g^CZG?^$4y<5c>ndQFf&MvIpq) z3zo&rn4V z$&g?@9O}1dZKsw1Irs}5kSJXa@Jo4sXA0TWJ|rbCAvr7#C&JDYIdC!f$SS>FM0W}eAGXnwrTGmpRe2h{eR`n<|(M?#$n z?L^4=@e=Mx!}ZVdI$eE2LiLPne}MXojP-FYwG!9=fz86XpGCf#)%(>O)Q8dQ->NsM z=Y!MyLtTug2cU;_IrLHM5-HTLfHADe@$ui_M!}lDMeW_@2P7u9scJd&E5icm+v$K# zb(RPC={L~)aH#*0_yfPud5>O&`my@8%&}f#|0P%uoc{%cb?S4tu7O17m`@Q7;`|b| z9#=Q1+n~h>^?>>r!d9K5oDHRMZNJ>1(=A{L@_BVL!^JIdnz|FvN?5huTFctVs$YPr z-$Fc7yetjCdX`lz0XpdRxQ>euEI;=N zGCFYjo@zKz_XP3z?$2q3=?Ady>ui)bhdZ?BP(~Lu>2w1g%~D*ZH)d(u6hURcv5|h%fj|y$@o1iGXC`gQxcCb^WPwEkun|JQ*va^r5_S= zXCb5Y{Q5n_ZFOCfWk`^|SyR{#-0p#8hNHW#seTSV7sR`k#(br_OwwBl-O;ln;0Z@D zYfq=gA4Li{>MwaPhJNe_(On29KbHTONb8Q#|NT1Euhr+ZTGW3A$Ao7b%cLXf7Imfi zD)9a?Je)W%4s!nK{bebxbIo8K;C*Mpo0b##f;u(hu_vCZ?!uVM_Vf~bmwY>@D{1jR zMc%PS@#6>j2+4qUKKk)|r%OFWmpX#^DQ96%B~Hf=d&+zEahQQ8JI09l0qbCAp+Emz zo^U3}B)`)whcnEoGu0JJ@6b);c!lD%CrFMH`e*|mL0apc>!wjr8;%sL@u)?#r=_A@bYlwz^Ne(EjyVGj@@CV{RZ-b-S9j2f5n|r27G~8A7 zS*^5`{IBt|`geq<)y?WtSV!XD-9}UDq3bzCKUgAm zu#>QoDn%uH!2Pf?*Pr@}Qh0+0h;Vp={UVWSsa9meFIIJ2TSQ1JTIeV*nRM8x)#sZ(RCspUhnJid;{GeO0Y}!M$~o_ z-6Z1ZX1W=${f2&nnB}xw^r746HsPh)>2~D5gYH0{-_f0TzKiZcyLZ#wc)o}30S@n_ zdr|g2x=%RZNxxt8q6g>!;NzV;>~?U%r~agH(^K@6NPu_!X~e9+{s=cc zL(d>)C9TBu1$sfm!t1^oD-;Swv68B=y||VdP#2G%4dd4$!e|tY0vtR-Zut2pi)fmP zF-W2rGz%j)2YpCKA0EWIhLZXu(`VfJq(rQMRD&n574b9dlOT=%0ypqz6&C0raH%8e z4rrsh;Ws>adcVXk&?KsW_w2pSUJ1k;4S5k^z1z8GD@C;Hy#(X(lHLQji3c9 zEy>`x$#{k=7*1{P$73+dp3`$^+Bs+fb_KYQ90!S!ljt$5S3bbwy22!LX=y)x1<(9i zA7w2k#=4_zj*)%F8drBKLFdG$*Vcc$Wz={gL{&ZKJyW`bFW7UPK6t?rw(tg<|tdDL7+}xvG z=+QAy+7_&_9Rz(Hm9aZ`e)lxT_4%#cQEngV3gF7~b*Jvx$7$oH4 zKuA96;|E-5G`?4Q+L-dNYNK()?zF~bWavWudhMO>X#2gckYODEqUQh}*eb^Q5c+i( z_uYW>1Xk%z!1_I^`8K-GF}>`W@4znnb)EC+T0-Zz|IRaH(gsZ)p?}gNp}wvDv3pzE zT4(oI?RWPyIo{vu5~}AiU1PD<`x09JGFabBJg$5IEAObcX7Mb-XIKY# zOMO)4c~t$BZEy82z#^{;2JKR;H2+zqt0?=f?jhlrQxA>5fm%1~X=k3FUHPeA?(FVZ zlidJ_p&r| zs()1P13U*XQ#p1Qyl?^e6bRYs{G`{eK7r@Yu?t{3aDG5t!9FMTBh&*J@U&2UN^e(N z$Hkqx)Z(rPSRS?)UL^JNasIvZ%o@u(LGlCt*vG7b5ORhM!!d+ z!=6j%vEU@|{>uFpdm$-~V79CS4IPqHAt^}K`o5n3)H`;_;*jzdmONVJ`TZGqHP#Dd z3S_Ewgm{)76O5OA?;00O0c@y^Yy3h!eT66RUW_-aV;K|Vzlf96$Z>oiN08$2d|013 zTAEDX4&KsbhC&;9rc?U&m^+8$y5-)G&dnwCanL1^UPjJucsupqr@sTYXSHwY^fmna z6lh4F>iUgV3r75&&h>$-Vpj|LiM^A0yzHCKL4rHdI?^x>AxWUe_H;+T&&uzhmj&mM zoGAo{p7QhWUG0O;^#nP}d*}_gu6E`1O7OLnL8&XLQKlX1Qu08ELOREv{u#1tRp(Tm zJ=zhH=B!2Q+PR+k)9+Ge+9BmgyR7k;`gir-U|T_J5A8_4+H>ui@1E0wyoGh-9cQEC z2W?=sy)}Q!0m!I3gSB99V-N}{i;+j#D6$>7!Vk^iL?;_q=7wzh{w!_aW4fNo<0|!P zmWtSarM3D~t{P7cLW^30Pp6&ffb!qq9?=gc%crOSd>U6}Sl6WPoL__Kf-6!T*@*I?oK~2Ky1dLAef^m-R3XyIFT3 z>;St#>`09xh-q+>5YD=l?F_m83?6Y9F!ElI;H(JAvCxyA`_#MiEd+apUUak=;!&OE z827t}wau>974mfSAkb^_I4gceSYLSzYg$p*g`bEuD1MuQk1VWoC16d-ixsEd z2;o?_ip8o|2G*5|utsLpA(QubtU_htDHrQYcC2CX;lZj?KF%<#wZ&lNAr0$NF<5o8 zKwEO--HBi3NC)it=|CSG!Bek2QTD)v9`K28^`H;hnS?bA!Wv)b%taq^gQs3TPWFJ; z*ZAab#>50qH~Qs9+wmQt5asodh;_C^(NL4%L>R^pRqi< zA^>^kGY-&d=K#D{#b>PSfgX!RNc2HF%_wa~tKN=~i&Q<}dt9hL8PLRa3Awt5aaBEp-iQkYy&b-Hj?Vy|^}uWWdT;>h&H-;JV-$HMKMG@^2Oee3hDN3T&mW8f zJuohqWAjdkwBS`k0NeDbqC)=AWL3|I;e8Ma=7f>gs!^L2vx9d?7$wD-FbAR$8;jG5 z8N|Fc4Y|X?!>iDqA78o2!;4f5Q8D&(kVO#oKagD1-h&Z;?kRG11(cs5hP0g3cyE#(&&h%j_8$ z|No1Hzl8n$N8!KP3(p|lDuUnZFwX7pk!^$ico5gU*wMNJTKHjjIQAg_R^-CoVc3+f z$h`Z`O2_%HbUtWlKFpQl%LM{&)%SRG-E*sD;k>XW-h;RK9r%jZ$@`bMzJ*_WU5EPy z8UJRFmHx~~y#4SGsTqC-3*#NG1UTn4mtD|5rJfGlA4R)I;oIPqhjw893wUQ)oBSS- z@%xyc;YsSbJ?Y$?0mGObgP(RY+y5bLy>pJUe+D(c8VLH=c5ylB-8k?QYC!)&wvtxv z6s=i$$j`pcpPG~3JpmN(eBuh6h7NqmrOTnywN|1_(*NZ@G_U=cIsw}G;7obWl-}W+ zfPKhE$ad6z>(`Lw1v-^B9`Xj)3=#7!I1N+q4p8%cSkuS@9<>v9_O+huYFle{BG-P* zsolsWy*7GFXM5Kn>R6ZhsOOUUo@u}<*9SOP@ZFnswEn(?V-I-Ax9|_X1rE9gD+(U~ zvi0CD`+MX}Zz1RVNPQFDkDyPd=eB!}?VwxfHvu#qe&eqBL%u3tGw6rYdJBx={Yv2W zIPm?I#Nik6`3uB;2MMqhzrO5R8~*~I+KC)nAy>ZaX-rNnp~t8%$ko6NvKD+b4|TnS zAi0d5r>8sCYfwh!WuL%@p*)aJ%&oL_dPp%@^T&{92lc*&@*>|p>0jE`eT}Vip8v0( zyYr|29z4=Z)`3gVqT~bozG?R(bsnqx<70N(OX^Fo2tMX#)@r&Rr$Qv(_tSKTAkWmw0EZnlqOO0a_v)TN z{E}mX8M_}V89RY<*89HTa_H9{tb}%(d(d(*!?Yv#c2k$})YDFXXMd{B+fSeCznh}* zLS3@_ciZ}9Yv*^Mfj_J#{oi){_$=& z#@KL1!t=%6Z0(I0_T8}WClWpyeuu>XucQ;t>=BB9=OYe2zC@g6`96zD`V6D+CPFo8 z;drr8pJ&CWS%1Nnw|7QpCzPDWc_@6n6P0 zMXY?2B3iyf;g;`E@HgDq$2%JRR=Dr-2tE1Hx?i*+mi>l8jFG;>e)4$&z6KRK3gA5~ zM_|t|-+QAMz2VOl@cHs@4!P(fxpewIg|rGdgu)t^+p?A zLmu#6(Gl>!5#)0z;OHFmcKF^KX?n;7p7p@rE7e0Wpza(pF%DsXpGPvjBd`y=qziua zA47rOUt!!w^z@M+c~hM#LOOH<+XjKuRm8IvTh23%W^YDMW<_(ruO z7O_^Do{H;Wq$R`Gnu3yiFb?#tY%6p^}5=59IY##f#?!N-nN<%j*XczE@?=zjCUfuY&K$ z8rlFuns`74vE;ftpVvjf|eh>jN!h0P>v6M_6$_4CYcvH}iH_3*fhj?!c z?~9#>US5hf>6YP*xLXKcxTJ^S&wd*3qrF6bqkqym`Zs+{U(y!ZN&Dz99an^6R_uyP ziC0pUOr@7ntW+oilsctR8Lo^`&QYc)vy}PD#mZu3iE^!SvvQkqxAJ@CQRQ*v8RZ4# zW#u*HO=Z3Ef%2)cQTaxYG6Q%a^6|Lf3D4Sv?r^Ga$5+mt{E9ihHj`L7bCkQ<Y7Rqo>GsTi5euqtJ*2gBV3QTs#8oFIFj~l z$6lE4EI~>jFDf8q`eLn+zvtKhF4l-y*aEIN3etTnxM>^s=0vQ)@Yf_A`fL`Lb(+s5 z!5NM3I-?%uafEsZoK!(Agc=BZiLkQ7|J#P}rD%cwWJBUggk=afBAjk!UnhI<`hqj#kb6yj{E4#}lwNqZ73;~EnJlH6v^(A* zEul=#VB(8B6pQ}E_tvIy!-19b6N>Vx>Z5$a4)IR9z!xxa&<fYnO-@u+HYjS1rAiL;1kJ4{x_NgY(V??_EN7C`rm&%2$Rv z4Nn+eHN0kQF`jF@-T1umMdQoH*HW)bJ(M1uo|vAR?n%#1FHY~5-jM!uhR36LOrA)O z%aiCy_2hdRJySe0v(}wZBzDrp!(t6MVk}nbvZ)vNVFli>9SVLw8GLX7T8sy8`n01( zGLAIfhX2;HMz**#^B&Kziq#weQ|r=c3->YwrSd?bH6xYenZ1H z@cV!6Fe|(dfE(uV?R@b6P0|ki-Z{1NvsO~GFZi3%)}U^nedSfx4^H=`*EEq1J<0>U zArm^9{>|53(B-tRzV-&4g}(c$afz;9e)U5essl%8fX*`r8c-v?1UnQO*)V9f!@)yF zNG>uOwt>z`#)FqkklbW4z8%l&%|cu!t_KIW8DECI2j78xR6HX70O|9X_>*{CJSm1TUDy@!%djiO3u2X6EnXCB#4F-u$nL+=v-sZZ41DikEko);w4x_uTch8s$Y~}czqMA)z68=u&17(RpQt9*6lKU?e?bN z*KU6+zjQ0`#asTy?fqgqcxI`%NYjGALCdIwiqNJ4?kL0y%8QuWF(S+F!7qGRfGE7i z2w`Dpfv#dV_^sxs2y=`z#^p3Q^4%71jg0ometlzDGim2Iuu7(T0)9H*dM&-M`Ii+z3 z*Y`IKy1AcuAbs)4C!a8!&=!=XD4PVm>9VHh(nhrTb0f`)Fc}n51hs~f%@$tch>9>+ zEY@awm}0d$WFPE`KgplX5i(I&En`nD$DKvS@%|L-Axce2Ml(r?3Gs2UG0|>77Cd6| z$x>?ZTD(3Pe5F1wLa9Xt3nwbp^abJbvl_BqL|7Dlar(mWi!vHAUPQPc{P`EtU!>Pw z@O^~C_k!;g96mVR4fu}<*C=F2!(1qaJbct2@>-Qp?X%?#dkzC`)`y)zA zGCWRaUY*mK9R@VSrBV!!Jy4OI<4aXaeK|!`URJI2C*UJC&XS!2!f;?SMQoa4DXAzg z%g&+x{hDiLU!&NHZ08I!r#Iz0UH&2dgsP?*yQR=Fy4F0hzECOXl^c=MCo{t}vNF35 zT@&e^IQrtD3l|w3^_UL_qg<0l4j7VUpE}(T={J%wIzQW2WVcP(o>yO4Xb0_@L~r$| zVYspu{D^nvrNhcx-SnKBsRgE&mCV*QWFni1#tEZQv>3v`>YO#gW>Z=$8W8}2NyuMt zN`8YOyhauZ1E#x`@fV*lJ1C6Xv9t(_#bxmWtBE9XvOO6o$?wXd)=XY-!Q{yoEXb{GZLP0w z9fLVmuYRw51PiPXdReP~R00{4NQYuE`b>(|Lin1Bu^RKuXfPRPfbeW&u^KJoK%YvB zP?U(8uy9N|F#;Kx4q@V#6|;G`}+>Pc353?#Ms`sqh^nuXf~Q#h7A~;6&_Y=C}w+eX7%y;|b{ITRzqi}Y5*o{k< z-WWD*;zVU{UfGU+yuPz6uk_O=SD;-3zOu5Aeygm4gk^tSxXnHOIb0Ee95&&;7K#UR@n?d~!0y|9TM|J-wE4($z8uM`hKUOGgo zKgnvrr*Nc5XhB+?9&MV9)nSVPm%BRFr$FsA5)vD}p?^VexdS!{u)sXzyQ@ z+%H|Lvr&ABZ_cCub8-G?v>|8+s)Jg9=UO?iSsCRSbXi~n_4%?^E7O46!+-`ap{}JhL^lgZy2*MxojWn8y!&II+h;ABG2YXJz zH~0@hTV4xk7|9sGB!cQ9S&PAd55^F-srlV*H_Js=dTf+AJv%DXV~)b4k9v~K^X3JP zpGS31*3~^(udMx3VCkR!L`%mn39MVP1o{Q{Hx`#vz+x4N{y3%I{IN{u z8D3|Z542KBscohw?9a6+UT;Eq?O>Gmq5MhZZ}8I;_`yeD9^euNMr^3Ytk+?MrqT@1 zAwKh*IUbhbITaW$u&GF@=ua^jP?-$6>zX*vz35YZS7jB-NLd7e%_^sXAYo{i-=^@`B9%{c{r% z2D|E-(hJj^b`vB+Ocdp!ZAH|nhZPfODIJ)q_V<_gz`X2bRg5NpNzg;cG!9v%&graS z%|^-nSoo`G87lkYftDVTn#P&}Y_y zaivv7(Mo1Z|M?@M3dc7LXsJjEkIfm_(tq?Nqf5%0^6PtqXZ=Q3`P7lQ=`*hG z*HV`rTQFw+sHxYDE{tlwX6V>)1Cz4+L+jG8Z5sj`moI?pFcI&^I~UrF1y&`?a=X(F zk@@b7l30tu>#p!+YTr?me@DNBmSs0@UxO@ypv9i>3@^_Pc3 zt1yDCV#v^Uh}m&^?GZH~Zk?nhE($ya(J{SZfD3my3sRnKOxl=p7Bfc(DNGp|paYhr z5-%@KpA?ult-5sTO*hOaBm3iheNUI(GjP@@DaP))3&UCLgN>fW5RN)ff}aqv|fH@Rb!AF`UqJ z##xIe4IGkX$Z8qz%8biO2bZNf&B+5NHIG|VP~XcC=1MQ}j0A(|Yp6Bm&Yzv1{`D0X zJ2Hz~CpRv-wIzw_lCvvn{pm@z;bU5cF+C0hJdeOyi-bMV%b#OpNdY@zoT-!9nI7=)v@zaTzN zG4wwzFiDAL0gNstt7&cuEHNiv+$=FO@*pwspWV7b;~z6f%1@UA7$JD&Cegce9NMgT zmD#|0P6Wkdm1ohrffs04;5>XrZO!tV8lGx+2H6>Y@c_{F3@F+nGW@Bi0gMjnf&td! z5Y`PL8w^SHiy)CBhWxh{eoKZ(B5+g7;k7*ly678AZgyTiDB zw0qNXh-(EaI)eVCye;Vuvj@x$5g0qL60}E#8T#yT)`0yQj4ha4cB4NnB_}hbAgv%b zexMmMHK*ECS^{D-TD;lS244jjOZO2iG+Bxry;4h3)+Oc^<)+|YwPY0c@sd(Au(c_U z@yi$G(kikkW>OyTR^^u#4azMYTUpvSwWPTH`)=diq`s+KuMB~%RWEK@Q*U9-8uncZ zw5?t?AP+(sGauNr8lYQS6^J}5Pb0J0)P%`oZV_gaxjxC?N03#q!Vlj=A)%P8$|+^W z`{NZ+ThqU?ATKv7A;uLI4h>TDRr-e6;l=|Cae6h)oXvTNpt5W>;V>0b&7~PJX0N%( z2qtSZSseI>HqqcHKALiC(=fj^?SjeygZua0kkw~tpR%$Tmr)51OHHgSE+pl~%bF$* z%S<$zV>22?Qo>4aN?pP93}r}tQ{bJZ^wO$+rF|;$^D+#sq^e;xeQGN+lI&LU!(L6w z898bAunEJnlP&v=l$4TK=VkxA0=_Gh8Q{O+(1tN@%~B&Uf#8DTBD{tj3Q!;IcDu{& ziguMaqb$z+tPBena(^m`b9=)nJI8Cm5_902h6x+ZNfVRI8z)R0XR{_d$9?*#a({e$ z`z*>NS7K`4z&_T&$EiOkCCbatv=gC+RQdab;k5%e%S;N8Z-n&1$eWA`#8*&n1IK3L z5&*M7o|KfCFR@)SN)Y4Fih;AAvs?H@5WUSs?IVHI-QK zX16Hx_hNkwudZQENLK=;g%l-V$UzkjAbP!CR@|g@mK_DSG__?gYkGZ!`2#XU?nKO9|eyDad}%P=P6)T3BIdIdJOTjcw5dA`Zc2bB$@HXvab zx-fT`)4?CvwDd7Y=vKe$+dd<8}r#oG$S01x$$q7}PkxPdH?cQ`s z4{UC0ta@X-GAGUZ@ZiAfim!jIh1;lxT~G|2H&I;Rj||87*~zHHfvQQEur2WSwl=C(R<;kProd`tWndd6 z1?v^hqF#ewn>}R9NYkzq#h-0!L$ZV+760)}NEkBx8D^*^RE=?B6&!Pc7kj0f0<0w5 z<25<}0ef6v36+#PVVu_X%?v9U4hS|48y-@gbq$tf3cpE6@RJKeChC*60%W#g>(xa({ch7}l@&t0J`ot~M}mJoBlHMJ$pc7JqyTax0Pk!-uh z>?W7NX}$)mE318>GB;pIO{Mnsdz9a1r3NOr1{=d`-Smf4fElEp^8hE_aD?L%wiMI2 z?tvQ-q98bGqf6Y;C6a=oB~0M%EXeAwB)-g7dr8MsjsuRIXc=7V)>e)-rpKE?Re^g}-Wo8Eb;EKy{3Od2P(o^oPHB+yF zmAv5%$cqPp3o(Z*?Em2@V`v6gy0NOO^TaOhsHXwXVB~Rnj(X|6BDh}sacy&rSZZWmM?5;oN&$%aPP7AELn07JsB8# z!MJf3U^z?H4})46f%+qRs9%#0*q`Wjm2mw*epBkke6H}hl@agT62>Q4-k7medlN&1L5p^ma8BQiH*8*K$kpj1<#+b68B|JWKM-2)D9)(tO1pXSL2VrA$e( z%nLIn*o@}`wmFGOiY2jZc>A%W$Z+M}_U*P|y|bx3B_&|!lQ|$>k+LlT_!tU!BUrYC z8&5A=Tuvw4z?cEV{1?EnV8J>;b>dS~{=WL$hf*Focg;VhP(uL!{g|2qA48p46?j16 z96Qt`O+>J@#?B#yg`z&PLBEvS?Q*g{2&Ys>&r7MXZQJDA?QTm{FqOV_aK-Yw)ou;9U9!c{LGQN3eFlf&HlH0md~8?m;#RV@R~gPYlbz z7#4wS$58q#hhx^Q6=`v|DsM-f+#S`o!cZ9xDWmyncLQckmq0{kU#$tgTG~B0@T ztd+RSQzwYMXx=H|0C8c2;H3cwO+igdp?Ysd7Q?}2Bme>Vl(RljmQQ)N#HXgl-!d~Y za;8C~#-DsEKDBR@Atp+zI~6;+mSb;+g+0OWg@OCAldOyT8jKNIiUr0CyK9$wZnNI* zy|0R{kA3EuSp2_M{BQBKbQ0B_-uG={-}gzjyK8H;c2kr@aa{QjWz4HU2Uwdx<;PQA zD^_ZA7Rx+}D1{#N1sxLnUtj0=BUw&C-!W#`6qA`XQeG}gZDzEa#z#jv9uns*>yGd|#^D?t%+f6$C=oMSzxl88Gy?RPjcwJpvLqpq$L6r#$De>YspLzJ) z^O(&84}H<*KHwn=+SY8pJp$6#37yB^e2w zotESMkuWpjW87#0OBhZI3k+{3TLW7N5(pv@tDI0MXkVRm(u{LPwoN&AxN%B(ZCPnm zcD3?qd&8hnS1JWfjV;I;8=?4Qyh>ebNgjr1n;U>4mo}Y#F!O{|+G!vy26dMzph50LolNN5ZG_;H! zYpcC-$-Fs>&!3?L{`4>WKi}Hs0qe%}vsWfvvi!FfwT!sAuCaG+J&z@pFz7eRdl<_x ztD{Mn+0o-=bOP(_$T2(R4h3pvlfl6>hP@WNx@JZ}vyf_e*F>HnY%sagF+-TdQV5Hs zQh@t3tBtOmQJnMp-?z54)eRd{uH2ASIJ`bEkshlywheBCb;;ZzPpwemfiEw6p2c~7 zXA(4jV^O?f7QA9%qAG3JQ^AA;R-_qyN(-A#z@OPH&5l@YPU{&A2EZSj$z3u5;#`1S z&?}1}wy=_hX<`oPJ#ry9yTTW=I!lcu6|BaZqun{YAgp;r6nA6v7%8Mp=_snTWskp|k^aC#mJ)DOq1`W3_8pKdlWIwBc|;}pBt7qp9= zu#2&2gze%q@@}p(wT?CU@1K5Oq&wR2#Pq|38Glk<4ZPFGvwBsGU5SkUR%^2bGARvh z+SxAV8L!#)XbTXrU5vF;JYxI0wC&waURKlQwevCZWb_V8s`mN8RMw?u)JD|ySLCYz zvM+`VbSzD@`EAK=kN^y^ARCO;JX`SCLJ5ejF&h;*N|>?mSX#J;>{1+FGkt1J{TTA*dTR%a%F4mDm3B0bA3L_8 zj%ledFTEh}2(=dFrsoG9#;EJ#a2&8Z#jrIFW`H{2Zb`%7=L}iUKbqu^WBQh)CS^%S z%6LC-rGaV>5{HSW!P|wv?>1jL{E~n>pa1tcxRZDU6OYN zk8w&fIBTY3(CihXnSppp|y2ZMO|5+ z{@G2mV|cIPrOR$!SmN>jR(bBGKp=JK+*zZ%z_Y}a5Bn|-Nj;?4U+94992IGVw~svm z+U}YzptC0I&&0utwqz#r9y}Q zj>NwpP%y9t10a+M+415$$cLp17mLO9s1;x|VVaZu7b**)_i_WD(BT_N~4=_=4 z+a>A|dKYbb+23Qs97>Y*wq#qVPm+zUCzj-wWV3l9&FP9bX-#Ldu;{^8k zZI*j8h8Cse-ZG$k^2M{pn_EY>_Vd1x?x-Fx(gzL&Rv(@3O|+#)_8-vdbKqxUuMC)D zY$F_{>B_G(4~@oW;PN-lvY3Gk10=VUe8?H%Ini*^Kty}IRyhA)4tMY!Z@G{6!o<9t znmIJA$Y14eYioUg9t&*orq)I@_$ja2c>8V89Jt*k?0eXQ$;5LR;s^pM$b{UO#uD-1 zHFB?&RKeo(SgCnoh6Tatn9G>TPR!+?+QoLdnPscbNqZX13uau`N}0W~hE>vzK*FHW z*VBT)lSSDXSu}%T!SIs`SR5U8dWdVFb-)W{xCcAk=O%TfHMTj{x^lweFn2`iVpLxg z6GI;ao=UE4C2T4ZK(ZkXb?0@n(H*DQ=y@V9rqt~!jSbo8FwBdH*K#yxq%_jufs}qf z-5+U4yTzQ;Y=_6d5N5DDTP#V#lFYZX&9qq}Tq8|M%?Xwfiro-F;ij2@u1|cVothk_ z_U6FqqK*c~!&cAYO{3V|%EAsC zfn3oyPx`|>6PLtYHSwN5O#Jf86MNoyXU_>a_Aa%A0;oG$w5|rvgxgx%0GbGkll_7- z^ud<)ljH`hHTIksE3mDV89K<)?aFd75x@zJt!Fg^O{~Mdr@%k_cUdcIqpj|E^Yas~ zaTp!eh^uKwd*EqHUsp|WOf0=0xGT>UokR05Zty14dw{V=d!KjSp2^;)_X0DhGO&*B z4!k*V;6R!s;rcGYF~UR6~R?kq0fTa;a4 zX=o(jj&)kB)%KWzw;CJJ#6)$RxZe-~ZTWQj$l{=Z-Cte(gaI#skjMqhF2J0|(k{Vf zm3ytA)(^l^0=BiG2eZ(*NeHY9xUi$lU0%UEsAJ<|;0T1el~Z0)QH70CupObxXBV6^ z%AJ$!jvRFk_rQl0_#9;&gZfrMjJ-N6JSjmHjSZHH?4rHp#m?}Os#U$S0Y|g=nqJ5M zdUFdX@r5upU|vG(QWI{P21o+S$8mDE1Kbv1>_en*29gy~KYq0*#=|T1K5upfHU-7S zR+N{D7c<-O$CP#zgMsMXp)d*vPqxql&W zMc_YFuoC!${fGYj1Ad%1k;?WTwr#+Pj73>qE`ftW7-0Q12{Q{cSXCCRg6Vsqq{MPL zW1N}rs9ClBshFj5PiJT=v!Nu%EoCabY-=26E40mRo4dqpEwWbUhnE+p4ZAFLl)vn` z%7n@1S}s|(d{OH-le5yS1a3Fbd_&93i6fal@U9`=!226U9}uRnfeN>qh4+SG@tCmp zkyo&Td!JaF?Bpy<6RA#jiPstJg!0G^vx?q?ZIwCMtVYU>vuT8F>Dbo>M}%Sy^c`n2 zj%c=;Ce9f?(=>Q)RiVN9A7z8dke(k~2+vx9L|mJBO6l)s{ErHfHAz&Kg`^ z*HG4&JtQZ0==T0&#$4LkdPQSyE)q*?>&pjcH|FLI$!;uds4X8-Os$Js@yGbh1Qdfn z1F6FAuS&(PZWC39kvW|3&l^o+L48nr`8@&bTDHK(vRb8M5}OuNl6j{;BsLf|HmTTS z^0RpVv9@zH2b+MwAz7Bd>5Ru1uZ54WV6#))0?za zh-?tHW{q3C71>#(x@C^NfY{j|8&^_oC{R} zb;-y&Y~UV}I4yNxrKdPK%BY0ZV;Yzv;#?WMT<2shlzknc45wygHEiTKw({6;5iKU{ z_JkEneh2K=Xs12S5vN(O+U~3l0~ty{$MfuzxVV(Kcar1dljD`u@xJ(uKeS^I{nbMT z8*s|D3f_(P4^1Jn$wd|{SQ;(hA0Q!%37$<0G(SslU!E2GOzxr3H|CMZ&df+nPK=EX z*)+Uf+F{ce)3IEZUJ+#od6%@=%T5k@^xh2{?!D*V|E7e%$u(=pxaM(l_2_wRZSz|C zTK)b;pRaL(vi9A;x_8%8+4`bYf$vwX#A5sAK9SQeyL`H%*f8j&K@w+vyeW5~axO5I zF768XYEyJyZ3aX_5^`$$jG*Mh-7^|a9m#qeW`2Dn2U#*YvgmGIFjKh$iSVKc%0PzT zHD?nO8+62Ab)me9%*zV9NvX%H4mOY1ljZ5;*u|2#^#AFbjj&pWjTj}qa*KJa<-(fE z%2I3nh{Ezd1;48)t?>=0zPd!oD0Y$>oo`iu%+-&hooKIrJR83%6N> zu&#~>gR#ecY;1)u2d|O0V@s|sc=VAiORg?_cf8=wdO7%Hv>dl-tb z9^CYt4H&@U8OUt{&ni-eu=9&|xGPl4!V?8%pPDk>k1Z~!!Q^!Eb^`E_jB;?+z;YV; z=5@7NJ3oDYx)JXHz>}Z!s}APQhOzbrwz*WH1+MBbbCW) zGG4dNYEb^B<(jxGF!iE`FT&r;iqSJ_MAAIyis|{OX<-zdnCu2>tCXoUT6q{Vvp`#1 zV2hHm&o7E4`J<4f%eu(;RdV+SuOrduz_%2uOod&lh%$N&Z>X=u{&zQ97wps5oDi6} z@bdG^ZPDZp!zQjMhs_-Z%L;D@S(%UU%QyV)O`P0E3p=SSdrkSUVdpgut4J>>NKY#$ zP}Vlh88&QAQ(3PJ#9$i|+G`Snpr7;de5COC%dFV2z&Z!NJz<3EfekQVBo^}!OgBrj zfX53o!45tY(6+(Ycz>8KdrD&r*qx-1d~xEW+%0*7|N86w*IgG-{frP%h5s3Q31mt< zubiVph$DjyLl2$>z6P1sX_XB7FiEM+b!K(m&f7epO3JGFGif44^4A%iw_Qt@GD_DIl)X-h3zK zjfnvPTCp`w->1*hsnc@VPurs3XdGNM+TVnwQ)S@j>aoWD1AX~fC9SP}(kQ!pxbi`t z@I2q-aK&6!RNF7S#FWu1J+p+e(lRh(0k2Ok9wYt^a+*JxsRSlJZi2;$pn7a{)ZaYm zz9Dr^$L?aPigaR6G4x?4)>lY))Fkl^zAl6>lKbN<-R%y1@h9F8kss%)h=qp;vYkhK zq^+uyXmVpj9&YiYbIr;5H4R~fl#}M-tzoE>=7`S?{B38z8G45VNuA!SkuQ=!XVG3H z`Mln6f$frd5NH3yh?F8s4a|-H_%8D`kW0Kr5G&6d2iA=plOWk9OhoRt0jsCc(eiZ{ zxtk;Snpr&UOOnp@jz`At=(H(^N*y2h^zgV z8^glyw3ilBH1&^l0>6Q2^iVr*R9kJDHr1PY@}Mo^l7_zo`@(zhxG!0(7xVZT@i}Y@ zRyl~H%ZHWFz`;;HKYC)bKe0U*Hz|w&%IMM8jYsUXhtJVSMSZLqhh(p zlI0>xu8AGTEskU2VB+*R4M=xLAw47zUJ3~bDa&R_2<$EiOIu(UNZ7C}5MTq#LV$!s zqxb*Ly?5qLk?in$``#m96wlS%bH3BQ^Z)+e|D(+$(`;&T`YFxM;wZUzx|Mbo8VB5$ zq??eJO!XoL*v)c4sxpKPrVN&#*{rlV zNn7|3w(#+;hIreiO)XW)&NcPAk=Y1U1{ zEFPVjOuf`o<@~8ujMh?5(Rab`R$m6rvZULXeJ4XY@a7cQr15Y79@(PlCdPJ8nS>33 zV$@}NP+XAp^cOefme3#OY;MBN-I=t7SZ8N~{h`d>Lnj6P_%3o2+ImB+&1N-cp>{=Q zH=H4vTQ8l!Pd4!JT2oErzUajM#Yy(%<>j7o50UI$M8L!a-&urczviXZ$F>zA+lxOq zf8>_=9~M&X{|~iAD$*8bhXM(Wre zU^Y0>j3Qh-gTex**Z>0hE|;qU|G-9er-QV!ky;6tz=GWld&-$2GQbZ-=d9Y7yK&w+f%7GVbtz<- z<2Hs3296GHVg}@rEZ(E)YPyP4C#n;%D6VFHQlHRXOwc265h>dbU~%?hQlvMmr*Uv- zZfK~XA`+?aM(STy=LQDm`acs11|pHJ==|P-(ZSF_4`)HzfqaJ`X4R_HxL}fW zI@30SM9g}_3{*D+W;Dy-T`E;y{i0UniT1qz$;jBfX$4pkoW`=e2ugKEl2ZcdF+ zL?-R6OO7aeCD&xesdgIypXAOo21+N>Y{xMkx}zm%cA3>I%0A}n4ceGB;WCX=bk6e63o}zVM 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

-G#NRh;KZi~z#*<-8!aU% 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, (), +with Reserved Font Name . +Copyright (c) , (), +with Reserved Font Name . +Copyright (c) , (). + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/Assets/Fungus/Dialog/Fonts/Exo2/OFL.txt.meta b/Assets/Fungus/Dialog/Fonts/Exo2/OFL.txt.meta new file mode 100644 index 00000000..f2c45082 --- /dev/null +++ b/Assets/Fungus/Dialog/Fonts/Exo2/OFL.txt.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 7d156fd4f9c8d4276bddbf2e3c0e820b +TextScriptImporter: + userData: diff --git a/Assets/Fungus/Dialog/Images.meta b/Assets/Fungus/Dialog/Images.meta new file mode 100644 index 00000000..a924da61 --- /dev/null +++ b/Assets/Fungus/Dialog/Images.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: bbcb57c04f3008e4391c6b2866a718fb +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Fungus/Dialog/Sprites/Attribution.txt b/Assets/Fungus/Dialog/Images/Attribution.txt similarity index 100% rename from Assets/Fungus/Dialog/Sprites/Attribution.txt rename to Assets/Fungus/Dialog/Images/Attribution.txt diff --git a/Assets/Fungus/Dialog/Sprites/Attribution.txt.meta b/Assets/Fungus/Dialog/Images/Attribution.txt.meta similarity index 100% rename from Assets/Fungus/Dialog/Sprites/Attribution.txt.meta rename to Assets/Fungus/Dialog/Images/Attribution.txt.meta diff --git a/Assets/Fungus/Dialog/Images/ContinueIcon.png b/Assets/Fungus/Dialog/Images/ContinueIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..73d612bbbf33fb18a9780c694f0d6c1dedb07b0d GIT binary patch literal 1385 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 Q@8J3$$`27)cTNBN55$bZ{r~^~ literal 0 HcmV?d00001 diff --git a/Assets/Fungus/Dialog/Images/DialogBox.png.meta b/Assets/Fungus/Dialog/Images/DialogBox.png.meta new file mode 100644 index 00000000..dd264892 --- /dev/null +++ b/Assets/Fungus/Dialog/Images/DialogBox.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: eeb00f6cd27e9ef4d9174551b3342dec +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Fungus/Dialog/Sprites/Mushroom.png b/Assets/Fungus/Dialog/Images/Mushroom.png similarity index 100% rename from Assets/Fungus/Dialog/Sprites/Mushroom.png rename to Assets/Fungus/Dialog/Images/Mushroom.png diff --git a/Assets/Fungus/Dialog/Sprites/Mushroom.png.meta b/Assets/Fungus/Dialog/Images/Mushroom.png.meta similarity index 100% rename from Assets/Fungus/Dialog/Sprites/Mushroom.png.meta rename to Assets/Fungus/Dialog/Images/Mushroom.png.meta diff --git a/Assets/Fungus/Dialog/Images/OptionButton.png b/Assets/Fungus/Dialog/Images/OptionButton.png new file mode 100644 index 0000000000000000000000000000000000000000..cdf459e46885faa5f87e87c8458348a71600cd10 GIT binary patch literal 1097 zcmV-P1h)H$P)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<&q+i$e>+y!m}cYtWr%JdPx zKM#Bfd;%Qc^(Zf|8Q=);u`FK$egdun}UM6AGjqw=%WId0)7L|GX6R%y-W=YKnH#Xj*}i8 zm!9-t09*lm{SI?gb2e>SpZ=eB7EOh7J%>jh_>e`3!v?_5G~hL7C_5wAv~|u4ue3w@gD?u zUaKtt%eHOh07%c403KTACMxX*;yA`KHvt|B;C>hc*p{hI?^_mf*xwhx-vEyr4I%~h z1W_3BxKZ!Cy(>tP4T!>!dd)~ZfO^g7?&#YB_zRg}(6ntVGrdE>HcgsOC;T#SM-+;s z2)NlPZPW~0r zt$;}9MWI-#0bli2)U<8Z%WGJsITo9xWRqjEUS8{-@Va$gdIex&VWGJ7$@JSZ|7NOhm8u|Pl_UzruWIj(Wmt#WL(KHQB({{Xv<2WV^0({@6?Rm6Z7td?G=+@tXbG?OH zzs%A9{#~5{eg!^C$wKf4aH3EwJ-4)JrNaB$-IN0^GyW+w-^-rw8~PeFkbRPrvs1u0 z?vV}PwDhoT+;5nf>=tks_^z{A+U07?wjL%)l^dvund#|aDs|*Ix*=&U0B`Lw(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ^O1~C)kt-duM;rO7>{I z`~IGpoiFcOnw|fHw~zqN0q23UzzM(xJ^;o!SVce+SOQ)G&wwYuQ$P)RvGRcDPXgD0 zFMwmbAC2qd2yhzsOqc%)`~u7Zi-Xi;Kbp`Neg%B{9?kEkV>-51I@XDI1>h3!9QYcj zGW@FQSf2xz{||sNa3A;`ILhehD6pVClm`WH2zUfsWAt@RdpXoEfHLqKaFP7zqV`no z2f#gGiu`Fxd)pVlW#B6L)m316F8~w02<1@sfRB0s_-;gd`$2UCxVsa;$G}&Zqc64R zEdVn>#UKC`?HQquE10J%fat91CJh8I37iwa1d?|YrE&jeYr z0ZJ)6*U3Eq&vm;i`iTJkMkg4AVc2;#a;YF_($(QF0#AiivlTGEMaXk$wOY9|-)gn+ zT(`Su-m2NEvmBlUWT%I8HtR%Dejr4x7S3k9d!&=vbG9E~)$B#!LH96Guh(<&I0Vfm z_3h>Xe%7A1ZHU|fHo68&T-U+btdHdApp?SdtmC>4Y&X9F+}_#{>3pzi_6Bfc_lzlI zZFPlFnJjfCIcuvcgkjk0l$+WsJ6ix&&0YZJdeL-Uhqcue8V#ReTstI5LZjicwz`7r zI(xO+pRAhwYj;7fWTKm7ug*>Nx{2?3_?}0lT4lUCPNiC*JXS`GjUh@UD3uPnicx8b zN)p;hn^?v~G9s4pO}~5$e6zD~7XYhf%jMTg)4)UElfBo{vY(p{i~a-Y#LY}LF4Pd=i0-b+g|F20cg$u$ARz3GPj3KOFFjWI@Z2g?V#D?i)0DPx5yGLE|9%$e}XIl;X@8S o^(F=yI+mAuIsX@LnLhvD0N?U|cA)f89{>OV07*qoM6N<$f)o$a>;M1& literal 0 HcmV?d00001 diff --git a/Assets/Fungus/Dialog/Images/OptionButtonDisabled.png.meta b/Assets/Fungus/Dialog/Images/OptionButtonDisabled.png.meta new file mode 100644 index 00000000..adaaddf4 --- /dev/null +++ b/Assets/Fungus/Dialog/Images/OptionButtonDisabled.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 49d5ccdda7b99e24787c2abc3891294c +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 20, y: 26, z: 20, w: 20} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Fungus/Dialog/Images/OptionButtonHighlighted.png b/Assets/Fungus/Dialog/Images/OptionButtonHighlighted.png new file mode 100644 index 0000000000000000000000000000000000000000..a2c8e50e37f0ae8cb952fcc24b930e3a27498c3e GIT binary patch literal 1088 zcmV-G1i$-(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ<#z{m$RCwC#n@wyJM;L}5Pn;jQP>@5BC@B}zBF>Pr1t%k+96_|4+5^xZ&K#;9 z+Fp8wh=5Q}AgELcsZu3QMUglWiWI3yz@aFL6R&EpWhdU1ch|eaVaJJ+IL4+#vUm2C zeDGSk{@!PHzMXIEFZSu=0`DLJi~=WsWJoU!jk_RG!xWTmt$v z0?@BKBh>3W`sq9%>Q&u{h5$x@Q30GpU!4%ZF^vHn7r+sX0UQy)0gVA15WsGY0qhn% zvdOVi8W3o%2tWiN0uTX+07L*H01cO&oU8SrK~N0TBVF|OGSMFl!}PjO4;%4s($m|u2NemI|AgY^IuLo z0D)(@DgdLJTSTk%fb^;676A+aJooJ?wy~s*f7@6_P5b8p_#41lm`A#9_y^y0u@*A* zw@(B?vjNg|F<;Dv9)S5`wsD{z3g9uS!NAEI*hV(Qw|*8UZ`9u|0aGHGO8da=HA3@q zIE8%pvVI|tIX~BU=yo!d_Uq;FIN;PXq&Yi{TYME7^KRi4=InIilg?3|gZ+SHD!l~U zT7OD-tp4*f6w|>rvaHTLMfw}6-d~mH4I3gq0EP8*DKRrMROY6UuG53r-k~x#jhUGN zDH}g30N<}~h$tmf=>qWWmbsHRC`~=W&SiUJu_S%$T$a+*qsD~SsLRSL(4=jyIQd|L zZF&a8;1ELx4>7R+W5nQ4*RAcHe2(h!A}wm0o5@sqgSTeQM3)KvIyctrORSd}te5k| zKiotA-Xwjy_RyC|AO?qs^~E6;+u;$GNUw%(SMe+huTsV>6{)S10om%zKY;HxA8gt< zS)6>30DcEfh2%l-CvYa2N?Th14F5Q>-AVnxReHaL=7t*irtADx+u|-k%h@^Lbq^YU z4ScRVY+K~C^Si)3;3zP$wpi-&MW2fGC_$@SONkC>UIGpSzYuh8cbk?~Y=>2>ZQZr4 za=_cbjS}=493yC-9|3l;^Q|{7P*KH9MwRn_@s92DZw3JLI$i5(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZE{2^I`^2sX!XSOwh$Mi!u+rPRnVspG?w;y?9=e9$4({$C8+N+-C3Bf{ zD)sxS>Q%j$_Z$(yW>Z*h)&r<{-&}uMa8tk`;5FbCU@!0@P~YM?CqM)&0Jne}z$`Ea zQ}6-TZa~2Y|QC|9=7B0+)dKXMF@F%)qySkDjCW^=zM++if$~ ziDw1iZQv&GJ}@={$9l}n^(Jui{{W}~p99|mlOyQgCV{I)Lv2_9yMP~n(&@KWmJqf^t z5%u=N+HT(Ml;I%PFNTSo&Z!os%uyXpaD!N;B|}B z0f&@{=WVqqg~&l`<%=9tz#fZtz#avRTMS@a;W+jtMjc00Y4Hj`1)u^@0jK~}04e|# zfC@kbpaM_O=FeC z-9=jgWO4U_%Hrwh$urWGWq=vi^YeZza7pqkO~Rn`0FrPC$+MKA zq`nA-T+g2ezS2>Tdw^;@gx!uee`n*S9IegcHa@)Eiel}^0wL?p`rKnR>02!~zI z4}mj?5C@B7-A;MLcO&9pv47K@HChMr0j}p?1*Q?9`|v?2jzh22B!2iv{Fkohf45OW z=%`KS{yj$Kv1A@O zo%{Ft4iDf*;JDGoMmqr4^E<#Bz;vHx5(Y#IcS)NoNT#>pifhv53emz{k}!CD*G>a( z8chS{?Em`bbq8+W`STd?8EZ=Echtw(G5!LoUPsl&aB4Li#{tLL@)Z^lL~C-Lk|zmS z+$Bo}qWUG{@UE;k+=c)Qgh`4T`;%<{*0~h841DZ*{?bMtI}@LNG0fl%;0#5j_1 portraits; diff --git a/Assets/Fungus/Dialog/Scripts/Commands/Menu.cs b/Assets/Fungus/Dialog/Scripts/Commands/Menu.cs new file mode 100644 index 00000000..2f9aafd6 --- /dev/null +++ b/Assets/Fungus/Dialog/Scripts/Commands/Menu.cs @@ -0,0 +1,112 @@ +using UnityEngine; +using UnityEngine.EventSystems; +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Fungus +{ + [CommandInfo("Dialog", + "Menu", + "Displays a multiple choice menu")] + [AddComponentMenu("")] + public class Menu : Command + { + + // Menu displays a menu button which will execute the target sequence when clicked + // Menu Timeout executes a sequence if the timeout expires + // The 'Hide If Visited' option checks the execution count of the target sequence + // Hide Say dialog when finished? Let Say command handle that + + // Can wrap in an If statement if you need a conditional option + + public string text = "Option"; + public Sequence targetSequence; + public bool hideIfVisited; + + protected static bool eventSystemPresent; + + public override void OnEnter() + { + CheckEventSystem(); + + MenuDialog menuDialog = SetMenuDialog.GetActiveMenuDialog(); + + if (menuDialog != null) + { + menuDialog.gameObject.SetActive(true); + + if (hideIfVisited && + targetSequence != null && + targetSequence.GetExecutionCount() > 0) + { + // Don't show this option + } + else + { + menuDialog.AddOption(text, targetSequence); + } + } + + Continue(); + } + + // There must be an Event System in the scene for Menu input to work. + // This function will automatically instantiate one if none exists. + protected virtual void CheckEventSystem() + { + if (eventSystemPresent) + { + return; + } + + EventSystem eventSystem = GameObject.FindObjectOfType(); + if (eventSystem == null) + { + // Auto spawn an Event System from the prefab + GameObject go = Resources.Load("FungusEventSystem"); + if (go != null) + { + GameObject spawnedGO = Instantiate(go) as GameObject; + spawnedGO.name = "EventSystem"; + } + } + + eventSystemPresent = true; + } + + public override void GetConnectedSequences(ref List connectedSequences) + { + if (targetSequence != null) + { + connectedSequences.Add(targetSequence); + } + } + + public override string GetSummary() + { + if (targetSequence == null) + { + return "Error: No target sequence selected"; + } + + if (text == "") + { + return "Error: No button text selected"; + } + + return text + " : " + targetSequence.sequenceName; + } + + public override Color GetButtonColor() + { + return new Color32(184, 210, 235, 255); + } + + public override bool RunSlowInEditor() + { + return false; + } + } + +} \ No newline at end of file diff --git a/Assets/Fungus/Dialog/Scripts/Commands/Menu.cs.meta b/Assets/Fungus/Dialog/Scripts/Commands/Menu.cs.meta new file mode 100644 index 00000000..572fcb3a --- /dev/null +++ b/Assets/Fungus/Dialog/Scripts/Commands/Menu.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 841589fc622bc494aa5405f416fa1301 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Fungus/Dialog/Scripts/Commands/MenuTimer.cs b/Assets/Fungus/Dialog/Scripts/Commands/MenuTimer.cs new file mode 100644 index 00000000..3c6ddf9e --- /dev/null +++ b/Assets/Fungus/Dialog/Scripts/Commands/MenuTimer.cs @@ -0,0 +1,59 @@ +using UnityEngine; +using UnityEngine.EventSystems; +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Fungus +{ + [CommandInfo("Dialog", + "Menu Timer", + "Displays a timer bar and executes a target sequence if the player fails to select a menu option in time.")] + [AddComponentMenu("")] + public class MenuTimer : Command + { + public float duration; + public Sequence targetSequence; + + public override void OnEnter() + { + MenuDialog menuDialog = SetMenuDialog.GetActiveMenuDialog(); + if (menuDialog != null && + targetSequence != null) + { + menuDialog.ShowTimer(duration, targetSequence); + } + + Continue(); + } + + public override void GetConnectedSequences(ref List connectedSequences) + { + if (targetSequence != null) + { + connectedSequences.Add(targetSequence); + } + } + + public override string GetSummary() + { + if (targetSequence == null) + { + return "Error: No target sequence selected"; + } + + return targetSequence.sequenceName; + } + + public override Color GetButtonColor() + { + return new Color32(184, 210, 235, 255); + } + + public override bool RunSlowInEditor() + { + return false; + } + } + +} \ No newline at end of file diff --git a/Assets/Fungus/Dialog/Scripts/Commands/MenuTimer.cs.meta b/Assets/Fungus/Dialog/Scripts/Commands/MenuTimer.cs.meta new file mode 100644 index 00000000..31d25c1a --- /dev/null +++ b/Assets/Fungus/Dialog/Scripts/Commands/MenuTimer.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ab54728d981544842843ba6609b9a80a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Fungus/Dialog/Scripts/Commands/Say.cs b/Assets/Fungus/Dialog/Scripts/Commands/Say.cs index 3542d60b..99d9d356 100644 --- a/Assets/Fungus/Dialog/Scripts/Commands/Say.cs +++ b/Assets/Fungus/Dialog/Scripts/Commands/Say.cs @@ -20,9 +20,6 @@ namespace Fungus [Tooltip("Speaking character to use when writing the story text")] public Character character; - [Tooltip("Say Dialog to use when writing the story text.")] - public SayDialog sayDialog; - [Tooltip("Portrait that represents speaking character")] public Sprite portrait; @@ -35,9 +32,10 @@ namespace Fungus [Tooltip("Number of times to show this Say text when the command is executed multiple times")] public int showCount = 1; - protected int executionCount; + [Tooltip("Wait for player input before hiding the dialog and continuing. If false then the dialog will display and execution will continue.")] + public bool waitForInput = true; - protected bool showBasicGUI; + protected int executionCount; public override void OnEnter() { @@ -49,25 +47,12 @@ namespace Fungus executionCount++; - showBasicGUI = false; + SayDialog sayDialog = SetSayDialog.GetActiveSayDialog(); + if (sayDialog == null) { - if ( character != null ) { - // Try to get character's dialog box - sayDialog = character.sayDialogBox; - } - - if (sayDialog == null) - { - // Try to get any SayDialog in the scene - sayDialog = GameObject.FindObjectOfType(); - } - if (sayDialog == null) - { - // No custom dialog box exists, just use basic gui - showBasicGUI = true; - return; - } + Continue(); + return; } FungusScript fungusScript = GetFungusScript(); @@ -83,8 +68,11 @@ namespace Fungus string subbedText = fungusScript.SubstituteVariables(storyText); - sayDialog.Say(subbedText, delegate { - sayDialog.ShowDialog(false); + sayDialog.Say(subbedText, waitForInput, delegate { + if (waitForInput) + { + sayDialog.ShowDialog(false); + } Continue(); }); } @@ -99,69 +87,11 @@ namespace Fungus return namePrefix + "\"" + storyText + "\""; } - protected virtual void OnGUI() - { - if (!showBasicGUI) - { - return; - } - - // Draw a basic GUI to use when no uGUI dialog has been set - // Does not support drawing character images - - GUILayout.BeginHorizontal(GUILayout.Width(Screen.width)); - GUILayout.FlexibleSpace(); - - GUILayout.BeginVertical(GUILayout.Height(Screen.height)); - GUILayout.FlexibleSpace(); - - GUILayout.BeginVertical(new GUIStyle(GUI.skin.box)); - - if (character != null) - { - GUILayout.Label(character.nameText); - GUILayout.Space(10); - } - - GUILayout.Label(storyText); - if (GUILayout.Button("Continue")) - { - showBasicGUI = false; - Continue(); - } - - GUILayout.EndVertical(); - - GUILayout.FlexibleSpace(); - GUILayout.EndVertical(); - - GUILayout.FlexibleSpace(); - GUILayout.EndHorizontal(); - } - public override Color GetButtonColor() { return new Color32(184, 210, 235, 255); } - public override void OnCommandAdded(Sequence parentSequence) - { - // Find last Say command in the sequence, then copy the Say dialog it's using. - // This saves a step when adding a new Say command - for (int i = parentSequence.commandList.Count - 1; i >= 0; --i) - { - Say sayCommand = parentSequence.commandList[i] as Say; - if (sayCommand != null) - { - if (sayCommand.sayDialog != null) - { - sayDialog = sayCommand.sayDialog; - break; - } - } - } - } - public override void OnReset() { executionCount = 0; diff --git a/Assets/Fungus/Dialog/Scripts/Commands/SetMenuDialog.cs b/Assets/Fungus/Dialog/Scripts/Commands/SetMenuDialog.cs new file mode 100644 index 00000000..4b551990 --- /dev/null +++ b/Assets/Fungus/Dialog/Scripts/Commands/SetMenuDialog.cs @@ -0,0 +1,69 @@ +using UnityEngine; +using System; +using System.Collections; + +namespace Fungus +{ + [CommandInfo("Dialog", + "Set Menu Dialog", + "Sets a custom menu dialog to use when displaying multiple choice menus")] + [AddComponentMenu("")] + public class SetMenuDialog : Command + { + public static MenuDialog activeMenuDialog; + + public MenuDialog menuDialog; + + public static MenuDialog GetActiveMenuDialog() + { + if (activeMenuDialog == null) + { + activeMenuDialog = GameObject.FindObjectOfType(); + } + + if (activeMenuDialog == null) + { + // Auto spawn a menu object from the prefab + GameObject go = Resources.Load("FungusMenuDialog"); + if (go != null) + { + GameObject spawnedGO = Instantiate(go) as GameObject; + spawnedGO.name = "MenuDialog"; + spawnedGO.SetActive(false); + activeMenuDialog = spawnedGO.GetComponent(); + } + } + + return activeMenuDialog; + } + + public override void OnEnter() + { + if (menuDialog != null) + { + activeMenuDialog = menuDialog; + } + + // Populate the static cached dialog + GetActiveMenuDialog(); + + Continue(); + } + + public override string GetSummary() + { + if (menuDialog == null) + { + return "Error: No menu dialog selected"; + } + + return menuDialog.name; + } + + public override Color GetButtonColor() + { + return new Color32(170, 204, 169, 255); + } + } + +} \ No newline at end of file diff --git a/Assets/Fungus/Dialog/Scripts/Commands/SetMenuDialog.cs.meta b/Assets/Fungus/Dialog/Scripts/Commands/SetMenuDialog.cs.meta new file mode 100644 index 00000000..e02c8b64 --- /dev/null +++ b/Assets/Fungus/Dialog/Scripts/Commands/SetMenuDialog.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b097b9790a8a1456a86bc4d322b487db +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Fungus/Dialog/Scripts/Commands/SetSayDialog.cs b/Assets/Fungus/Dialog/Scripts/Commands/SetSayDialog.cs new file mode 100644 index 00000000..9ddc3961 --- /dev/null +++ b/Assets/Fungus/Dialog/Scripts/Commands/SetSayDialog.cs @@ -0,0 +1,69 @@ +using UnityEngine; +using System; +using System.Collections; + +namespace Fungus +{ + [CommandInfo("Dialog", + "Set Say Dialog", + "Sets a custom say dialog to use when displaying story text")] + [AddComponentMenu("")] + public class SetSayDialog : Command + { + public static SayDialog activeDialog; + + public SayDialog sayDialog; + + public static SayDialog GetActiveSayDialog() + { + if (activeDialog == null) + { + activeDialog = GameObject.FindObjectOfType(); + } + + if (activeDialog == null) + { + // Auto spawn a say dialog from the prefab + GameObject go = Resources.Load("FungusSayDialog"); + if (go != null) + { + GameObject spawnedGO = Instantiate(go) as GameObject; + spawnedGO.name = "SayDialog"; + spawnedGO.SetActive(false); + activeDialog = spawnedGO.GetComponent(); + } + } + + return activeDialog; + } + + public override void OnEnter() + { + if (sayDialog != null) + { + activeDialog = sayDialog; + } + + // Populate the static cached dialog + GetActiveSayDialog(); + + Continue(); + } + + public override string GetSummary() + { + if (sayDialog == null) + { + return "Error: No say dialog selected"; + } + + return sayDialog.name; + } + + public override Color GetButtonColor() + { + return new Color32(184, 210, 235, 255); + } + } + +} \ No newline at end of file diff --git a/Assets/Fungus/Dialog/Scripts/Commands/SetSayDialog.cs.meta b/Assets/Fungus/Dialog/Scripts/Commands/SetSayDialog.cs.meta new file mode 100644 index 00000000..5c3ac7f3 --- /dev/null +++ b/Assets/Fungus/Dialog/Scripts/Commands/SetSayDialog.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d65d551a201c94bc79950076ff3eaf2e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Fungus/Dialog/Scripts/Dialog.cs b/Assets/Fungus/Dialog/Scripts/Dialog.cs index 2eba086b..545d726e 100644 --- a/Assets/Fungus/Dialog/Scripts/Dialog.cs +++ b/Assets/Fungus/Dialog/Scripts/Dialog.cs @@ -76,7 +76,7 @@ namespace Fungus if (character == null) { if (characterImage != null) - characterImage.enabled = false; + characterImage.gameObject.SetActive(false); if (nameText != null) nameText.text = ""; characterTypingSound = null; @@ -110,11 +110,11 @@ namespace Fungus if (image != null) { characterImage.sprite = image; - characterImage.enabled = true; + characterImage.gameObject.SetActive(true); } else { - characterImage.enabled = false; + characterImage.gameObject.SetActive(false); } } } diff --git a/Assets/Fungus/Dialog/Scripts/MenuDialog.cs b/Assets/Fungus/Dialog/Scripts/MenuDialog.cs new file mode 100644 index 00000000..4354087d --- /dev/null +++ b/Assets/Fungus/Dialog/Scripts/MenuDialog.cs @@ -0,0 +1,152 @@ +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.Events; +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Fungus +{ + + public class MenuDialog : MonoBehaviour + { + protected Button[] cachedButtons; + protected Slider cachedSlider; + + public virtual void Awake() + { + Button[] optionButtons = GetComponentsInChildren