diff --git a/Assets/Fungus/Scripts/Components/MenuDialog.cs b/Assets/Fungus/Scripts/Components/MenuDialog.cs index c530f7a3..93019211 100644 --- a/Assets/Fungus/Scripts/Components/MenuDialog.cs +++ b/Assets/Fungus/Scripts/Components/MenuDialog.cs @@ -318,6 +318,8 @@ namespace Fungus Text textComponent = button.GetComponentInChildren(); if (textComponent != null) { + text = TextVariationHandler.SelectVariations(text); + textComponent.text = text; } button.onClick.AddListener(action); diff --git a/Assets/Fungus/Scripts/Components/Writer.cs b/Assets/Fungus/Scripts/Components/Writer.cs index 5495b627..4d2b1fa9 100644 --- a/Assets/Fungus/Scripts/Components/Writer.cs +++ b/Assets/Fungus/Scripts/Components/Writer.cs @@ -928,7 +928,8 @@ namespace Fungus // If this clip is null then WriterAudio will play the default sound effect (if any) NotifyStart(audioClip); - string tokenText = content; + string tokenText = TextVariationHandler.SelectVariations(content); + if (waitForInput) { tokenText += "{wi}"; diff --git a/Assets/Fungus/Scripts/Utils/TextVariationHandler.cs b/Assets/Fungus/Scripts/Utils/TextVariationHandler.cs new file mode 100644 index 00000000..dd305480 --- /dev/null +++ b/Assets/Fungus/Scripts/Utils/TextVariationHandler.cs @@ -0,0 +1,118 @@ +using System.Collections.Generic; +using System.Text; +using System.Text.RegularExpressions; + +namespace Fungus +{ + /// + /// Handles replacing vary text segments. Keeps history of previous replacements to allow for ordered + /// sequence of variation. Inspired by https://github.com/inkle/ink/blob/master/Documentation/WritingWithInk.md#6-variable-text + /// + /// [] mark the bounds of the vary section + /// | divide elements within the variation + /// + /// Default behaviour is to show one element after another and hold the final element. Such that [a|b|c] will show + /// a the first time it is parsed, b the second and every subsequent time it will show c. + /// + /// This behaviour can be modified with certain characters at the start of the [], eg. [&a|b|c]; + /// - & does not hold the final element it wraps back around to the begining in a looping fashion + /// - ! does not hold the final element, it instead returns empty for the varying section + /// - ~ chooses a random element every time it is encountered + /// + public static class TextVariationHandler + { + static Dictionary hashedSections = new Dictionary(); + static StringBuilder sb = new StringBuilder(); + const string pattern = @"\[([^]]+?)\]"; + static Regex r = new Regex(pattern); + + private enum VaryType + { + Sequence, + Cycle, + Once, + Random + } + + static public string SelectVariations(string input) + { + sb.Length = 0; + sb.Append(input); + + // Match the regular expression pattern against a text string. + var results = r.Matches(input); + for (int i = 0; i < results.Count; i++) + { + Match match = results[i]; + + //determine type + VaryType t = VaryType.Sequence; + + var typedIndicatingChar = match.Value[1]; + switch (typedIndicatingChar) + { + case '~': + t = VaryType.Random; + break; + case '&': + t = VaryType.Cycle; + break; + case '!': + t = VaryType.Once; + break; + default: + break; + } + + //explode and remove the control char + int startSubStrIndex = t != VaryType.Sequence ? 2 : 1; + int subStrLen = match.Value.Length - 1 - startSubStrIndex; + var exploded = match.Value.Substring(startSubStrIndex, subStrLen).Split('|'); + string selected = string.Empty; + + //fetched hashed value + int index = -1; + int key = input.GetHashCode() ^ match.Value.GetHashCode(); + + int foundVal = 0; + if(hashedSections.TryGetValue(key, out foundVal)) + { + index = foundVal; + } + + index++; + + switch (t) + { + case VaryType.Sequence: + index = UnityEngine.Mathf.Min(index, exploded.Length - 1); + break; + case VaryType.Cycle: + index = index % exploded.Length; + break; + case VaryType.Once: + //clamp to 1 more than options + index = UnityEngine.Mathf.Min(index, exploded.Length); + break; + case VaryType.Random: + index = UnityEngine.Random.Range(0, exploded.Length - 1); + break; + default: + break; + } + + //update hashed value + hashedSections[key] = index; + + //selected updated if valid + if(index >=0 && index < exploded.Length) + selected = exploded[index]; + + + sb.Replace(match.Value, selected); + } + + return sb.ToString(); + } + } +} \ No newline at end of file diff --git a/Assets/Fungus/Scripts/Utils/TextVariationHandler.cs.meta b/Assets/Fungus/Scripts/Utils/TextVariationHandler.cs.meta new file mode 100644 index 00000000..80b05f01 --- /dev/null +++ b/Assets/Fungus/Scripts/Utils/TextVariationHandler.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: eb68f617801367f4dbfcd7f01911d7eb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FungusExamples/VariationText.meta b/Assets/FungusExamples/VariationText.meta new file mode 100644 index 00000000..c96affd9 --- /dev/null +++ b/Assets/FungusExamples/VariationText.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8ed4c59893b9d8043bfb0fdb06ae6ff5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FungusExamples/VariationText/TextVariation.unity b/Assets/FungusExamples/VariationText/TextVariation.unity new file mode 100644 index 00000000..26972784 --- /dev/null +++ b/Assets/FungusExamples/VariationText/TextVariation.unity @@ -0,0 +1,1341 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 10 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 0 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &205269089 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 110280, guid: c6289d5f8fa843145a2355af9cb09719, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 205269090} + - component: {fileID: 205269092} + - component: {fileID: 205269091} + m_Layer: 0 + m_Name: Offscreen Right + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &205269090 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22410278, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 205269089} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1544660787} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 1300, y: -1000} + m_SizeDelta: {x: 1000, y: 1000} + m_Pivot: {x: 0.5, y: 0} +--- !u!114 &205269091 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11410282, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 205269089} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: ea8f56c43254d41728f5ac4e8299b6c9, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &205269092 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22210276, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 205269089} +--- !u!1 &275029862 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100000, guid: b20518d45890e4be59ba82946f88026c, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 275029864} + - component: {fileID: 275029863} + m_Layer: 0 + m_Name: John + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &275029863 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11400000, guid: b20518d45890e4be59ba82946f88026c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 275029862} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25fb867d2049d41f597aefdd6b19f598, type: 3} + m_Name: + m_EditorClassIdentifier: + nameText: John + nameColor: {r: 1, g: 1, b: 1, a: 1} + soundEffect: {fileID: 0} + portraits: + - {fileID: 21300000, guid: 38ccc1258813909498d806f622c3edb6, type: 3} + - {fileID: 21300000, guid: 9ce6cf540ce2ece4dacce467ace3bca4, type: 3} + portraitsFace: 2 + setSayDialog: {fileID: 0} + description: +--- !u!4 &275029864 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400000, guid: b20518d45890e4be59ba82946f88026c, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 275029862} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &534534503 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 110270, guid: c6289d5f8fa843145a2355af9cb09719, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 534534504} + - component: {fileID: 534534506} + - component: {fileID: 534534505} + m_Layer: 0 + m_Name: Right + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &534534504 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22410270, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 534534503} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1544660787} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 460.43, y: -1000} + m_SizeDelta: {x: 1000, y: 1000} + m_Pivot: {x: 0.5, y: 0} +--- !u!114 &534534505 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11410270, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 534534503} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: ea8f56c43254d41728f5ac4e8299b6c9, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &534534506 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22210270, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 534534503} +--- !u!1 &599196444 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 110282, guid: c6289d5f8fa843145a2355af9cb09719, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 599196445} + - component: {fileID: 599196447} + - component: {fileID: 599196446} + m_Layer: 0 + m_Name: Left + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &599196445 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22410280, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 599196444} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1544660787} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -460.43, y: -1000} + m_SizeDelta: {x: 1000, y: 1000} + m_Pivot: {x: 0.5, y: 0} +--- !u!114 &599196446 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11410284, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 599196444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: ea8f56c43254d41728f5ac4e8299b6c9, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &599196447 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22210278, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 599196444} +--- !u!1 &1085130771 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 110272, guid: c6289d5f8fa843145a2355af9cb09719, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1085130772} + - component: {fileID: 1085130774} + - component: {fileID: 1085130773} + m_Layer: 0 + m_Name: Offscreen Left + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1085130772 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22410272, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1085130771} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1544660787} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -1300, y: -1000} + m_SizeDelta: {x: 1000, y: 1000} + m_Pivot: {x: 0.5, y: 0} +--- !u!114 &1085130773 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11410272, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1085130771} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: ea8f56c43254d41728f5ac4e8299b6c9, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1085130774 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22210272, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1085130771} +--- !u!1 &1226317641 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1226317643} + - component: {fileID: 1226317642} + m_Layer: 0 + m_Name: _FungusState + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1226317642 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1226317641} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 61dddfdc5e0e44ca298d8f46f7f5a915, type: 3} + m_Name: + m_EditorClassIdentifier: + selectedFlowchart: {fileID: 1755499606} +--- !u!4 &1226317643 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1226317641} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1290383786 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1290383790} + - component: {fileID: 1290383789} + - component: {fileID: 1290383788} + - component: {fileID: 1290383787} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1290383787 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1290383786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ForceModuleActive: 0 +--- !u!114 &1290383788 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1290383786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1290383789 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1290383786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1290383790 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1290383786} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 179.999, y: 179.999, z: 179.999} +--- !u!1 &1311069593 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 110278, guid: c6289d5f8fa843145a2355af9cb09719, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1311069594} + - component: {fileID: 1311069595} + - component: {fileID: 1311069596} + m_Layer: 0 + m_Name: Middle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1311069594 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22410276, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1311069593} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1544660787} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -1000} + m_SizeDelta: {x: 1000, y: 1000} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &1311069595 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22210274, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1311069593} +--- !u!114 &1311069596 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11410280, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1311069593} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: ea8f56c43254d41728f5ac4e8299b6c9, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!1 &1544660786 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 110276, guid: c6289d5f8fa843145a2355af9cb09719, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1544660787} + - component: {fileID: 1544660791} + - component: {fileID: 1544660790} + - component: {fileID: 1544660789} + - component: {fileID: 1544660788} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1544660787 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22410274, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1544660786} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1311069594} + - {fileID: 599196445} + - {fileID: 534534504} + - {fileID: 1085130772} + - {fileID: 205269090} + m_Father: {fileID: 2073331544} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!225 &1544660788 +CanvasGroup: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22510270, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1544660786} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!114 &1544660789 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11410276, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1544660786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1600, y: 1200} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 1 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!114 &1544660790 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11410278, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1544660786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!223 &1544660791 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22310270, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1544660786} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 1 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!1 &1726345438 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1726345443} + - component: {fileID: 1726345442} + - component: {fileID: 1726345441} + - component: {fileID: 1726345440} + - component: {fileID: 1726345439} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1726345439 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1726345438} + m_Enabled: 1 +--- !u!124 &1726345440 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1726345438} + m_Enabled: 1 +--- !u!92 &1726345441 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1726345438} + m_Enabled: 1 +--- !u!20 &1726345442 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1726345438} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1726345443 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1726345438} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1745642867 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100000, guid: b20518d45890e4be59ba82946f88026c, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1745642869} + - component: {fileID: 1745642868} + m_Layer: 0 + m_Name: Sherlock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1745642868 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11400000, guid: b20518d45890e4be59ba82946f88026c, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1745642867} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25fb867d2049d41f597aefdd6b19f598, type: 3} + m_Name: + m_EditorClassIdentifier: + nameText: Sherlock + nameColor: {r: 1, g: 1, b: 1, a: 1} + soundEffect: {fileID: 0} + portraits: + - {fileID: 21300000, guid: 5ba6e5e5e65bc084ba912d2d2d8718df, type: 3} + - {fileID: 21300000, guid: 7497fd82318972540af8666a234a9685, type: 3} + - {fileID: 21300000, guid: b9482ea03e69b5a4aa5e7827da354549, type: 3} + portraitsFace: 1 + setSayDialog: {fileID: 0} + description: +--- !u!4 &1745642869 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400000, guid: b20518d45890e4be59ba82946f88026c, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1745642867} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1755499605 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 142980, guid: 5e7fbc8d4eb714b279eeeef2262c1e1a, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1755499610} + - component: {fileID: 1755499606} + - component: {fileID: 1755499608} + - component: {fileID: 1755499609} + - component: {fileID: 1755499607} + - component: {fileID: 1755499611} + - component: {fileID: 1755499612} + - component: {fileID: 1755499613} + - component: {fileID: 1755499619} + - component: {fileID: 1755499614} + - component: {fileID: 1755499620} + - component: {fileID: 1755499618} + - component: {fileID: 1755499616} + - component: {fileID: 1755499617} + - component: {fileID: 1755499615} + m_Layer: 0 + m_Name: Flowchart + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1755499606 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11430050, guid: 5e7fbc8d4eb714b279eeeef2262c1e1a, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755499605} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a334fe2ffb574b3583ff3b18b4792d3, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 1 + scrollPos: {x: 321, y: 61.5} + variablesScrollPos: {x: 0, y: 0} + variablesExpanded: 1 + blockViewHeight: 400 + zoom: 1 + scrollViewRect: + serializedVersion: 2 + x: -343 + y: -340 + width: 1114 + height: 859 + selectedBlocks: [] + selectedCommands: [] + variables: [] + description: + stepPause: 0 + colorCommands: 1 + hideComponents: 1 + saveSelection: 1 + localizationId: + showLineNumbers: 0 + hideCommands: [] + luaEnvironment: {fileID: 0} + luaBindingName: flowchart +--- !u!114 &1755499607 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755499605} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f608b8c9fb3044200aac956492d8d586, type: 3} + m_Name: + m_EditorClassIdentifier: + itemId: 1 + indentLevel: 0 + conversationText: + stringRef: {fileID: 0} + stringVal: 'john calling-neutral left: [Good morning, it''s John|Hmm|Yes, still + here]. + + sherlock explaining right: [Who are you talking to?|Still at it, I see.] We + have a case to [~deal with|work|tend to|solve]. [!I''m right as rain.|Stop fussing + will you.]' + clearPrevious: + booleanRef: {fileID: 0} + booleanVal: 1 + waitForInput: + booleanRef: {fileID: 0} + booleanVal: 1 + waitForSeconds: + floatRef: {fileID: 0} + floatVal: 0 + fadeWhenDone: + booleanRef: {fileID: 0} + booleanVal: 1 +--- !u!114 &1755499608 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 11433304, guid: 5e7fbc8d4eb714b279eeeef2262c1e1a, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755499605} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3d3d73aef2cfc4f51abf34ac00241f60, type: 3} + m_Name: + m_EditorClassIdentifier: + nodeRect: + serializedVersion: 2 + x: -185 + y: 182 + width: 120 + height: 40 + tint: {r: 1, g: 1, b: 1, a: 1} + useCustomTint: 0 + itemId: 0 + blockName: Phone Call + description: + eventHandler: {fileID: 1755499609} + commandList: + - {fileID: 1755499611} + - {fileID: 1755499607} + - {fileID: 1755499612} + - {fileID: 1755499618} + - {fileID: 1755499613} +--- !u!114 &1755499609 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 11462346, guid: 5e7fbc8d4eb714b279eeeef2262c1e1a, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755499605} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d2f6487d21a03404cb21b245f0242e79, type: 3} + m_Name: + m_EditorClassIdentifier: + parentBlock: {fileID: 1755499608} + waitForFrames: 1 +--- !u!4 &1755499610 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 467082, guid: 5e7fbc8d4eb714b279eeeef2262c1e1a, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755499605} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1755499611 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755499605} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ea6e8f632db87477eb750446b28d73a3, type: 3} + m_Name: + m_EditorClassIdentifier: + itemId: 2 + indentLevel: 0 + commenterName: + commentText: Demonstraiting a range of uses for varying text, handled at the writer + and menu level, so it works the same way in conversations, says and menus +--- !u!114 &1755499612 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755499605} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ec422cd568a9c4a31ad7c36d0572b9da, type: 3} + m_Name: + m_EditorClassIdentifier: + itemId: 3 + indentLevel: 0 + storyText: '[&I''m not sure|He doesn''t seem to be doing well|Sherlock, please put + some pants on].' + description: + character: {fileID: 275029863} + portrait: {fileID: 0} + voiceOverClip: {fileID: 0} + showAlways: 1 + showCount: 1 + extendPrevious: 0 + fadeWhenDone: 1 + waitForClick: 1 + stopVoiceover: 1 + waitForVO: 0 + setSayDialog: {fileID: 0} +--- !u!114 &1755499613 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755499605} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 841589fc622bc494aa5405f416fa1301, type: 3} + m_Name: + m_EditorClassIdentifier: + itemId: 4 + indentLevel: 0 + text: '[I only just called but I could hang up|There was more to say, but + I hung up|I had to do this myself, now.]' + description: + targetBlock: {fileID: 1755499614} + hideIfVisited: 0 + interactable: + booleanRef: {fileID: 0} + booleanVal: 1 + setMenuDialog: {fileID: 0} + hideThisOption: + booleanRef: {fileID: 0} + booleanVal: 0 +--- !u!114 &1755499614 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755499605} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3d3d73aef2cfc4f51abf34ac00241f60, type: 3} + m_Name: + m_EditorClassIdentifier: + nodeRect: + serializedVersion: 2 + x: -18 + y: 230 + width: 120 + height: 40 + tint: {r: 1, g: 1, b: 1, a: 1} + useCustomTint: 0 + itemId: 6 + blockName: Hangup + description: + eventHandler: {fileID: 0} + commandList: + - {fileID: 1755499617} + - {fileID: 1755499616} + - {fileID: 1755499615} +--- !u!114 &1755499615 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755499605} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 207aecf668a0345388087ccf522f9957, type: 3} + m_Name: + m_EditorClassIdentifier: + itemId: 13 + indentLevel: 0 + duration: 1 + targetAlpha: 1 + waitUntilFinished: 1 + fadeColor: {r: 1, g: 1, b: 1, a: 1} + fadeTexture: {fileID: 0} +--- !u!114 &1755499616 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755499605} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ec422cd568a9c4a31ad7c36d0572b9da, type: 3} + m_Name: + m_EditorClassIdentifier: + itemId: 11 + indentLevel: 0 + storyText: Alright Sherlock, [~let's go through it again|seriously, pants|let's + sit down|let's get some breakfast and then get to the logic]. + description: + character: {fileID: 0} + portrait: {fileID: 0} + voiceOverClip: {fileID: 0} + showAlways: 1 + showCount: 1 + extendPrevious: 0 + fadeWhenDone: 1 + waitForClick: 1 + stopVoiceover: 1 + waitForVO: 0 + setSayDialog: {fileID: 0} +--- !u!114 &1755499617 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755499605} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3ac5ce55bc698fa4290939ef6e426501, type: 3} + m_Name: + m_EditorClassIdentifier: + itemId: 12 + indentLevel: 0 + display: 1 + stage: {fileID: 0} + character: {fileID: 275029863} + replacedCharacter: {fileID: 0} + portrait: {fileID: 21300000, guid: 9ce6cf540ce2ece4dacce467ace3bca4, type: 3} + offset: 0 + fromPosition: {fileID: 0} + toPosition: {fileID: 0} + facing: 0 + useDefaultSettings: 1 + fadeDuration: 0.5 + moveDuration: 1 + shiftOffset: {x: 0, y: 0} + move: 0 + shiftIntoPlace: 0 + waitUntilFinished: 0 +--- !u!114 &1755499618 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755499605} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 841589fc622bc494aa5405f416fa1301, type: 3} + m_Name: + m_EditorClassIdentifier: + itemId: 10 + indentLevel: 0 + text: '[I had to s|I should s|S]tay on the phone.' + description: + targetBlock: {fileID: 1755499619} + hideIfVisited: 0 + interactable: + booleanRef: {fileID: 0} + booleanVal: 1 + setMenuDialog: {fileID: 0} + hideThisOption: + booleanRef: {fileID: 0} + booleanVal: 0 +--- !u!114 &1755499619 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755499605} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3d3d73aef2cfc4f51abf34ac00241f60, type: 3} + m_Name: + m_EditorClassIdentifier: + nodeRect: + serializedVersion: 2 + x: -20 + y: 120 + width: 120 + height: 40 + tint: {r: 1, g: 1, b: 1, a: 1} + useCustomTint: 0 + itemId: 5 + blockName: LoopBack + description: + eventHandler: {fileID: 0} + commandList: + - {fileID: 1755499620} +--- !u!114 &1755499620 +MonoBehaviour: + m_ObjectHideFlags: 2 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755499605} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 050fb9e6e72f442b3b883da8a965bdeb, type: 3} + m_Name: + m_EditorClassIdentifier: + itemId: 9 + indentLevel: 0 + targetFlowchart: {fileID: 0} + targetBlock: {fileID: 1755499608} + startLabel: + stringRef: {fileID: 0} + stringVal: + startIndex: 0 + callMode: 0 +--- !u!1 &2073331542 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 110274, guid: c6289d5f8fa843145a2355af9cb09719, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2073331544} + - component: {fileID: 2073331543} + m_Layer: 0 + m_Name: Stage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2073331543 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11410274, guid: c6289d5f8fa843145a2355af9cb09719, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2073331542} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6f6478b25a400c642b2dee75f022ab12, type: 3} + m_Name: + m_EditorClassIdentifier: + portraitCanvas: {fileID: 1544660791} + dimPortraits: 1 + dimColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + fadeDuration: 0.75 + moveDuration: 1 + fadeEaseType: 4 + shiftOffset: {x: 0, y: 0} + defaultPosition: {fileID: 1311069596} + positions: + - {fileID: 599196445} + - {fileID: 1311069594} + - {fileID: 534534504} + - {fileID: 1085130772} + - {fileID: 205269090} +--- !u!4 &2073331544 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 410270, guid: c6289d5f8fa843145a2355af9cb09719, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2073331542} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1544660787} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/FungusExamples/VariationText/TextVariation.unity.meta b/Assets/FungusExamples/VariationText/TextVariation.unity.meta new file mode 100644 index 00000000..8a84b0b4 --- /dev/null +++ b/Assets/FungusExamples/VariationText/TextVariation.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7472e7497ac4ef84b888b1393faf2a30 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: