diff --git a/320UnityProject/Assets/Prefabs/Dialogue/DialoguePanel.prefab b/320UnityProject/Assets/Prefabs/Dialogue/DialoguePanel.prefab index 4d22bba..f9fef3e 100644 --- a/320UnityProject/Assets/Prefabs/Dialogue/DialoguePanel.prefab +++ b/320UnityProject/Assets/Prefabs/Dialogue/DialoguePanel.prefab @@ -157,7 +157,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: -2} - m_SizeDelta: {x: 500, y: 40} + m_SizeDelta: {x: 480, y: 40} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8085800207596840679 CanvasRenderer: diff --git a/320UnityProject/Assets/Scenes/Prototype scenes/Dead's GreyBox.unity b/320UnityProject/Assets/Scenes/Prototype scenes/Dead's GreyBox.unity index 0c4b80a..1ad2908 100644 --- a/320UnityProject/Assets/Scenes/Prototype scenes/Dead's GreyBox.unity +++ b/320UnityProject/Assets/Scenes/Prototype scenes/Dead's GreyBox.unity @@ -256,6 +256,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: dialogueUIPrefab: {fileID: 4093843948648021414, guid: 25357f13f39a025438a8bcba440e103b, type: 3} + infoPannelPrefab: {fileID: 6645276890318459487, guid: 51b4f4206bcc56c49a44f5ce7b98b561, type: 3} choiceParentPrefab: {fileID: 4045703632978157169, guid: 2ff43316bce107744b16a302560809d6, type: 3} eventSystem: {fileID: 2043946777} --- !u!4 &14891216 @@ -1731,10 +1732,46 @@ PrefabInstance: propertyPath: m_Name value: chestObject objectReference: {fileID: 0} + - target: {fileID: 3128096821334287213, guid: 31d4563691855eb4b87918050a68da59, type: 3} + propertyPath: isEndpointEvent + value: 1 + objectReference: {fileID: 0} - target: {fileID: 3128096821334287213, guid: 31d4563691855eb4b87918050a68da59, type: 3} propertyPath: endpointDialogue value: used the key. Found a letter objectReference: {fileID: 0} + - target: {fileID: 3128096821334287213, guid: 31d4563691855eb4b87918050a68da59, type: 3} + propertyPath: onEndpoint.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3128096821334287213, guid: 31d4563691855eb4b87918050a68da59, type: 3} + propertyPath: onEndpoint.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 3128096821334287213, guid: 31d4563691855eb4b87918050a68da59, type: 3} + propertyPath: onEndpoint.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 6661306661222431264} + - target: {fileID: 3128096821334287213, guid: 31d4563691855eb4b87918050a68da59, type: 3} + propertyPath: onEndpoint.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 3128096821334287213, guid: 31d4563691855eb4b87918050a68da59, type: 3} + propertyPath: onEndpoint.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: ChoosePathString + objectReference: {fileID: 0} + - target: {fileID: 3128096821334287213, guid: 31d4563691855eb4b87918050a68da59, type: 3} + propertyPath: onEndpoint.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: DialogueDisplay, Assembly-CSharp + objectReference: {fileID: 0} + - target: {fileID: 3128096821334287213, guid: 31d4563691855eb4b87918050a68da59, type: 3} + propertyPath: onEndpoint.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument + value: 1letter + objectReference: {fileID: 0} + - target: {fileID: 3128096821334287213, guid: 31d4563691855eb4b87918050a68da59, type: 3} + propertyPath: onEndpoint.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} - target: {fileID: 7395938312844855585, guid: 31d4563691855eb4b87918050a68da59, type: 3} propertyPath: m_Constraints value: 126 @@ -1858,6 +1895,9 @@ MonoBehaviour: goingInside: 0 positionToLoad: {x: 0, y: 0, z: 0} locked: 0 + lockedEvent: + m_PersistentCalls: + m_Calls: [] --- !u!65 &1182978863 BoxCollider: m_ObjectHideFlags: 0 @@ -3392,6 +3432,10 @@ PrefabInstance: propertyPath: inkScript value: objectReference: {fileID: 4900000, guid: f1663b04fbd74a64bb7738cfba602f9f, type: 3} + - target: {fileID: 9016890536702456913, guid: 6790864b4f1ae054ca9f45a664bb8d02, type: 3} + propertyPath: choicePrefab + value: + objectReference: {fileID: 3856283038282802624, guid: 677ba264c0e591f46822e829268723f2, type: 3} - target: {fileID: 9016890536702456913, guid: 6790864b4f1ae054ca9f45a664bb8d02, type: 3} propertyPath: speakerSprite value: @@ -3405,6 +3449,17 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 6790864b4f1ae054ca9f45a664bb8d02, type: 3} +--- !u!114 &6661306661222431264 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 9016890536702456913, guid: 6790864b4f1ae054ca9f45a664bb8d02, type: 3} + m_PrefabInstance: {fileID: 6661306661222431263} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 662c9669254b92140b6ffec2e5ec6198, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 diff --git a/320UnityProject/Assets/Scenes/Prototype scenes/DectectiveAgency.unity b/320UnityProject/Assets/Scenes/Prototype scenes/DectectiveAgency.unity index e8cac5a..c62e2fd 100644 --- a/320UnityProject/Assets/Scenes/Prototype scenes/DectectiveAgency.unity +++ b/320UnityProject/Assets/Scenes/Prototype scenes/DectectiveAgency.unity @@ -467,7 +467,7 @@ MonoBehaviour: inkScript: {fileID: 4900000, guid: 9fb30a71747196c4fb4a3a7328e1fda5, type: 3} lines: [] gameManager: {fileID: 0} - alreadySeen: 0 + alreadySeen: -1 playerScript: {fileID: 0} infoPanel: {fileID: 0} --- !u!114 &64336018 stripped @@ -983,14 +983,14 @@ MonoBehaviour: m_Calls: - m_Target: {fileID: 64336015} m_TargetAssemblyTypeName: DialogueDisplay, Assembly-CSharp - m_MethodName: ChooseChoiceIndex - m_Mode: 3 + m_MethodName: ChoosePathString + m_Mode: 5 m_Arguments: m_ObjectArgument: {fileID: 0} m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine m_IntArgument: 0 m_FloatArgument: 0 - m_StringArgument: + m_StringArgument: keys m_BoolArgument: 0 m_CallState: 2 isEndpointEvent: 0 @@ -2710,14 +2710,14 @@ MonoBehaviour: m_Calls: - m_Target: {fileID: 64336015} m_TargetAssemblyTypeName: DialogueDisplay, Assembly-CSharp - m_MethodName: ChooseChoiceIndex - m_Mode: 3 + m_MethodName: ChoosePathString + m_Mode: 5 m_Arguments: m_ObjectArgument: {fileID: 0} m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine m_IntArgument: 0 m_FloatArgument: 0 - m_StringArgument: + m_StringArgument: remember m_BoolArgument: 0 m_CallState: 2 --- !u!4 &973223645 @@ -4543,7 +4543,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7685249071450483770, guid: d2681751ed0e59c489d4ddc7c647ab44, type: 3} propertyPath: onEnter.m_PersistentCalls.m_Calls.Array.data[0].m_Mode - value: 3 + value: 5 objectReference: {fileID: 0} - target: {fileID: 7685249071450483770, guid: d2681751ed0e59c489d4ddc7c647ab44, type: 3} propertyPath: onEnter.m_PersistentCalls.m_Calls.Array.data[0].m_Target @@ -4555,12 +4555,16 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7685249071450483770, guid: d2681751ed0e59c489d4ddc7c647ab44, type: 3} propertyPath: onEnter.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName - value: ChooseChoiceIndex + value: ChoosePathString objectReference: {fileID: 0} - target: {fileID: 7685249071450483770, guid: d2681751ed0e59c489d4ddc7c647ab44, type: 3} propertyPath: onEnter.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName value: DialogueDisplay, Assembly-CSharp objectReference: {fileID: 0} + - target: {fileID: 7685249071450483770, guid: d2681751ed0e59c489d4ddc7c647ab44, type: 3} + propertyPath: onEnter.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument + value: storage_door + objectReference: {fileID: 0} - target: {fileID: 7685249071450483770, guid: d2681751ed0e59c489d4ddc7c647ab44, type: 3} propertyPath: onEnter.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName value: UnityEngine.Object, UnityEngine @@ -7398,10 +7402,22 @@ PrefabInstance: propertyPath: m_Name value: Door1 objectReference: {fileID: 0} + - target: {fileID: 799228954589078042, guid: 4a4221006aae5854b88e58edca5f0a1b, type: 3} + propertyPath: onEndpoint.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 5 + objectReference: {fileID: 0} - target: {fileID: 799228954589078042, guid: 4a4221006aae5854b88e58edca5f0a1b, type: 3} propertyPath: onEndpoint.m_PersistentCalls.m_Calls.Array.data[0].m_Target value: objectReference: {fileID: 64336015} + - target: {fileID: 799228954589078042, guid: 4a4221006aae5854b88e58edca5f0a1b, type: 3} + propertyPath: onEndpoint.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: ChoosePathString + objectReference: {fileID: 0} + - target: {fileID: 799228954589078042, guid: 4a4221006aae5854b88e58edca5f0a1b, type: 3} + propertyPath: onEndpoint.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument + value: storage + objectReference: {fileID: 0} - target: {fileID: 5444824671652310955, guid: 4a4221006aae5854b88e58edca5f0a1b, type: 3} propertyPath: m_LocalPosition.x value: -11.52 @@ -7459,13 +7475,49 @@ PrefabInstance: propertyPath: cameraController value: objectReference: {fileID: 1124417050} + - target: {fileID: 689097347558772711, guid: 75815bf93aa5bc349b917dff8f9f5c04, type: 3} + propertyPath: onEnter.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 689097347558772711, guid: 75815bf93aa5bc349b917dff8f9f5c04, type: 3} + propertyPath: onEnter.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 5 + objectReference: {fileID: 0} - target: {fileID: 689097347558772711, guid: 75815bf93aa5bc349b917dff8f9f5c04, type: 3} propertyPath: onEnter.m_PersistentCalls.m_Calls.Array.data[0].m_Target value: objectReference: {fileID: 64336015} + - target: {fileID: 689097347558772711, guid: 75815bf93aa5bc349b917dff8f9f5c04, type: 3} + propertyPath: onEnter.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 689097347558772711, guid: 75815bf93aa5bc349b917dff8f9f5c04, type: 3} + propertyPath: onEnter.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: ChoosePathString + objectReference: {fileID: 0} + - target: {fileID: 689097347558772711, guid: 75815bf93aa5bc349b917dff8f9f5c04, type: 3} + propertyPath: onEnter.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: DialogueDisplay, Assembly-CSharp + objectReference: {fileID: 0} + - target: {fileID: 689097347558772711, guid: 75815bf93aa5bc349b917dff8f9f5c04, type: 3} + propertyPath: onEnter.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument + value: storage_storage + objectReference: {fileID: 0} + - target: {fileID: 689097347558772711, guid: 75815bf93aa5bc349b917dff8f9f5c04, type: 3} + propertyPath: onEnter.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 2783402992089816728, guid: 75815bf93aa5bc349b917dff8f9f5c04, type: 3} + propertyPath: m_LocalScale.x + value: 10.9236 + objectReference: {fileID: 0} - target: {fileID: 2783402992089816728, guid: 75815bf93aa5bc349b917dff8f9f5c04, type: 3} propertyPath: m_LocalScale.y - value: 18.70808 + value: 24.70808 + objectReference: {fileID: 0} + - target: {fileID: 2783402992089816728, guid: 75815bf93aa5bc349b917dff8f9f5c04, type: 3} + propertyPath: m_LocalScale.z + value: 10.76012 objectReference: {fileID: 0} - target: {fileID: 2783402992089816728, guid: 75815bf93aa5bc349b917dff8f9f5c04, type: 3} propertyPath: m_LocalPosition.x diff --git a/320UnityProject/Assets/Scenes/Prototype scenes/LilypadLand.unity b/320UnityProject/Assets/Scenes/Prototype scenes/LilypadLand.unity index 99a9341..f8aa345 100644 --- a/320UnityProject/Assets/Scenes/Prototype scenes/LilypadLand.unity +++ b/320UnityProject/Assets/Scenes/Prototype scenes/LilypadLand.unity @@ -7567,10 +7567,22 @@ MonoBehaviour: endpointDialogue: isDialogue: 1 dialogue: The Autopsy, it says the frog died from an unknown poison - isEvent: 0 + isEvent: 1 onInteract: m_PersistentCalls: - m_Calls: [] + m_Calls: + - m_Target: {fileID: 8051805830699530867} + m_TargetAssemblyTypeName: DialogueDisplay, Assembly-CSharp + m_MethodName: ChoosePathString + m_Mode: 5 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: autopsy + m_BoolArgument: 0 + m_CallState: 2 isEndpointEvent: 0 onEndpoint: m_PersistentCalls: @@ -8019,6 +8031,38 @@ PrefabInstance: propertyPath: sceneToLoad value: VillageHouse2 objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 8051805830699530867} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: ChoosePathString + objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: DialogueDisplay, Assembly-CSharp + objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument + value: n1locked + objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -8029,6 +8073,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 2124851355901087354, guid: e659517771621ea4090f875b75a80dbe, type: 3} m_PrefabInstance: {fileID: 422474218} m_PrefabAsset: {fileID: 0} +--- !u!114 &422474220 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + m_PrefabInstance: {fileID: 422474218} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2c11c03d302aac8448055e99da5f1195, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!4 &424813567 stripped Transform: m_CorrespondingSourceObject: {fileID: 6255888950009317798, guid: 1bc6c7a70a0ea6d419dd57e4d0aa5e63, type: 3} @@ -8852,6 +8907,11 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 1bc6c7a70a0ea6d419dd57e4d0aa5e63, type: 3} +--- !u!4 &466524605 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 6255888950009317798, guid: 1bc6c7a70a0ea6d419dd57e4d0aa5e63, type: 3} + m_PrefabInstance: {fileID: 466524604} + m_PrefabAsset: {fileID: 0} --- !u!4 &470384127 stripped Transform: m_CorrespondingSourceObject: {fileID: 8450104360506160470, guid: 0bbb7bf5cae084d47b887f7d3358e676, type: 3} @@ -12017,63 +12077,6 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 1bc6c7a70a0ea6d419dd57e4d0aa5e63, type: 3} ---- !u!1001 &660852563 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 777227987316818067, guid: 6c7bf31f25ba3cf4a810a49fde0f7e2e, type: 3} - propertyPath: m_LocalPosition.x - value: -51.243427 - objectReference: {fileID: 0} - - target: {fileID: 777227987316818067, guid: 6c7bf31f25ba3cf4a810a49fde0f7e2e, type: 3} - propertyPath: m_LocalPosition.y - value: 0.4209495 - objectReference: {fileID: 0} - - target: {fileID: 777227987316818067, guid: 6c7bf31f25ba3cf4a810a49fde0f7e2e, type: 3} - propertyPath: m_LocalPosition.z - value: 16.170134 - objectReference: {fileID: 0} - - target: {fileID: 777227987316818067, guid: 6c7bf31f25ba3cf4a810a49fde0f7e2e, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 777227987316818067, guid: 6c7bf31f25ba3cf4a810a49fde0f7e2e, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 777227987316818067, guid: 6c7bf31f25ba3cf4a810a49fde0f7e2e, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 777227987316818067, guid: 6c7bf31f25ba3cf4a810a49fde0f7e2e, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 777227987316818067, guid: 6c7bf31f25ba3cf4a810a49fde0f7e2e, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 777227987316818067, guid: 6c7bf31f25ba3cf4a810a49fde0f7e2e, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 777227987316818067, guid: 6c7bf31f25ba3cf4a810a49fde0f7e2e, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6210911344382872104, guid: 6c7bf31f25ba3cf4a810a49fde0f7e2e, type: 3} - propertyPath: m_Name - value: Player - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 6c7bf31f25ba3cf4a810a49fde0f7e2e, type: 3} --- !u!4 &661180932 stripped Transform: m_CorrespondingSourceObject: {fileID: 6255888950009317798, guid: 1bc6c7a70a0ea6d419dd57e4d0aa5e63, type: 3} @@ -23407,7 +23410,6 @@ Transform: - {fileID: 1944216934} - {fileID: 492436067} - {fileID: 525360271} - - {fileID: 1651358907} - {fileID: 485361236} - {fileID: 1572068115} - {fileID: 79347664} @@ -23418,6 +23420,7 @@ Transform: - {fileID: 4559885} - {fileID: 192740812} - {fileID: 1521312099} + - {fileID: 466524605} m_Father: {fileID: 4567627356145099624} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1308286669 @@ -24122,10 +24125,6 @@ MonoBehaviour: sightRange: 30 updateOnlyOnMove: 0 lastSeenAt: {x: 0, y: 0} - - revealerTransform: {fileID: 1451275699} - sightRange: 20 - updateOnlyOnMove: 0 - lastSeenAt: {x: 0, y: 0} - revealerTransform: {fileID: 1140480609} sightRange: 30 updateOnlyOnMove: 0 @@ -24494,6 +24493,16 @@ MonoBehaviour: inventoryUI: {fileID: 0} camera: {fileID: 1827368613} interactArea: {fileID: 4906939340352541852, guid: 964ceca8c5086224a92e89ea6339cec6, type: 3} + dialogueUIPrefab: {fileID: 4093843948648021414, guid: 25357f13f39a025438a8bcba440e103b, type: 3} + infoPannelPrefab: {fileID: 6645276890318459487, guid: 51b4f4206bcc56c49a44f5ce7b98b561, type: 3} + choiceParentPrefab: {fileID: 4045703632978157169, guid: 2ff43316bce107744b16a302560809d6, type: 3} + eventSystem: {fileID: 8051805830699530865} + fogWar: {fileID: 1351261697} + letterScript: {fileID: 4900000, guid: f1663b04fbd74a64bb7738cfba602f9f, type: 3} + villageDoors: + - {fileID: 422474220} + - {fileID: 2131623558} + - {fileID: 1948764821} --- !u!4 &1373018628 Transform: m_ObjectHideFlags: 0 @@ -26109,11 +26118,6 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: c005e6b01851f924898262144e3be8f4, type: 3} ---- !u!4 &1451275699 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 777227987316818067, guid: 6c7bf31f25ba3cf4a810a49fde0f7e2e, type: 3} - m_PrefabInstance: {fileID: 660852563} - m_PrefabAsset: {fileID: 0} --- !u!1001 &1452354611 PrefabInstance: m_ObjectHideFlags: 0 @@ -35751,6 +35755,38 @@ PrefabInstance: propertyPath: sceneToLoad value: VillageHouse3 objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 8051805830699530867} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: ChoosePathString + objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: DialogueDisplay, Assembly-CSharp + objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument + value: n1locked + objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -35761,6 +35797,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 2124851355901087354, guid: e659517771621ea4090f875b75a80dbe, type: 3} m_PrefabInstance: {fileID: 1948764819} m_PrefabAsset: {fileID: 0} +--- !u!114 &1948764821 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + m_PrefabInstance: {fileID: 1948764819} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2c11c03d302aac8448055e99da5f1195, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1949468493 PrefabInstance: m_ObjectHideFlags: 0 @@ -39124,6 +39171,38 @@ PrefabInstance: propertyPath: sceneToLoad value: VillageHouse1 objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 8051805830699530867} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: ChoosePathString + objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: DialogueDisplay, Assembly-CSharp + objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument + value: n1locked + objectReference: {fileID: 0} + - target: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + propertyPath: lockedEvent.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -39134,6 +39213,17 @@ Transform: m_CorrespondingSourceObject: {fileID: 2124851355901087354, guid: e659517771621ea4090f875b75a80dbe, type: 3} m_PrefabInstance: {fileID: 2131623556} m_PrefabAsset: {fileID: 0} +--- !u!114 &2131623558 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7914486489613220404, guid: e659517771621ea4090f875b75a80dbe, type: 3} + m_PrefabInstance: {fileID: 2131623556} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2c11c03d302aac8448055e99da5f1195, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!4 &2132768157 stripped Transform: m_CorrespondingSourceObject: {fileID: 6255888950009317798, guid: 1bc6c7a70a0ea6d419dd57e4d0aa5e63, type: 3} @@ -40089,8 +40179,57 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 4505061064924364444, guid: e017ab7d4685dd549af610bcc5c53c20, type: 3} + insertIndex: 3 + addedObject: {fileID: 8051805830699530867} m_SourcePrefab: {fileID: 100100000, guid: e017ab7d4685dd549af610bcc5c53c20, type: 3} +--- !u!114 &8051805830699530865 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 6511680066849145292, guid: e017ab7d4685dd549af610bcc5c53c20, type: 3} + m_PrefabInstance: {fileID: 8051805830699530864} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8051805830699530866} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &8051805830699530866 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4505061064924364444, guid: e017ab7d4685dd549af610bcc5c53c20, type: 3} + m_PrefabInstance: {fileID: 8051805830699530864} + m_PrefabAsset: {fileID: 0} +--- !u!114 &8051805830699530867 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8051805830699530866} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 662c9669254b92140b6ffec2e5ec6198, type: 3} + m_Name: + m_EditorClassIdentifier: + dialogueBox: {fileID: 0} + speakerBox: {fileID: 0} + speakerSprite: {fileID: 21300000, guid: 3c60a14a6931c1d4e9e7aaa94dc2cadd, type: 3} + noSpeakerSprite: {fileID: 21300000, guid: 4783cd083fe4bda4fbfdb3d26bf2fa17, type: 3} + choiceParent: {fileID: 0} + choicePrefab: {fileID: 3856283038282802624, guid: 677ba264c0e591f46822e829268723f2, type: 3} + onStart: 0 + lockMovement: 1 + onEnd: + m_PersistentCalls: + m_Calls: [] + inkScript: {fileID: 4900000, guid: 8a8d0b20cb235094e92e95810b84e855, type: 3} + lines: [] + gameManager: {fileID: 0} + alreadySeen: -1 + pathChoice: -1 + playerScript: {fileID: 0} + infoPanel: {fileID: 0} --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 @@ -40114,8 +40253,4 @@ SceneRoots: - {fileID: 1473950728} - {fileID: 1027474420} - {fileID: 1850895196} - - {fileID: 660852563} - - {fileID: 3499845436486107089} - - {fileID: 1638102888} - - {fileID: 1676228965} - {fileID: 1650301967} diff --git a/320UnityProject/Assets/Scenes/Prototype scenes/VillageHouse2.unity b/320UnityProject/Assets/Scenes/Prototype scenes/VillageHouse2.unity index d709f8a..6835434 100644 --- a/320UnityProject/Assets/Scenes/Prototype scenes/VillageHouse2.unity +++ b/320UnityProject/Assets/Scenes/Prototype scenes/VillageHouse2.unity @@ -201,7 +201,7 @@ PrefabInstance: objectReference: {fileID: 406763739} - target: {fileID: 6700462618070240946, guid: f3594e632d12a034ab73324d924b6cd1, type: 3} propertyPath: dialogueString - value: You find a not underneath the plush it says "chair, coat rack, table"? + value: You find a note underneath the plush it says "chair, coat rack, table"? objectReference: {fileID: 0} - target: {fileID: 6700462618070240946, guid: f3594e632d12a034ab73324d924b6cd1, type: 3} propertyPath: 'orderSelect.Array.data[0]' @@ -3658,6 +3658,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: dialogueUIPrefab: {fileID: 4093843948648021414, guid: 25357f13f39a025438a8bcba440e103b, type: 3} + infoPannelPrefab: {fileID: 6645276890318459487, guid: 51b4f4206bcc56c49a44f5ce7b98b561, type: 3} + choiceParentPrefab: {fileID: 4045703632978157169, guid: 2ff43316bce107744b16a302560809d6, type: 3} playerSpawnPoint: {fileID: 1927056968} eventSystem: {fileID: 2102242981} --- !u!4 &1934069517 @@ -3917,19 +3919,56 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 4505061064924364444, guid: e017ab7d4685dd549af610bcc5c53c20, type: 3} + insertIndex: 3 + addedObject: {fileID: 2102242983} m_SourcePrefab: {fileID: 100100000, guid: e017ab7d4685dd549af610bcc5c53c20, type: 3} --- !u!114 &2102242981 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 6511680066849145292, guid: e017ab7d4685dd549af610bcc5c53c20, type: 3} m_PrefabInstance: {fileID: 2102242980} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} + m_GameObject: {fileID: 2102242982} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &2102242982 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4505061064924364444, guid: e017ab7d4685dd549af610bcc5c53c20, type: 3} + m_PrefabInstance: {fileID: 2102242980} + m_PrefabAsset: {fileID: 0} +--- !u!114 &2102242983 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2102242982} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 662c9669254b92140b6ffec2e5ec6198, type: 3} + m_Name: + m_EditorClassIdentifier: + dialogueBox: {fileID: 0} + speakerBox: {fileID: 0} + speakerSprite: {fileID: 21300000, guid: 3c60a14a6931c1d4e9e7aaa94dc2cadd, type: 3} + noSpeakerSprite: {fileID: 21300000, guid: 4783cd083fe4bda4fbfdb3d26bf2fa17, type: 3} + choiceParent: {fileID: 0} + choicePrefab: {fileID: 3856283038282802624, guid: 677ba264c0e591f46822e829268723f2, type: 3} + onStart: 0 + lockMovement: 1 + onEnd: + m_PersistentCalls: + m_Calls: [] + inkScript: {fileID: 0} + lines: [] + gameManager: {fileID: 0} + alreadySeen: -1 + playerScript: {fileID: 0} + infoPanel: {fileID: 0} --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 diff --git a/320UnityProject/Assets/Scripts/DialogueDisplay.cs b/320UnityProject/Assets/Scripts/DialogueDisplay.cs index 99c5a6c..8a74c72 100644 --- a/320UnityProject/Assets/Scripts/DialogueDisplay.cs +++ b/320UnityProject/Assets/Scripts/DialogueDisplay.cs @@ -81,13 +81,33 @@ public class DialogueDisplay : MonoBehaviour const float choiceDistance = 60; public GameManager gameManager; - public bool alreadySeen = false; + public int alreadySeen = -1; + int seeing = -1; + + public int pathChoice = -1; public Player playerScript; GameObject dialoguePanel; GameObject speakerPanel; Image panelImage; + + /// + /// The number of seconds infoPanel is visible until it starts fading out. + /// + private const float infoTime = 2; + + /// + /// The number of seconds it takes for infoPanel to completely disappear once it starts fading out. + /// + private const float infoFadeTime = 1; + public GameObject infoPanel; + private TextMeshProUGUI infoBox; + private Image infoImage; + private float infoAlpha; + private float infoTimer = 0; + private bool infoTiming = false; + float delayTimer = 0; Story inkStory; bool choosing = false; @@ -100,6 +120,8 @@ public class DialogueDisplay : MonoBehaviour // Start is called before the first frame update void Start() { + //SceneManager.sceneUnloaded += DestroyPanels; + playerScript = FindAnyObjectByType(); dialoguePanel = dialogueBox.transform.parent.gameObject; speakerPanel = speakerBox.transform.parent.gameObject; @@ -121,6 +143,26 @@ void Start() void Update() { delayTimer = Mathf.Max(0, delayTimer - Time.deltaTime); + + if (infoTiming && infoPanel != null) + { + if (infoTimer > 0) + { + infoTimer = Mathf.Max(0, infoTimer - Time.deltaTime); + if (infoTimer <= infoFadeTime) + { + infoImage.color -= new Color(0, 0, 0, Time.deltaTime * infoAlpha / infoFadeTime); + infoBox.color -= new Color(0, 0, 0, Time.deltaTime / infoFadeTime); + } + } + else if (infoPanel.activeSelf) + { + infoImage.color += new Color(0, 0, 0, infoAlpha - infoImage.color.a); + infoBox.color += new Color(0, 0, 0, 1 - infoBox.color.a); + infoPanel.SetActive(false); + infoTiming = false; + } + } } public void NextLine(InputAction.CallbackContext context) @@ -131,11 +173,35 @@ public void NextLine(InputAction.CallbackContext context) void NextLine() { - if (alreadySeen) + if (seeing >= 0 && alreadySeen >= seeing) { dialoguePanel.SetActive(false); return; } + string line = "-1"; + //Debug.Log("seeing: " + seeing); + if (seeing < 0) + { + seeing = alreadySeen + 1; + Debug.Log("seeing: " + seeing); + + if (alreadySeen >= Mathf.Max(0, inkStory.currentChoices.Count - 1)) + { + dialoguePanel.SetActive(false); + return; + } + + if (inkStory.canContinue) + line = inkStory.Continue(); + if (line == "0\n") + { + Debug.Log("testing"); + line = "-1"; + inkStory.ContinueMaximally(); + inkStory.ChooseChoiceIndex(seeing); + } + //inkStory.ChoosePath(inkStory.currentChoices[seeing].path); + } if (choosing || paused || (!inkStory.canContinue && inkStory.currentChoices.Count <= 0 && !dialoguePanel.activeSelf)) return; @@ -143,13 +209,16 @@ void NextLine() dialogueBox.fontSize = size0; dialogueBox.enableAutoSizing = autoSize0; - currentLine++; + //currentLine++; if (inkStory.canContinue) { if (lockMovement && playerScript.canMove) playerScript.canMove = false; - string line = inkStory.Continue(); + if (line == "-1") + line = inkStory.Continue(); + + Debug.Log("line: " + line); if (line.Length > 0) { string speaker = speakerBox.text; @@ -197,7 +266,7 @@ void NextLine() else if (inkStory.currentChoices.Count > 0) { List choices = inkStory.currentChoices; - if (choices.Count == 1 && choices[0].text == "0") + if (choices[0].text == "0") { HideDialogue(); paused = true; @@ -224,7 +293,8 @@ void NextLine() { HideDialogue(); - gameManager.RegisterDialogue(inkScript); + alreadySeen = Mathf.Max(alreadySeen, seeing); + gameManager.RegisterDialogue(inkScript, seeing); onEnd.Invoke(); } @@ -253,5 +323,57 @@ public void ChooseChoiceIndex(int index) NextLine(); } + public void ChoosePathString(string path) + { + int pathIndex; + if (int.TryParse(path.Substring(0, 1), out pathIndex)) + seeing = pathIndex; + else if (path.StartsWith('n') && path.Length >= 2 && int.TryParse(path.Substring(1, 1), out pathIndex)) + seeing = -pathIndex; + choosing = false; + paused = false; + for (int i = choiceParent.childCount - 1; i >= 0; i--) + Destroy(choiceParent.GetChild(i).gameObject); + inkStory.ChoosePathString(path); + if (pathChoice >= 0 && inkStory.currentChoices.Count > 0) + inkStory.ChooseChoiceIndex(pathChoice); + NextLine(); + } + + public void InfoSetup(GameObject infoPanelInstance) + { + infoPanel = infoPanelInstance; + if (infoPanel == null) + return; + + infoBox = infoPanel.transform.GetChild(0).GetComponent(); + infoImage = infoPanel.GetComponent(); + infoAlpha = infoImage.color.a; + infoPanel.SetActive(false); + } + + public void InfoText(string text) + { + if (dialoguePanel.activeSelf || infoPanel == null) + return; + + infoPanel.SetActive(true); + infoImage.color += new Color(0, 0, 0, infoAlpha - infoImage.color.a); + infoBox.color += new Color(0, 0, 0, 1 - infoBox.color.a); + infoBox.text = text; + infoTimer = infoTime + infoFadeTime; + infoTiming = true; + } + + public void DestroyPanels() + { + if (dialoguePanel != null) + Destroy(dialoguePanel); + if (infoPanel != null) + Destroy(infoPanel); + if (choiceParent != null) + Destroy(choiceParent.gameObject); + } + public void LoadScene(string sceneName) => SceneManager.LoadScene(sceneName); } diff --git a/320UnityProject/Assets/Scripts/GameManager.cs b/320UnityProject/Assets/Scripts/GameManager.cs index 49e1810..1b22f3f 100644 --- a/320UnityProject/Assets/Scripts/GameManager.cs +++ b/320UnityProject/Assets/Scripts/GameManager.cs @@ -24,7 +24,7 @@ public class GameManager : MonoBehaviour // Puzzle / progress tracking private Puzzle curPuzzle; private PuzzleTracker puzzleTracker; // Attach to this game object - private List seenDialogue; + private Dictionary seenDialogue; private string filePath; public GameObject pauseMenu; @@ -48,7 +48,7 @@ private void Awake() void Start() { puzzleTracker = GetComponent(); - seenDialogue = new List(); + seenDialogue = new Dictionary(); filePath = Path.Combine(Application.streamingAssetsPath, "PlayerSaveData"); } @@ -186,12 +186,22 @@ private void PuzzleInitFromSceneCheck(string sceneName) } } - public void RegisterDialogue(TextAsset dialogue) + public void RegisterDialogue(TextAsset dialogue, int index = 0) { - if (!seenDialogue.Contains(dialogue)) - seenDialogue.Add(dialogue); + if (index < 0) + return; + + if (!seenDialogue.ContainsKey(dialogue)) + seenDialogue.Add(dialogue, index); + if (seenDialogue[dialogue] < index) + seenDialogue[dialogue] = index; + } + public int ContainsDialogue(TextAsset dialogue) + { + if (seenDialogue.ContainsKey(dialogue)) + return seenDialogue[dialogue]; + return -1; } - public bool ContainsDialogue(TextAsset dialogue) => seenDialogue.Contains(dialogue); public void OnOpenMenu(InputAction.CallbackContext context) { diff --git a/320UnityProject/Assets/Scripts/SceneControllers/AgencySceneController.cs b/320UnityProject/Assets/Scripts/SceneControllers/AgencySceneController.cs index 5fcb92d..89589b4 100644 --- a/320UnityProject/Assets/Scripts/SceneControllers/AgencySceneController.cs +++ b/320UnityProject/Assets/Scripts/SceneControllers/AgencySceneController.cs @@ -75,8 +75,7 @@ private void Awake() dpDisplay.choiceParent = choiceParent.transform; dpDisplay.gameManager = gameManager; - if (gameManager.ContainsDialogue(dpDisplay.inkScript)) - dpDisplay.alreadySeen = true; + dpDisplay.alreadySeen = gameManager.ContainsDialogue(dpDisplay.inkScript); // Getting the different text components in the dialogue pannel ans assinging them TextMeshProUGUI[] textsInChild = dialogueUIInstance.GetComponentsInChildren(); @@ -90,11 +89,12 @@ private void Awake() UIController uiController = eventSystem.GetComponent(); uiController.infoBox = infoPannelInstance.GetComponentInChildren(); - dpDisplay.infoPanel = infoPannelInstance; + dpDisplay.InfoSetup(infoPannelInstance); // Player dialogue reference playerInstance.GetComponent().dialogueDisplay = dpDisplay; - playerInstance.transform.GetChild(0).GetComponent().InfoSetup(infoPannelInstance); + playerInstance.transform.GetChild(0).GetComponent().dialogueDisplay = dpDisplay; + //playerInstance.transform.GetChild(0).GetComponent().InfoSetup(infoPannelInstance); } //interactArea.playerScript = playerInstance.GetComponent(); diff --git a/320UnityProject/Assets/Scripts/SceneControllers/DeadsGreyBoxSceneController.cs b/320UnityProject/Assets/Scripts/SceneControllers/DeadsGreyBoxSceneController.cs index 98e6668..9e8c964 100644 --- a/320UnityProject/Assets/Scripts/SceneControllers/DeadsGreyBoxSceneController.cs +++ b/320UnityProject/Assets/Scripts/SceneControllers/DeadsGreyBoxSceneController.cs @@ -11,6 +11,7 @@ public class DeadsGreyBoxSceneController : MonoBehaviour private GameManager gameManager; [SerializeField] private GameObject dialogueUIPrefab; + [SerializeField] private GameObject infoPannelPrefab; [SerializeField] private GameObject choiceParentPrefab; [SerializeField] private EventSystem eventSystem; private Canvas canvas; @@ -42,8 +43,7 @@ private void Awake() dpDisplay.choiceParent = choiceParent.transform; dpDisplay.gameManager = gameManager; - if (gameManager.ContainsDialogue(dpDisplay.inkScript)) - dpDisplay.alreadySeen = true; + dpDisplay.alreadySeen = gameManager.ContainsDialogue(dpDisplay.inkScript); // Getting the different text components in the dialogue pannel ans assinging them TextMeshProUGUI[] textsInChild = dialogueUIInstance.GetComponentsInChildren(); @@ -52,20 +52,23 @@ private void Awake() // Section of code that was not in main (Checking if we still need this) // Info pannel / UI controller - /* + GameObject infoPannelInstance = Instantiate(infoPannelPrefab, canvas.transform); infoPannelInstance.layer = LayerMask.NameToLayer("UI"); infoPannelInstance.SetActive(true); + dpDisplay.InfoSetup(infoPannelInstance); + /* UIController uiController = eventSystem.GetComponent(); uiController.infoBox = infoPannelInstance.GetComponentInChildren(); */ // Player dialogue reference Player player = GameObject.FindWithTag("Player").GetComponent(); player.dialogueDisplay = dpDisplay; + player.transform.GetChild(0).GetComponent().dialogueDisplay = dpDisplay; //player.transform.GetChild(0).GetComponent().InfoSetup(infoPannelInstance); //infoPannelInstance.SetActive(false); - + } private void Start() diff --git a/320UnityProject/Assets/Scripts/SceneControllers/FrogVilleSceneController.cs b/320UnityProject/Assets/Scripts/SceneControllers/FrogVilleSceneController.cs index 12707d4..a07aff9 100644 --- a/320UnityProject/Assets/Scripts/SceneControllers/FrogVilleSceneController.cs +++ b/320UnityProject/Assets/Scripts/SceneControllers/FrogVilleSceneController.cs @@ -1,6 +1,9 @@ +using FischlWorks_FogWar; using System.Collections; using System.Collections.Generic; +using TMPro; using UnityEngine; +using UnityEngine.EventSystems; using UnityEngine.InputSystem; public class FrogVilleSceneController : MonoBehaviour @@ -13,10 +16,25 @@ public class FrogVilleSceneController : MonoBehaviour [SerializeField] private Camera camera; [SerializeField] private interactArea interactArea; public static bool firstLoad = true; + private GameManager gameManager; + + [SerializeField] private GameObject dialogueUIPrefab; + [SerializeField] private GameObject infoPannelPrefab; + [SerializeField] private GameObject choiceParentPrefab; + [SerializeField] private EventSystem eventSystem; + private Canvas canvas; + + [SerializeField] private csFogWar fogWar; + + private const int autopsyValue = 0; + private const int letterValue = 1; + [SerializeField] private TextAsset letterScript; + [SerializeField] private SceneWarpTrigger[] villageDoors; private void Awake() { - + gameManager = FindAnyObjectByType(); + try { playerInstance = FindAnyObjectByType().gameObject; @@ -52,11 +70,64 @@ private void Awake() { camera.GetComponent().player = playerInstance.transform; } - + + // Find the persistent canvas + canvas = GameObject.Find("Canvas")?.GetComponent(); + + if (canvas == null) + Debug.LogWarning("No PersistentCanvas found! Make sure one exists before loading this scene."); + else + { + // Dialogue display + GameObject dialogueUIInstance = Instantiate(dialogueUIPrefab, canvas.transform); + dialogueUIInstance.layer = LayerMask.NameToLayer("UI"); + dialogueUIInstance.SetActive(true); + + DialogueDisplay dpDisplay = eventSystem.GetComponent(); + dpDisplay.onStart = false; + dpDisplay.lockMovement = true; + + GameObject choiceParent = Instantiate(choiceParentPrefab, canvas.transform); + dpDisplay.choiceParent = choiceParent.transform; + + dpDisplay.gameManager = gameManager; + dpDisplay.alreadySeen = gameManager.ContainsDialogue(dpDisplay.inkScript); + + // Getting the different text components in the dialogue pannel and assigning them + TextMeshProUGUI[] textsInChild = dialogueUIInstance.GetComponentsInChildren(); + dpDisplay.dialogueBox = textsInChild[1]; + dpDisplay.speakerBox = textsInChild[0]; + + // Info pannel / UI controller + GameObject infoPannelInstance = Instantiate(infoPannelPrefab, canvas.transform); + infoPannelInstance.layer = LayerMask.NameToLayer("UI"); + infoPannelInstance.SetActive(true); + + UIController uiController = eventSystem.GetComponent(); + uiController.infoBox = infoPannelInstance.GetComponentInChildren(); + dpDisplay.InfoSetup(infoPannelInstance); + + // Player dialogue reference + playerInstance.GetComponent().dialogueDisplay = dpDisplay; + playerInstance.transform.GetChild(0).GetComponent().dialogueDisplay = dpDisplay; + + // Check if doors need to be locked + if (gameManager.ContainsDialogue(dpDisplay.inkScript) < autopsyValue) + { + foreach (SceneWarpTrigger door in villageDoors) + door.locked = true; + } + + if (gameManager.ContainsDialogue(letterScript) < letterValue) + dpDisplay.pathChoice = 0; + else + dpDisplay.pathChoice = 1; + } interactArea.playerScript = playerInstance.GetComponent(); inventoryUI.player = playerInstance.GetComponent(); - + + fogWar.AddFogRevealer(new csFogWar.FogRevealer(playerInstance.transform, 20, false)); } /// diff --git a/320UnityProject/Assets/Scripts/SceneControllers/VH1SceneController.cs b/320UnityProject/Assets/Scripts/SceneControllers/VH1SceneController.cs index 8b6501f..e1631ab 100644 --- a/320UnityProject/Assets/Scripts/SceneControllers/VH1SceneController.cs +++ b/320UnityProject/Assets/Scripts/SceneControllers/VH1SceneController.cs @@ -6,7 +6,11 @@ public class VH1SceneController : MonoBehaviour { + private GameManager gameManager; + [SerializeField] private GameObject dialogueUIPrefab; + [SerializeField] private GameObject infoPannelPrefab; + [SerializeField] private GameObject choiceParentPrefab; [SerializeField] private GameObject playerSpawnPoint; [SerializeField] private EventSystem eventSystem; private Canvas canvas; @@ -14,6 +18,8 @@ public class VH1SceneController : MonoBehaviour private void Awake() { + gameManager = FindAnyObjectByType(); + // Find the persistent canvas canvas = GameObject.Find("Canvas")?.GetComponent(); @@ -23,9 +29,37 @@ private void Awake() return; } - Player player = GameObject.FindWithTag("Player").GetComponent(); + // Dialogue display + GameObject dialogueUIInstance = Instantiate(dialogueUIPrefab, canvas.transform); + dialogueUIInstance.layer = LayerMask.NameToLayer("UI"); + dialogueUIInstance.SetActive(true); + DialogueDisplay dpDisplay = eventSystem.GetComponent(); + dpDisplay.onStart = false; + dpDisplay.lockMovement = true; + + GameObject choiceParent = Instantiate(choiceParentPrefab, canvas.transform); + dpDisplay.choiceParent = choiceParent.transform; + + dpDisplay.gameManager = gameManager; + dpDisplay.alreadySeen = gameManager.ContainsDialogue(dpDisplay.inkScript); + + // Getting the different text components in the dialogue pannel and assigning them + TextMeshProUGUI[] textsInChild = dialogueUIInstance.GetComponentsInChildren(); + dpDisplay.dialogueBox = textsInChild[1]; + dpDisplay.speakerBox = textsInChild[0]; + + // Info pannel / UI controller + GameObject infoPannelInstance = Instantiate(infoPannelPrefab, canvas.transform); + infoPannelInstance.layer = LayerMask.NameToLayer("UI"); + infoPannelInstance.SetActive(true); + dpDisplay.InfoSetup(infoPannelInstance); + + + // Player dialogue reference + Player player = GameObject.FindWithTag("Player").GetComponent(); player.dialogueDisplay = dpDisplay; + player.transform.GetChild(0).GetComponent().dialogueDisplay = dpDisplay; player.transform.position = playerSpawnPoint.transform.position; } diff --git a/320UnityProject/Assets/Scripts/interactArea.cs b/320UnityProject/Assets/Scripts/interactArea.cs index 4994ab9..b9c0c45 100644 --- a/320UnityProject/Assets/Scripts/interactArea.cs +++ b/320UnityProject/Assets/Scripts/interactArea.cs @@ -8,7 +8,9 @@ public class interactArea : MonoBehaviour { - /// + public DialogueDisplay dialogueDisplay; + + /* /// /// The number of seconds infoPanel is visible until it starts fading out. /// private const float infoTime = 2; @@ -23,7 +25,7 @@ public class interactArea : MonoBehaviour private Image infoImage; private float infoAlpha; private float infoTimer = 0; - private bool infoTiming = false; + private bool infoTiming = false; */ public Player playerScript; private bool pickedUp; @@ -44,25 +46,7 @@ void Start() // Update is called once per frame void Update() { - if (infoTiming && infoPanel != null) - { - if (infoTimer > 0) - { - infoTimer = Mathf.Max(0, infoTimer - Time.deltaTime); - if (infoTimer <= infoFadeTime) - { - infoImage.color -= new Color(0, 0, 0, Time.deltaTime * infoAlpha / infoFadeTime); - infoBox.color -= new Color(0, 0, 0, Time.deltaTime / infoFadeTime); - } - } - else if (infoPanel.activeSelf) - { - infoImage.color += new Color(0, 0, 0, infoAlpha - infoImage.color.a); - infoBox.color += new Color(0, 0, 0, 1 - infoBox.color.a); - infoPanel.SetActive(false); - infoTiming = false; - } - } + } private void OnTriggerEnter(Collider other) @@ -97,7 +81,7 @@ private void OnTriggerEnter(Collider other) interactableObject scriptTwo = playerScript.GetInventory()[i].GetComponent(); if (scriptTwo.id == idNeeded) { - InfoText(script.endpointDialogue); + dialogueDisplay.InfoText(script.endpointDialogue); Debug.Log(script.endpointDialogue); GameObject temp = playerScript.GetInventory()[i]; playerScript.RemoveFromInventoryAtIndex(i); @@ -114,7 +98,7 @@ private void OnTriggerEnter(Collider other) //if dialogue send it to infoBox and debug if (script.isDialogue && !pickedUp) { - InfoText(script.dialogue); + dialogueDisplay.InfoText(script.dialogue); Debug.Log(script.dialogue); } @@ -150,7 +134,7 @@ private void OnTriggerEnter(Collider other) } - private void InfoSetup(Scene scene, LoadSceneMode mode) + /* private void InfoSetup(Scene scene, LoadSceneMode mode) { InfoSetup(null); } @@ -175,5 +159,5 @@ private void InfoText(string text) infoBox.text = text; infoTimer = infoTime + infoFadeTime; infoTiming = true; - } + } */ } diff --git a/320UnityProject/Assets/Scripts/sceneWarpTrigger.cs b/320UnityProject/Assets/Scripts/sceneWarpTrigger.cs index bfcac3d..1b650ad 100644 --- a/320UnityProject/Assets/Scripts/sceneWarpTrigger.cs +++ b/320UnityProject/Assets/Scripts/sceneWarpTrigger.cs @@ -1,4 +1,5 @@ using UnityEngine; +using UnityEngine.Events; using UnityEngine.SceneManagement; public class SceneWarpTrigger : MonoBehaviour @@ -15,6 +16,7 @@ public class SceneWarpTrigger : MonoBehaviour private InventoryManager inventoryManager; [SerializeField] Vector3 positionToLoad; public bool locked = false; + [SerializeField] public UnityEvent lockedEvent; private void Start() { //gameManager = FindFirstObjectByType(); @@ -35,18 +37,19 @@ public void LoadScene() { if (!string.IsNullOrEmpty(sceneToLoad)) { - if(!locked) + if (!locked) { if (sceneToLoad != "LilypadLand") { player.posInOverworldBeforeSceneChange = player.transform.position; - Debug.Log($"Setting prev pos: {player.posInOverworldBeforeSceneChange}"); + Debug.Log($"Setting prev pos: {player.posInOverworldBeforeSceneChange}"); } player.posBeforeSceneChange = positionToLoad; + player.dialogueDisplay.DestroyPanels(); SceneManager.LoadScene(sceneToLoad); } - - + else + lockedEvent.Invoke(); } else { diff --git a/320UnityProject/Assets/StoryDialogue/Ink/AgencyTutorial.ink b/320UnityProject/Assets/StoryDialogue/Ink/AgencyTutorial.ink index 52d6fab..f810d95 100644 --- a/320UnityProject/Assets/StoryDialogue/Ink/AgencyTutorial.ink +++ b/320UnityProject/Assets/StoryDialogue/Ink/AgencyTutorial.ink @@ -81,13 +81,13 @@ That's where you're going to be stationed! YOU>>But isn't Lilypad Landing the town with a 0% crime rate? -TOADSHOE>>Well, we still need someone to report population statistics, don't we? -So who better than you to look into the recent death? +TOADSHOE>>Well, apparently a mysterious death recently occurred there, and we aren't quite sure what the situation is. +So who better than you to look into it? YOU>>A murder...? TOADSHOE>>There is no proof that this is a case of murder. -We just need you to collect data. +But who knows, maybe you'll find something that we couldn't? YOU>>Hmmmm, okay...... diff --git a/320UnityProject/Assets/StoryDialogue/Ink/AgencyTutorial.json b/320UnityProject/Assets/StoryDialogue/Ink/AgencyTutorial.json index dff0c21..0d96458 100644 --- a/320UnityProject/Assets/StoryDialogue/Ink/AgencyTutorial.json +++ b/320UnityProject/Assets/StoryDialogue/Ink/AgencyTutorial.json @@ -1 +1 @@ -{"inkVersion":21,"root":[["^TOADSHOE>>Welcome, new detective!","\n","^Since we're known for our reliability, naturally we must ask...","\n","^Are you up for the job?","\n","^YOU>>Yes, of course!","\n","^It's been my dream ever since I was a tadpole to—","\n","^TOADSHOE>>Great! Then you should have no problem following my instructions!","\n","^So I actually have something for you in the storage closet.","\n","^Do you think you could grab that?","\n","^YOU>>Sure!","\n","^>>. . .","\n","^YOU>>Uhh, where is the storage closet?","\n","^TOADSHOE>>Oh, it's past this brown door over here.","\n","^Only issue is...I'm not quite sure where I put my keys.","\n","^YOU>>...","\n","^TOADSHOE>>I'm pretty sure I left them in this room though.","\n","^Think you could find them for me?","\n","^YOU>>Uh, yeah! Sure!","\n","ev","str","^0","/str","/ev",{"*":"0.c-0","flg":4},{"c-0":["^ ",{"->":"remember"},"\n",{"->":"0.g-0"},{"#f":5}],"g-0":["done",{"#f":5}]}],"done",{"remember":[["^YOU>>Hmm... Not here either, huh?","\n","^TOADSHOE>>Oh, I just remembered!","\n","^They're still in my coat pocket!","\n","^My coat's right there, on that rack.","\n","ev","str","^0","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["^ ",{"->":"keys"},"\n",{"#f":5}]}],{"#f":1}],"keys":[["^YOU>>Is it this one?","\n","^TOADSHOE>>Yep! You should be good to unlock the door now.","\n","ev","str","^0","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["^ ",{"->":"storage"},"\n",{"#f":5}]}],{"#f":1}],"storage":[["^YOU>>This is the storage room?","\n","^It's even bigger than your office...","\n","^TOADSHOE>>Oh, no, it's not in my storage room.","\n","^It's in my storage storage room, actually.","\n","^You'll have to get it open.","\n","ev","str","^0","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["^ ",{"->":"storage_door"},"\n",{"#f":5}]}],{"#f":1}],"storage_door":[["^YOU>>Whew! That was a workout!","\n","^You said it's this next room?","\n","^TOADSHOE>>Yep! It's right over here...","\n","ev","str","^0","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["^ ",{"->":"storage_storage"},"\n",{"#f":5}]}],{"#f":1}],"storage_storage":[["^TOADSHOE>>Here we are! My storage storage room!","\n","^YOU>>Great! So where's the thing?","\n","^TOADSHOE>>Oh, it's just up on the top shelf over there.","\n","^YOU>>...Oh.","\n","ev","str","^0","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["^ ",{"->":"retrieved"},"\n",{"#f":5}]}],{"#f":1}],"retrieved":["^YOU>>What is this?","\n","^\"Lilypad Landing\"...?","\n","^TOADSHOE>>It's your job posting, of course!","\n","^That's where you're going to be stationed!","\n","^YOU>>But isn't Lilypad Landing the town with a 0% crime rate?","\n","^TOADSHOE>>Well, we still need someone to report population statistics, don't we?","\n","^So who better than you to look into the recent death?","\n","^YOU>>A murder...?","\n","^TOADSHOE>>There is no proof that this is a case of murder.","\n","^We just need you to collect data.","\n","^YOU>>Hmmmm, okay......","\n","end",{"#f":1}],"#f":1}],"listDefs":{}} \ No newline at end of file +{"inkVersion":21,"root":[["^TOADSHOE>>Welcome, new detective!","\n","^Since we're known for our reliability, naturally we must ask...","\n","^Are you up for the job?","\n","^YOU>>Yes, of course!","\n","^It's been my dream ever since I was a tadpole to—","\n","^TOADSHOE>>Great! Then you should have no problem following my instructions!","\n","^So I actually have something for you in the storage closet.","\n","^Do you think you could grab that?","\n","^YOU>>Sure!","\n","^>>. . .","\n","^YOU>>Uhh, where is the storage closet?","\n","^TOADSHOE>>Oh, it's past this brown door over here.","\n","^Only issue is...I'm not quite sure where I put my keys.","\n","^YOU>>...","\n","^TOADSHOE>>I'm pretty sure I left them in this room though.","\n","^Think you could find them for me?","\n","^YOU>>Uh, yeah! Sure!","\n","ev","str","^0","/str","/ev",{"*":"0.c-0","flg":4},{"c-0":["^ ",{"->":"remember"},"\n",{"->":"0.g-0"},{"#f":5}],"g-0":["done",{"#f":5}]}],"done",{"remember":[["^YOU>>Hmm... Not here either, huh?","\n","^TOADSHOE>>Oh, I just remembered!","\n","^They're still in my coat pocket!","\n","^My coat's right there, on that rack.","\n","ev","str","^0","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["^ ",{"->":"keys"},"\n",{"#f":5}]}],{"#f":1}],"keys":[["^YOU>>Is it this one?","\n","^TOADSHOE>>Yep! You should be good to unlock the door now.","\n","ev","str","^0","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["^ ",{"->":"storage"},"\n",{"#f":5}]}],{"#f":1}],"storage":[["^YOU>>This is the storage room?","\n","^It's even bigger than your office...","\n","^TOADSHOE>>Oh, no, it's not in my storage room.","\n","^It's in my storage storage room, actually.","\n","^You'll have to get it open.","\n","ev","str","^0","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["^ ",{"->":"storage_door"},"\n",{"#f":5}]}],{"#f":1}],"storage_door":[["^YOU>>Whew! That was a workout!","\n","^You said it's this next room?","\n","^TOADSHOE>>Yep! It's right over here...","\n","ev","str","^0","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["^ ",{"->":"storage_storage"},"\n",{"#f":5}]}],{"#f":1}],"storage_storage":[["^TOADSHOE>>Here we are! My storage storage room!","\n","^YOU>>Great! So where's the thing?","\n","^TOADSHOE>>Oh, it's just up on the top shelf over there.","\n","^YOU>>...Oh.","\n","ev","str","^0","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["^ ",{"->":"retrieved"},"\n",{"#f":5}]}],{"#f":1}],"retrieved":["^YOU>>What is this?","\n","^\"Lilypad Landing\"...?","\n","^TOADSHOE>>It's your job posting, of course!","\n","^That's where you're going to be stationed!","\n","^YOU>>But isn't Lilypad Landing the town with a 0% crime rate?","\n","^TOADSHOE>>Well, apparently a mysterious death recently occurred there, and we aren't quite sure what the situation is.","\n","^So who better than you to look into it?","\n","^YOU>>A murder...?","\n","^TOADSHOE>>There is no proof that this is a case of murder.","\n","^But who knows, maybe you'll find something that we couldn't?","\n","^YOU>>Hmmmm, okay......","\n","end",{"#f":1}],"#f":1}],"listDefs":{}} \ No newline at end of file diff --git a/320UnityProject/Assets/StoryDialogue/Ink/DeadsHouse1.ink b/320UnityProject/Assets/StoryDialogue/Ink/DeadsHouse1.ink index 79fcf89..0ca7e28 100644 --- a/320UnityProject/Assets/StoryDialogue/Ink/DeadsHouse1.ink +++ b/320UnityProject/Assets/StoryDialogue/Ink/DeadsHouse1.ink @@ -1,12 +1,50 @@ +0 + ++ [0] -> 0first_look ++ [1] -> 1search + +=== 0first_look === YOU>>So this must be the victim... -VIGILANT FROG>>Height: 2 feet 10 inches. Weight: 40 pounds. Status: Single. Relatives: None. Death: Natural causes. +VIGILANT FROG>>No weapons or causes of death in sight, nor any leads to look into. YOU>>Huh? -STERN FROG>>We’ve already filed the report. There’s no more work for you to do here. -You can go home now. +STERN FROG>>We've already surveyed the scene, and there's no more work to be done here. +You might as well just go home now. YOU>>Wait— +Left before I could even say anything, huh... +Well, it's not like this case is gonna solve itself on its own. +Guess I'd better look around for some clues... + +-> END + +=== 1search === ++ [0] -> 1letter + +=== 1letter === +YOU>>A letter...? +Let's see... + +>>. . . + +YOU>>So the autopsy's gone missing, huh? +Surely it can't be too far from here, though, right? +It's gotta still be somewhere in the town... +Oh, but it looks like there's another letter...! +Let's see what it says... + +>>“Dear Pelo, +“Thank you for taking the time to reach out to me. +“The situation you wrote about seems of the utmost importance. +“I will make my way to your town as quickly as possible. +“If there is anything else you would like to ask or express, please do not hesitate. +“- Buff Frog” + +YOU>>..."Pelo", huh? +I guess that's the name of the victim here. +And who's this "Buff Frog" figure, I wonder...? +Well, guess I'd better find that autopsy to start with. -Guess I'd better look around for some clues... \ No newline at end of file +-> END \ No newline at end of file diff --git a/320UnityProject/Assets/StoryDialogue/Ink/DeadsHouse1.json b/320UnityProject/Assets/StoryDialogue/Ink/DeadsHouse1.json index 84156ff..fbae731 100644 --- a/320UnityProject/Assets/StoryDialogue/Ink/DeadsHouse1.json +++ b/320UnityProject/Assets/StoryDialogue/Ink/DeadsHouse1.json @@ -1 +1 @@ -{"inkVersion":21,"root":[["^YOU>>So this must be the victim...","\n","^VIGILANT FROG>>Height: 2 feet 10 inches. Weight: 40 pounds. Status: Single. Relatives: None. Death: Natural causes.","\n","^YOU>>Huh?","\n","^STERN FROG>>We’ve already filed the report. There’s no more work for you to do here.","\n","^You can go home now.","\n","^YOU>>Wait—","\n","^Guess I'd better look around for some clues...","\n",["done",{"#f":5,"#n":"g-0"}],null],"done",{"#f":1}],"listDefs":{}} \ No newline at end of file +{"inkVersion":21,"root":[["^0","\n","ev","str","^0","/str","/ev",{"*":"0.c-0","flg":4},"ev","str","^1","/str","/ev",{"*":"0.c-1","flg":4},{"c-0":["^ ",{"->":"0first_look"},"\n",{"->":"0.g-0"},{"#f":5}],"c-1":["^ ",{"->":"1search"},"\n",{"->":"0.g-0"},{"#f":5}],"g-0":["done",{"#f":5}]}],"done",{"0first_look":["^YOU>>So this must be the victim...","\n","^VIGILANT FROG>>No weapons or causes of death in sight, nor any leads to look into.","\n","^YOU>>Huh?","\n","^STERN FROG>>We've already surveyed the scene, and there's no more work to be done here.","\n","^You might as well just go home now.","\n","^YOU>>Wait—","\n","^Left before I could even say anything, huh...","\n","^Well, it's not like this case is gonna solve itself on its own.","\n","^Guess I'd better look around for some clues...","\n","end",{"#f":1}],"1search":[["ev","str","^0","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["^ ",{"->":"1letter"},"\n",{"#f":5}]}],{"#f":1}],"1letter":["^YOU>>A letter...?","\n","^Let's see...","\n","^>>. . .","\n","^YOU>>So the autopsy's gone missing, huh?","\n","^Surely it can't be too far from here, though, right?","\n","^It's gotta still be somewhere in the town...","\n","^Oh, but it looks like there's another letter...!","\n","^Let's see what it says...","\n","^>>“Dear Pelo,","\n","^“Thank you for taking the time to reach out to me.","\n","^“The situation you wrote about seems of the utmost importance.","\n","^“I will make my way to your town as quickly as possible.","\n","^“If there is anything else you would like to ask or express, please do not hesitate.","\n","^“- Buff Frog”","\n","^YOU>>...\"Pelo\", huh?","\n","^I guess that's the name of the victim here.","\n","^And who's this \"Buff Frog\" figure, I wonder...?","\n","^Well, guess I'd better find that autopsy to start with.","\n","end",{"#f":1}],"#f":1}],"listDefs":{}} \ No newline at end of file diff --git a/320UnityProject/Assets/StoryDialogue/Ink/LilypadLanding.ink b/320UnityProject/Assets/StoryDialogue/Ink/LilypadLanding.ink new file mode 100644 index 0000000..56bc594 --- /dev/null +++ b/320UnityProject/Assets/StoryDialogue/Ink/LilypadLanding.ink @@ -0,0 +1,26 @@ ++ [0] -> 0search + +=== 0search === ++ [0] -> autopsy + +=== autopsy === +YOU>>Oh, the autopsy! + +-> END + +=== n1locked === +0 + ++ [0] -> check_house ++ [1] -> find_autopsy + +=== check_house === +YOU>>Hmm, maybe I should check the victim's house first. +It was in the northeast, right? + +-> 0search + +=== find_autopsy === +YOU>>I should probably go find that autopsy first before someone else does... + +-> 0search \ No newline at end of file diff --git a/320UnityProject/Assets/StoryDialogue/Ink/LilypadLanding.ink.meta b/320UnityProject/Assets/StoryDialogue/Ink/LilypadLanding.ink.meta new file mode 100644 index 0000000..6338010 --- /dev/null +++ b/320UnityProject/Assets/StoryDialogue/Ink/LilypadLanding.ink.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c8c0756e69612034cbbf71686c632e2b +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/320UnityProject/Assets/StoryDialogue/Ink/LilypadLanding.json b/320UnityProject/Assets/StoryDialogue/Ink/LilypadLanding.json new file mode 100644 index 0000000..20d0fca --- /dev/null +++ b/320UnityProject/Assets/StoryDialogue/Ink/LilypadLanding.json @@ -0,0 +1 @@ +{"inkVersion":21,"root":[["ev","str","^0","/str","/ev",{"*":"0.c-0","flg":4},{"c-0":["^ ",{"->":"0search"},"\n",{"->":"0.g-0"},{"#f":5}],"g-0":["done",{"#f":5}]}],"done",{"0search":[["ev","str","^0","/str","/ev",{"*":".^.c-0","flg":4},{"c-0":["^ ",{"->":"autopsy"},"\n",{"#f":5}]}],{"#f":1}],"autopsy":["^YOU>>Oh, the autopsy!","\n","end",{"#f":1}],"n1locked":[["^0","\n","ev","str","^0","/str","/ev",{"*":".^.c-0","flg":4},"ev","str","^1","/str","/ev",{"*":".^.c-1","flg":4},{"c-0":["^ ",{"->":"check_house"},"\n",{"#f":5}],"c-1":["^ ",{"->":"find_autopsy"},"\n",{"#f":5}]}],{"#f":1}],"check_house":["^YOU>>Hmm, maybe I should check the victim's house first.","\n","^It was in the northeast, right?","\n",{"->":"0search"},{"#f":1}],"find_autopsy":["^YOU>>I should probably go find that autopsy first before someone else does...","\n",{"->":"0search"},{"#f":1}],"#f":1}],"listDefs":{}} \ No newline at end of file diff --git a/320UnityProject/Assets/StoryDialogue/Ink/LilypadLanding.json.meta b/320UnityProject/Assets/StoryDialogue/Ink/LilypadLanding.json.meta new file mode 100644 index 0000000..2535760 --- /dev/null +++ b/320UnityProject/Assets/StoryDialogue/Ink/LilypadLanding.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8a8d0b20cb235094e92e95810b84e855 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: