From e0d68454c726e83c7311aef8972fe616c9f8bf4e Mon Sep 17 00:00:00 2001 From: henrisel Date: Wed, 28 Jan 2026 15:33:14 +0200 Subject: [PATCH] cafe waiter npc has states, rotates notepad when spoken to --- .../Characters/AlienNPC.prefab | 2 +- .../Characters/CafeWaiterNPC.prefab | 21 +- .../Prefabs/ModelGeneration/Notepad.prefab | 382 ++++++++++++++++++ .../ModelGeneration/Notepad.prefab.meta | 7 + .../_PROJECT/Scenes/DeltaBuilding_base.unity | 4 +- .../ModeGeneration/NPCs/CafeWaiterNPC.cs | 60 ++- 6 files changed, 462 insertions(+), 14 deletions(-) create mode 100644 Assets/_PROJECT/Prefabs/ModelGeneration/Notepad.prefab create mode 100644 Assets/_PROJECT/Prefabs/ModelGeneration/Notepad.prefab.meta diff --git a/Assets/_PROJECT/Prefabs/ModelGeneration/Characters/AlienNPC.prefab b/Assets/_PROJECT/Prefabs/ModelGeneration/Characters/AlienNPC.prefab index 5a4d69e2..561b4a6d 100644 --- a/Assets/_PROJECT/Prefabs/ModelGeneration/Characters/AlienNPC.prefab +++ b/Assets/_PROJECT/Prefabs/ModelGeneration/Characters/AlienNPC.prefab @@ -167,7 +167,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 - m_PresetInfoIsWorld: 1 + m_PresetInfoIsWorld: 0 --- !u!114 &6105090838799004608 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/_PROJECT/Prefabs/ModelGeneration/Characters/CafeWaiterNPC.prefab b/Assets/_PROJECT/Prefabs/ModelGeneration/Characters/CafeWaiterNPC.prefab index fe14cb28..fc71c219 100644 --- a/Assets/_PROJECT/Prefabs/ModelGeneration/Characters/CafeWaiterNPC.prefab +++ b/Assets/_PROJECT/Prefabs/ModelGeneration/Characters/CafeWaiterNPC.prefab @@ -27,7 +27,7 @@ RectTransform: m_GameObject: {fileID: 1758614216652057599} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.00069064, y: 0.00069064, z: 0.00069064} + m_LocalScale: {x: 0.0006999999, y: 0.0007, z: 0.0007} m_ConstrainProportionsScale: 1 m_Children: - {fileID: 5759406807219530703} @@ -67,7 +67,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 21300000, guid: d6c8339abbe148d41922111b7cb9864b, type: 3} + m_Sprite: {fileID: 21300000, guid: 17982223378702040a834df4caad3f72, type: 3} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 @@ -139,7 +139,7 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 - m_AdditionalShaderChannelsFlag: 0 + m_AdditionalShaderChannelsFlag: 25 m_UpdateRectTransformForStandalone: 0 m_SortingLayerID: 0 m_SortingOrder: 0 @@ -166,7 +166,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 - m_PresetInfoIsWorld: 1 + m_PresetInfoIsWorld: 0 --- !u!114 &6105090838799004608 MonoBehaviour: m_ObjectHideFlags: 0 @@ -201,7 +201,12 @@ MonoBehaviour: mouthMovementDuration: 0.25 voiceLineKeys: - Chef/Ulrich_Serve - - Ulrich_Terribly_Sorry_1 + - Chef/Ulrich_Get_Correctly + - Chef/Ulrich_Excellent + - Chef/Ulrich_Terribly_Sorry_1 + notepadText: {fileID: 0} + notepadTransform: {fileID: 0} + fmodWhisperBridge: {fileID: 0} --- !u!114 &7699707098595015193 MonoBehaviour: m_ObjectHideFlags: 0 @@ -495,8 +500,8 @@ RectTransform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7802421088258943189} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -0} - m_LocalScale: {x: 4.2348323, y: 4.2348323, z: 4.2348323} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2.7376072, y: 2.7376072, z: 2.7376072} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 6822286665445551211} @@ -504,7 +509,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 82, y: -129} + m_AnchoredPosition: {x: -40, y: 502} m_SizeDelta: {x: 100, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7165916293981694318 diff --git a/Assets/_PROJECT/Prefabs/ModelGeneration/Notepad.prefab b/Assets/_PROJECT/Prefabs/ModelGeneration/Notepad.prefab new file mode 100644 index 00000000..8f6ef960 --- /dev/null +++ b/Assets/_PROJECT/Prefabs/ModelGeneration/Notepad.prefab @@ -0,0 +1,382 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &979614700714130917 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3023432705630200141} + - component: {fileID: 3055257777574419390} + - component: {fileID: 7189159933158353762} + - component: {fileID: 614281684518201386} + m_Layer: 0 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3023432705630200141 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 979614700714130917} + m_LocalRotation: {x: -0, y: 0.70710707, z: -0, w: 0.70710653} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.001, y: 0.001, z: 0.001} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2812157370432292857} + m_Father: {fileID: 9079884296988335863} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: -0.0086, y: 0} + m_SizeDelta: {x: 137.33, y: 229.1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &3055257777574419390 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 979614700714130917} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &7189159933158353762 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 979614700714130917} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 1 +--- !u!114 &614281684518201386 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 979614700714130917} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!1 &1355598269556734330 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1769640162034330459} + - component: {fileID: 1318497791235312194} + - component: {fileID: 7974331578630898212} + - component: {fileID: 377452077737642628} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1769640162034330459 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1355598269556734330} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.01, y: 0.25, z: 0.15} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 9079884296988335863} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &1318497791235312194 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1355598269556734330} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &7974331578630898212 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1355598269556734330} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &377452077737642628 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1355598269556734330} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &6218887849178989702 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9079884296988335863} + m_Layer: 0 + m_Name: Notepad + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9079884296988335863 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6218887849178989702} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1769640162034330459} + - {fileID: 3023432705630200141} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6851966439307972351 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2812157370432292857} + - component: {fileID: 8859962576470879954} + - component: {fileID: 8938359156153031932} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2812157370432292857 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6851966439307972351} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3023432705630200141} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 138.6, y: 229.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8859962576470879954 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6851966439307972351} + m_CullTransparentMesh: 1 +--- !u!114 &8938359156153031932 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6851966439307972351} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: ' + +' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 254d33525bc3919439f569ea33703c5b, type: 2} + m_sharedMaterial: {fileID: 4369893532151414794, guid: 254d33525bc3919439f569ea33703c5b, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 20 + m_fontSizeBase: 20 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/_PROJECT/Prefabs/ModelGeneration/Notepad.prefab.meta b/Assets/_PROJECT/Prefabs/ModelGeneration/Notepad.prefab.meta new file mode 100644 index 00000000..9c8fb6ed --- /dev/null +++ b/Assets/_PROJECT/Prefabs/ModelGeneration/Notepad.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 71790bfc168aa0a45ba1b3bdf8f13132 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_PROJECT/Scenes/DeltaBuilding_base.unity b/Assets/_PROJECT/Scenes/DeltaBuilding_base.unity index 31a84ebf..1bcdc1a3 100644 --- a/Assets/_PROJECT/Scenes/DeltaBuilding_base.unity +++ b/Assets/_PROJECT/Scenes/DeltaBuilding_base.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8620527e88baf86d382f49b07ff3eb1ca95263bcf1d54e56cbd1b31a6f6be4ac -size 67946801 +oid sha256:bf38c29ca03fce360c1a59163bedceb83c2c2c16997d1feada09fbe14fd94ed8 +size 67952102 diff --git a/Assets/_PROJECT/Scripts/ModeGeneration/NPCs/CafeWaiterNPC.cs b/Assets/_PROJECT/Scripts/ModeGeneration/NPCs/CafeWaiterNPC.cs index 372c0db2..ee6a4338 100644 --- a/Assets/_PROJECT/Scripts/ModeGeneration/NPCs/CafeWaiterNPC.cs +++ b/Assets/_PROJECT/Scripts/ModeGeneration/NPCs/CafeWaiterNPC.cs @@ -1,16 +1,70 @@ -using System.Collections; -using System.Collections.Generic; +using DG.Tweening; +using TMPro; using UnityEngine; public class CafeWaiterNPC : NPCController { + public TextMeshProUGUI notepadText; + public Transform notepadTransform; + public FMODWhisperBridge fmodWhisperBridge; + + private Vector3 notepadOriginalRotation; + private Vector3 notepadFlippedRotation; + + // states: + // 0 - waiting for player order + // 1 - waiting for player to answer "is this correct?" + // 2 - bringing food + private int state; + + private void Awake() + { + state = 0; + } + + private void Start() + { + fmodWhisperBridge.OnWhisperResultProcessed += ProcessPlayerSpeech; + + notepadOriginalRotation = notepadTransform.localRotation.eulerAngles; + notepadFlippedRotation = notepadOriginalRotation + new Vector3(0, 180, 0); + } + protected override void OnPlayerApproach() { AudioManager.Instance.PlayDialogue(voiceLineKeys[0], gameObject); + fmodWhisperBridge.ActivateRecording(); } protected override void OnPlayerLeave() { - AudioManager.Instance.PlayDialogue(voiceLineKeys[1], gameObject); + //AudioManager.Instance.PlayDialogue(voiceLineKeys[1], gameObject); + fmodWhisperBridge.DeactivateRecording(); + } + + private void ProcessPlayerSpeech(string playerText) + { + if (state == 0) + { + // Show transcription and ask whether it is correct + notepadText.text = playerText; + notepadTransform.DOLocalRotate(notepadFlippedRotation, 0.5f); + AudioManager.Instance.PlayDialogue(voiceLineKeys[1], gameObject); + state = 1; + } else if (state == 1) + { + // Flip notepad back + notepadTransform.DOLocalRotate(notepadOriginalRotation, 0.5f); + // if player answered positively, bring food, otherwise ask again + if (playerText.ToLower().Contains("yes")) + { + AudioManager.Instance.PlayDialogue(voiceLineKeys[2], gameObject); + state = 2; + } else + { + AudioManager.Instance.PlayDialogue(voiceLineKeys[3], gameObject); + state = 0; + } + } } }