diff --git a/.vscode/settings.json b/.vscode/settings.json index 9d9cbdd3..b90d22f3 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -60,12 +60,12 @@ "*.asset": "yaml", "*.meta": "yaml", "*.prefab": "yaml", - "*.unity": "yaml", + "*.unity": "yaml" }, "explorer.fileNesting.enabled": true, "explorer.fileNesting.patterns": { "*.sln": "*.csproj", "*.slnx": "*.csproj" }, - "dotnet.defaultSolution": "Unheimilsh_POC_TO_CUT.slnx" + "dotnet.defaultSolution": "Unheimlish_POC.slnx" } \ No newline at end of file diff --git a/Assets/Unheimlich_POC/Datas/DialogueData/ConversationDemoNPC/ConversationDemoNPC.asset b/Assets/Unheimlich_POC/Datas/DialogueData/ConversationDemoNPC/ConversationDemoNPC.asset index 9e388ff0..7b5d90ba 100644 --- a/Assets/Unheimlich_POC/Datas/DialogueData/ConversationDemoNPC/ConversationDemoNPC.asset +++ b/Assets/Unheimlich_POC/Datas/DialogueData/ConversationDemoNPC/ConversationDemoNPC.asset @@ -13,6 +13,7 @@ MonoBehaviour: m_Name: ConversationDemoNPC m_EditorClassIdentifier: Assembly-CSharp::DialogueConversation SpeakerName: Interlocuteur + DisplayMode: 1 DialogueNodes: - {fileID: 11400000, guid: e6358f99b82fd39408e3272866b51c49, type: 2} - {fileID: 11400000, guid: f40a3fc5fb3ead644af358428fc5dc54, type: 2} diff --git a/Assets/Unheimlich_POC/Datas/DialogueData/ConversationDemoTriggerZone/ConversationDemoTriggerZone.asset b/Assets/Unheimlich_POC/Datas/DialogueData/ConversationDemoTriggerZone/ConversationDemoTriggerZone.asset index ddbacb11..011e6006 100644 --- a/Assets/Unheimlich_POC/Datas/DialogueData/ConversationDemoTriggerZone/ConversationDemoTriggerZone.asset +++ b/Assets/Unheimlich_POC/Datas/DialogueData/ConversationDemoTriggerZone/ConversationDemoTriggerZone.asset @@ -13,6 +13,7 @@ MonoBehaviour: m_Name: ConversationDemoTriggerZone m_EditorClassIdentifier: Assembly-CSharp::DialogueConversation SpeakerName: Interlocuteur + DisplayMode: 0 DialogueNodes: - {fileID: 11400000, guid: bf52fd5b87260974883a757bc1cc7867, type: 2} - {fileID: 11400000, guid: 63d965499deabf64db562d40b63717a8, type: 2} diff --git a/Assets/Unheimlich_POC/Prefabs/NPCS/NPC.prefab b/Assets/Unheimlich_POC/Prefabs/NPCS/NPC.prefab index c6a3f985..9c4e9e36 100644 --- a/Assets/Unheimlich_POC/Prefabs/NPCS/NPC.prefab +++ b/Assets/Unheimlich_POC/Prefabs/NPCS/NPC.prefab @@ -853,6 +853,7 @@ MonoBehaviour: ChoiceContainer: {fileID: 1537231754031438888} _speakerText: {fileID: 8705607314400096715} _contentText: {fileID: 5061403267731591093} + _dialogueScreenUI: {fileID: 7834390620564487680, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} ChoiceButtonPrefab: {fileID: 8049322106330395133, guid: 21eef1f89c2ea56459505e7c02acbda1, type: 3} _defaultRotationSpeed: 10 _fadeOutDuration: 0.5 diff --git a/Assets/Unheimlich_POC/Prefabs/UI.meta b/Assets/Unheimlich_POC/Prefabs/UI.meta new file mode 100644 index 00000000..1bf727f0 --- /dev/null +++ b/Assets/Unheimlich_POC/Prefabs/UI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 80f045144b5e21e4592d1d4a46869ea6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Prefabs/UI/Screen.meta b/Assets/Unheimlich_POC/Prefabs/UI/Screen.meta new file mode 100644 index 00000000..7db047db --- /dev/null +++ b/Assets/Unheimlich_POC/Prefabs/UI/Screen.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 83e102d49a3b43e4aa774f7d981e668e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Prefabs/UI/Screen/Canvas.prefab b/Assets/Unheimlich_POC/Prefabs/UI/Screen/Canvas.prefab new file mode 100644 index 00000000..e7f01bd3 --- /dev/null +++ b/Assets/Unheimlich_POC/Prefabs/UI/Screen/Canvas.prefab @@ -0,0 +1,313 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4369225580407928194 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8886833518829962744} + - component: {fileID: 1419697914227593194} + - component: {fileID: 8208442223888646070} + - component: {fileID: 8012082222891825415} + m_Layer: 0 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8886833518829962744 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4369225580407928194} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5184356617566533976} + - {fileID: 7021944921972612920} + m_Father: {fileID: 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!223 &1419697914227593194 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4369225580407928194} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 25 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &8208442223888646070 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4369225580407928194} + 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: 0 +--- !u!114 &8012082222891825415 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4369225580407928194} + 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!1001 &7301336757621566549 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 8886833518829962744} + m_Modifications: + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3736995870599774548, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + propertyPath: m_Name + value: Crosshair + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} +--- !u!224 &5184356617566533976 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2495284434525656333, guid: 6fd4dc179de6cf94981d256cdf084bf2, type: 3} + m_PrefabInstance: {fileID: 7301336757621566549} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &8829556081253035945 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 8886833518829962744} + m_Modifications: + - target: {fileID: 1681631091073427041, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_Name + value: DialogueTextZone + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_SizeDelta.x + value: 1920 + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_SizeDelta.y + value: 200 + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_AnchoredPosition.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4718893142042823352, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} +--- !u!224 &7021944921972612920 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2015949941464314001, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} + m_PrefabInstance: {fileID: 8829556081253035945} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Unheimlich_POC/Prefabs/UI/Screen/Canvas.prefab.meta b/Assets/Unheimlich_POC/Prefabs/UI/Screen/Canvas.prefab.meta new file mode 100644 index 00000000..019b5ff9 --- /dev/null +++ b/Assets/Unheimlich_POC/Prefabs/UI/Screen/Canvas.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f6df2f5ea61cfcb439be39356b1560fa +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Prefabs/UI/Screen/Crosshair.meta b/Assets/Unheimlich_POC/Prefabs/UI/Screen/Crosshair.meta new file mode 100644 index 00000000..17e28005 --- /dev/null +++ b/Assets/Unheimlich_POC/Prefabs/UI/Screen/Crosshair.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3ba205148b4f526438d5db87741dfe88 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Prefabs/UI/Screen/Crosshair/Crosshair.prefab b/Assets/Unheimlich_POC/Prefabs/UI/Screen/Crosshair/Crosshair.prefab new file mode 100644 index 00000000..bdba1c67 --- /dev/null +++ b/Assets/Unheimlich_POC/Prefabs/UI/Screen/Crosshair/Crosshair.prefab @@ -0,0 +1,113 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3736995870599774548 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2495284434525656333} + m_Layer: 0 + m_Name: Crosshair + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2495284434525656333 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3736995870599774548} + 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: 6156952311740570345} + m_Father: {fileID: 0} + 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: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &9096627245611315660 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6156952311740570345} + - component: {fileID: 8126089901301442373} + - component: {fileID: 1353750301420579438} + m_Layer: 0 + m_Name: CrossImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6156952311740570345 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9096627245611315660} + 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: 2495284434525656333} + 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: 10, y: 10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8126089901301442373 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9096627245611315660} + m_CullTransparentMesh: 1 +--- !u!114 &1353750301420579438 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9096627245611315660} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 diff --git a/Assets/Unheimlich_POC/Prefabs/UI/Screen/Crosshair/Crosshair.prefab.meta b/Assets/Unheimlich_POC/Prefabs/UI/Screen/Crosshair/Crosshair.prefab.meta new file mode 100644 index 00000000..5a860cce --- /dev/null +++ b/Assets/Unheimlich_POC/Prefabs/UI/Screen/Crosshair/Crosshair.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6fd4dc179de6cf94981d256cdf084bf2 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Prefabs/UI/Screen/Dialogues.meta b/Assets/Unheimlich_POC/Prefabs/UI/Screen/Dialogues.meta new file mode 100644 index 00000000..a606763b --- /dev/null +++ b/Assets/Unheimlich_POC/Prefabs/UI/Screen/Dialogues.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7f24b7b4ee02f694784dc6c3908bc4bc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Prefabs/UI/Screen/Dialogues/DialogueTextZone.prefab b/Assets/Unheimlich_POC/Prefabs/UI/Screen/Dialogues/DialogueTextZone.prefab new file mode 100644 index 00000000..03d68383 --- /dev/null +++ b/Assets/Unheimlich_POC/Prefabs/UI/Screen/Dialogues/DialogueTextZone.prefab @@ -0,0 +1,478 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1681631091073427041 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2015949941464314001} + - component: {fileID: 7834390620564487680} + m_Layer: 0 + m_Name: DialogueTextZone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2015949941464314001 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1681631091073427041} + 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: 4513853938089067031} + m_Father: {fileID: 0} + 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: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &7834390620564487680 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1681631091073427041} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bc4c44e24ba19844b822608a46bde428, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.UI.DialogueScreenUI + _dialoguePanel: {fileID: 4718893142042823352} + _speakerText: {fileID: 8205287516134524828} + _dialogueText: {fileID: 8696521486180000959} + _fadeOutDuration: 0.5 +--- !u!1 &4718893142042823352 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4513853938089067031} + m_Layer: 0 + m_Name: Pannel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4513853938089067031 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4718893142042823352} + 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: 758297416926061702} + - {fileID: 7539442832499066999} + m_Father: {fileID: 2015949941464314001} + 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: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &7283724369255092777 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 758297416926061702} + - component: {fileID: 7767218643027393662} + - component: {fileID: 3807576951320261720} + m_Layer: 0 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &758297416926061702 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7283724369255092777} + 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: 4513853938089067031} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: 50} + m_SizeDelta: {x: 1920, y: 200} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7767218643027393662 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7283724369255092777} + m_CullTransparentMesh: 1 +--- !u!114 &3807576951320261720 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7283724369255092777} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0.25157225, g: 0.25157225, b: 0.25157225, a: 0.6313726} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &7511372740501427008 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7539442832499066999} + m_Layer: 0 + m_Name: Texts + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7539442832499066999 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7511372740501427008} + 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: 7319637420139533510} + - {fileID: 5038437034765625679} + m_Father: {fileID: 4513853938089067031} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: -860, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &8394717948743689443 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5038437034765625679} + - component: {fileID: 2607575129878109721} + - component: {fileID: 8696521486180000959} + m_Layer: 0 + m_Name: Dialogue + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5038437034765625679 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8394717948743689443} + 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: 7539442832499066999} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 781, y: -109} + m_SizeDelta: {x: 1500, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2607575129878109721 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8394717948743689443} + m_CullTransparentMesh: 1 +--- !u!114 &8696521486180000959 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8394717948743689443} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + 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: 'Bonjour ! Comment allez vous ? ' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + 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} +--- !u!1 &9065357664704064494 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7319637420139533510} + - component: {fileID: 5882626619475037183} + - component: {fileID: 8205287516134524828} + m_Layer: 0 + m_Name: Speaker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7319637420139533510 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9065357664704064494} + 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: 7539442832499066999} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 176.83795, y: -46} + m_SizeDelta: {x: 291.6759, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5882626619475037183 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9065357664704064494} + m_CullTransparentMesh: 1 +--- !u!114 &8205287516134524828 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9065357664704064494} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + 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: Interlocuteur + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + 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: -3.4032288, 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/Unheimlich_POC/Prefabs/UI/Screen/Dialogues/DialogueTextZone.prefab.meta b/Assets/Unheimlich_POC/Prefabs/UI/Screen/Dialogues/DialogueTextZone.prefab.meta new file mode 100644 index 00000000..6572b9ff --- /dev/null +++ b/Assets/Unheimlich_POC/Prefabs/UI/Screen/Dialogues/DialogueTextZone.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8d9eb1538a87d3648abb3fe58d3e4fb4 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Prefabs/UI/World.meta b/Assets/Unheimlich_POC/Prefabs/UI/World.meta new file mode 100644 index 00000000..fbccdea5 --- /dev/null +++ b/Assets/Unheimlich_POC/Prefabs/UI/World.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 438eb7a416a445b429f8b4f2867dd8b1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Prefabs/Dialogues.meta b/Assets/Unheimlich_POC/Prefabs/UI/World/Dialogues.meta similarity index 100% rename from Assets/Unheimlich_POC/Prefabs/Dialogues.meta rename to Assets/Unheimlich_POC/Prefabs/UI/World/Dialogues.meta diff --git a/Assets/Unheimlich_POC/Prefabs/Dialogues/DialogueTrigger.meta b/Assets/Unheimlich_POC/Prefabs/UI/World/Dialogues/DialogueTrigger.meta similarity index 100% rename from Assets/Unheimlich_POC/Prefabs/Dialogues/DialogueTrigger.meta rename to Assets/Unheimlich_POC/Prefabs/UI/World/Dialogues/DialogueTrigger.meta diff --git a/Assets/Unheimlich_POC/Prefabs/Dialogues/DialogueTrigger/DialogueTrigger.prefab b/Assets/Unheimlich_POC/Prefabs/UI/World/Dialogues/DialogueTrigger/DialogueTrigger.prefab similarity index 99% rename from Assets/Unheimlich_POC/Prefabs/Dialogues/DialogueTrigger/DialogueTrigger.prefab rename to Assets/Unheimlich_POC/Prefabs/UI/World/Dialogues/DialogueTrigger/DialogueTrigger.prefab index 00dc6cdc..b7c498ab 100644 --- a/Assets/Unheimlich_POC/Prefabs/Dialogues/DialogueTrigger/DialogueTrigger.prefab +++ b/Assets/Unheimlich_POC/Prefabs/UI/World/Dialogues/DialogueTrigger/DialogueTrigger.prefab @@ -224,6 +224,7 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 @@ -360,6 +361,7 @@ MonoBehaviour: m_VerticalAlignment: 256 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 @@ -496,6 +498,7 @@ MonoBehaviour: m_VerticalAlignment: 256 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 @@ -648,9 +651,11 @@ MonoBehaviour: ChoiceContainer: {fileID: 7405281685042915318} _speakerText: {fileID: 2388965565295976681} _contentText: {fileID: 5049916530727238940} + _dialogueScreenUI: {fileID: 7834390620564487680, guid: 8d9eb1538a87d3648abb3fe58d3e4fb4, type: 3} ChoiceButtonPrefab: {fileID: 8049322106330395133, guid: 21eef1f89c2ea56459505e7c02acbda1, type: 3} - _defaultCircleRadius: 100 _defaultRotationSpeed: 10 + _fadeOutDuration: 0.5 + _dialogueCanvasGroup: {fileID: 0} --- !u!1 &6456531541905353868 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Unheimlich_POC/Prefabs/Dialogues/DialogueTrigger/DialogueTrigger.prefab.meta b/Assets/Unheimlich_POC/Prefabs/UI/World/Dialogues/DialogueTrigger/DialogueTrigger.prefab.meta similarity index 100% rename from Assets/Unheimlich_POC/Prefabs/Dialogues/DialogueTrigger/DialogueTrigger.prefab.meta rename to Assets/Unheimlich_POC/Prefabs/UI/World/Dialogues/DialogueTrigger/DialogueTrigger.prefab.meta diff --git a/Assets/Unheimlich_POC/Prefabs/Dialogues/FloatingWords.meta b/Assets/Unheimlich_POC/Prefabs/UI/World/Dialogues/FloatingWords.meta similarity index 100% rename from Assets/Unheimlich_POC/Prefabs/Dialogues/FloatingWords.meta rename to Assets/Unheimlich_POC/Prefabs/UI/World/Dialogues/FloatingWords.meta diff --git a/Assets/Unheimlich_POC/Prefabs/Dialogues/FloatingWords/ChoiceText.prefab b/Assets/Unheimlich_POC/Prefabs/UI/World/Dialogues/FloatingWords/ChoiceText.prefab similarity index 100% rename from Assets/Unheimlich_POC/Prefabs/Dialogues/FloatingWords/ChoiceText.prefab rename to Assets/Unheimlich_POC/Prefabs/UI/World/Dialogues/FloatingWords/ChoiceText.prefab diff --git a/Assets/Unheimlich_POC/Prefabs/Dialogues/FloatingWords/ChoiceText.prefab.meta b/Assets/Unheimlich_POC/Prefabs/UI/World/Dialogues/FloatingWords/ChoiceText.prefab.meta similarity index 100% rename from Assets/Unheimlich_POC/Prefabs/Dialogues/FloatingWords/ChoiceText.prefab.meta rename to Assets/Unheimlich_POC/Prefabs/UI/World/Dialogues/FloatingWords/ChoiceText.prefab.meta diff --git a/Assets/Unheimlich_POC/Scenes/MainScene/MainScene.unity b/Assets/Unheimlich_POC/Scenes/MainScene/MainScene.unity index 6b87aa4e..05a0c666 100644 --- a/Assets/Unheimlich_POC/Scenes/MainScene/MainScene.unity +++ b/Assets/Unheimlich_POC/Scenes/MainScene/MainScene.unity @@ -816,108 +816,11 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1296540338 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1296540339} - - component: {fileID: 1296540342} - - component: {fileID: 1296540341} - - component: {fileID: 1296540340} - m_Layer: 0 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1296540339 +--- !u!224 &1296540339 stripped RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + m_PrefabInstance: {fileID: 4079305652280607641} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1296540338} - 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_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1562808391} - m_Father: {fileID: 837458842} - 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!114 &1296540340 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1296540338} - 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!114 &1296540341 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1296540338} - 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: 0 ---- !u!223 &1296540342 -Canvas: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1296540338} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_VertexColorAlwaysGammaSpace: 0 - m_AdditionalShaderChannelsFlag: 0 - m_UpdateRectTransformForStandalone: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_TargetDisplay: 0 --- !u!1 &1310415455 GameObject: m_ObjectHideFlags: 0 @@ -1021,81 +924,6 @@ MonoBehaviour: m_ShadowLayerMask: 1 m_RenderingLayers: 1 m_ShadowRenderingLayers: 1 ---- !u!1 &1425449999 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1425450000} - - component: {fileID: 1425450002} - - component: {fileID: 1425450001} - m_Layer: 0 - m_Name: CrossImage - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1425450000 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1425449999} - 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: 1562808391} - 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: 10, y: 10} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1425450001 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1425449999} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1425450002 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1425449999} - m_CullTransparentMesh: 1 --- !u!1 &1475986547 GameObject: m_ObjectHideFlags: 0 @@ -1162,42 +990,6 @@ MonoBehaviour: _extendedShadowDistance: 250 _transitionSpeed: 2 _checkInterval: 0.5 ---- !u!1 &1562808390 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1562808391} - m_Layer: 0 - m_Name: Crosshair - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1562808391 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1562808390} - 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: 1425450000} - m_Father: {fileID: 1296540339} - 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: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1693053744 GameObject: m_ObjectHideFlags: 0 @@ -2171,7 +1963,7 @@ PrefabInstance: objectReference: {fileID: 1871114643} - target: {fileID: 5019363637456399335, guid: 204c7983537bb6c44a8ecafa782fca99, type: 3} propertyPath: m_VersionIndex - value: 10294 + value: 10300 objectReference: {fileID: 0} - target: {fileID: 6096226974748024133, guid: 204c7983537bb6c44a8ecafa782fca99, type: 3} propertyPath: m_Mesh @@ -2231,7 +2023,7 @@ PrefabInstance: objectReference: {fileID: 183470776} - target: {fileID: 8474092010221730167, guid: 204c7983537bb6c44a8ecafa782fca99, type: 3} propertyPath: m_VersionIndex - value: 25618 + value: 25624 objectReference: {fileID: 0} - target: {fileID: 9107982868375055835, guid: 204c7983537bb6c44a8ecafa782fca99, type: 3} propertyPath: m_Mesh @@ -2356,6 +2148,107 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 0048fed3be8aeb8449285faf2cc63a15, type: 3} +--- !u!1001 &4079305652280607641 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 837458842} + m_Modifications: + - target: {fileID: 4320080373691671825, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4369225580407928194, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_Name + value: Canvas + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_Pivot.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8886833518829962744, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: f6df2f5ea61cfcb439be39356b1560fa, type: 3} --- !u!1001 &5090177222934034458 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Unheimlich_POC/Scripts/Datas/Dialogues/DialogueConversation.cs b/Assets/Unheimlich_POC/Scripts/Datas/Dialogues/DialogueConversation.cs index 89a9e7a7..6fe09a7b 100644 --- a/Assets/Unheimlich_POC/Scripts/Datas/Dialogues/DialogueConversation.cs +++ b/Assets/Unheimlich_POC/Scripts/Datas/Dialogues/DialogueConversation.cs @@ -10,6 +10,10 @@ namespace Unheimlich.Data.Dialogues [Tooltip("Name of the speaker (common to all texts in this conversation)")] public string SpeakerName; + [Header("Display Mode")] + [Tooltip("Choose how to display dialogue text: World (3D space) or Screen (Canvas UI)")] + public DialogueDisplayMode DisplayMode = DialogueDisplayMode.World; + [Header("Dialogue Flow")] [Tooltip("Ordered list of dialogue nodes for this conversation")] public List DialogueNodes = new List(); diff --git a/Assets/Unheimlich_POC/Scripts/Datas/Dialogues/DialogueConversationBuilder.cs b/Assets/Unheimlich_POC/Scripts/Datas/Dialogues/DialogueConversationBuilder.cs index 2a18ab26..3d0a119c 100644 --- a/Assets/Unheimlich_POC/Scripts/Datas/Dialogues/DialogueConversationBuilder.cs +++ b/Assets/Unheimlich_POC/Scripts/Datas/Dialogues/DialogueConversationBuilder.cs @@ -80,7 +80,7 @@ public class DialogueCreatorWindow : EditorWindow public int TargetNodeIndex = 1; } - [MenuItem("Tools/Dialogue/Dialogue Creator")] + [MenuItem("Unheimlich/Tools/Dialogue/Dialogue Creator")] public static void ShowWindow() { var window = GetWindow("Dialogue Creator"); diff --git a/Assets/Unheimlich_POC/Scripts/Datas/Dialogues/DialogueDisplayMode.cs b/Assets/Unheimlich_POC/Scripts/Datas/Dialogues/DialogueDisplayMode.cs new file mode 100644 index 00000000..f090ae64 --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/Datas/Dialogues/DialogueDisplayMode.cs @@ -0,0 +1,8 @@ +namespace Unheimlich.Data.Dialogues +{ + public enum DialogueDisplayMode + { + World, + Screen + } +} diff --git a/Assets/Unheimlich_POC/Scripts/Datas/Dialogues/DialogueDisplayMode.cs.meta b/Assets/Unheimlich_POC/Scripts/Datas/Dialogues/DialogueDisplayMode.cs.meta new file mode 100644 index 00000000..90259674 --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/Datas/Dialogues/DialogueDisplayMode.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: b10588959f3745441b157488d7a8f6e9 \ No newline at end of file diff --git a/Assets/Unheimlich_POC/Scripts/Editor/DialogueConversationEditor.cs b/Assets/Unheimlich_POC/Scripts/Editor/DialogueConversationEditor.cs index ce590218..edd83749 100644 --- a/Assets/Unheimlich_POC/Scripts/Editor/DialogueConversationEditor.cs +++ b/Assets/Unheimlich_POC/Scripts/Editor/DialogueConversationEditor.cs @@ -8,12 +8,38 @@ public class DialogueConversationEditor : Editor { private SerializedProperty _speakerNameProp; private SerializedProperty _speakerNameLocalizationKeyProp; + private SerializedProperty _displayModeProp; private SerializedProperty _dialogueNodesProp; + [MenuItem("Unheimlich/Tools/Dialogue/Refresh All Conversations")] + public static void RefreshAllConversations() + { + string[] guids = AssetDatabase.FindAssets("t:DialogueConversation"); + int count = 0; + + foreach (string guid in guids) + { + string path = AssetDatabase.GUIDToAssetPath(guid); + DialogueConversation conv = AssetDatabase.LoadAssetAtPath(path); + + if (conv != null) + { + EditorUtility.SetDirty(conv); + count++; + } + } + + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + + Debug.Log($"[Dialogue Refresher] {count} conversations ont été rafraîchies !"); + } + private void OnEnable() { _speakerNameProp = serializedObject.FindProperty("SpeakerName"); _speakerNameLocalizationKeyProp = serializedObject.FindProperty("SpeakerNameLocalizationKey"); + _displayModeProp = serializedObject.FindProperty("DisplayMode"); _dialogueNodesProp = serializedObject.FindProperty("DialogueNodes"); } @@ -27,6 +53,17 @@ public class DialogueConversationEditor : Editor EditorGUILayout.PropertyField(_speakerNameProp); EditorGUILayout.PropertyField(_speakerNameLocalizationKeyProp, new GUIContent("Localization Key (Optional)")); + EditorGUILayout.Space(5); + + EditorGUILayout.LabelField("Display Settings", EditorStyles.boldLabel); + EditorGUILayout.PropertyField(_displayModeProp, new GUIContent("Display Mode")); + + EditorGUILayout.HelpBox( + "World: Dialogue text appears in 3D space\n" + + "Screen: Dialogue text appears on Canvas UI\n" + + "Choices always appear in World space.", + MessageType.Info); + EditorGUILayout.Space(10); EditorGUILayout.LabelField("Dialogue Flow", EditorStyles.boldLabel); diff --git a/Assets/Unheimlich_POC/Scripts/Handlers/Interactions/Dialogues/DialogueChoice.cs b/Assets/Unheimlich_POC/Scripts/Handlers/Interactions/Dialogues/DialogueChoice.cs deleted file mode 100644 index 9a5dec41..00000000 --- a/Assets/Unheimlich_POC/Scripts/Handlers/Interactions/Dialogues/DialogueChoice.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace Unheimlich.Interactions.Dialogues -{ - /// - /// Serializable data structure representing a single dialogue choice option. - /// Links choice text to the next dialogue node via ID. - /// - [System.Serializable] - public class DialogueChoice - { - public string ChoiceText; // Text on the choice button - } -} \ No newline at end of file diff --git a/Assets/Unheimlich_POC/Scripts/Handlers/Interactions/Dialogues/DialogueChoice.cs.meta b/Assets/Unheimlich_POC/Scripts/Handlers/Interactions/Dialogues/DialogueChoice.cs.meta deleted file mode 100644 index a758314e..00000000 --- a/Assets/Unheimlich_POC/Scripts/Handlers/Interactions/Dialogues/DialogueChoice.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: e7a6b90d8597f824a9451b58900227b9 \ No newline at end of file diff --git a/Assets/Unheimlich_POC/Scripts/Managers/DialogueManager.cs b/Assets/Unheimlich_POC/Scripts/Managers/DialogueManager.cs index 5320a2b4..b3b982a1 100644 --- a/Assets/Unheimlich_POC/Scripts/Managers/DialogueManager.cs +++ b/Assets/Unheimlich_POC/Scripts/Managers/DialogueManager.cs @@ -165,8 +165,9 @@ namespace Unheimlich.Managers string speakerName = _currentConversation.SpeakerName; string dialogueText = _currentNode.DialogueText; + DialogueDisplayMode displayMode = _currentConversation.DisplayMode; - _activeDialogueUI.ShowDialogueBox(speakerName, dialogueText); + _activeDialogueUI.ShowDialogueBox(speakerName, dialogueText, displayMode); _autoCloseTimer = 0f; _isWaitingForAutoClose = false; diff --git a/Assets/Unheimlich_POC/Scripts/UI/DialogueScreenUI.cs b/Assets/Unheimlich_POC/Scripts/UI/DialogueScreenUI.cs new file mode 100644 index 00000000..c8178ae9 --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/UI/DialogueScreenUI.cs @@ -0,0 +1,91 @@ +using UnityEngine; +using TMPro; + +namespace Unheimlich.UI +{ + public class DialogueScreenUI : MonoBehaviour + { + public static DialogueScreenUI Instance { get; private set; } + + [Header("UI References")] + [SerializeField] private GameObject _dialoguePanel; + [SerializeField] private TextMeshProUGUI _speakerText; + [SerializeField] private TextMeshProUGUI _dialogueText; + + [Header("Fade Settings")] + [SerializeField] private float _fadeOutDuration = 0.5f; + + private CanvasGroup _canvasGroup; + + private void Awake() + { + if (Instance != null && Instance != this) + { + Debug.LogWarning("[DialogueScreenUI] Multiple instances detected! Destroying duplicate."); + Destroy(gameObject); + return; + } + + Instance = this; + + if (_dialoguePanel != null) + { + _canvasGroup = _dialoguePanel.GetComponent(); + + if (_canvasGroup == null) + _canvasGroup = _dialoguePanel.AddComponent(); + } + } + + private void OnDestroy() + { + if (Instance == this) + Instance = null; + } + + public void Show(string speaker, string dialogue) + { + if (_speakerText != null) + _speakerText.text = speaker; + + if (_dialogueText != null) + _dialogueText.text = dialogue; + + if (_dialoguePanel != null) + { + _dialoguePanel.SetActive(true); + + if (_canvasGroup != null) + { + LeanTween.cancel(_dialoguePanel); + _canvasGroup.alpha = 1f; + } + } + } + + public void Hide() + { + if (_dialoguePanel != null) + _dialoguePanel.SetActive(false); + } + + public void FadeOutAndHide(System.Action onComplete = null) + { + if (_canvasGroup != null && _dialoguePanel != null) + { + LeanTween.cancel(_dialoguePanel); + LeanTween.alphaCanvas(_canvasGroup, 0f, _fadeOutDuration) + .setOnComplete(() => + { + Hide(); + onComplete?.Invoke(); + }); + } + else + { + Hide(); + onComplete?.Invoke(); + } + } + } +} diff --git a/Assets/Unheimlich_POC/Scripts/UI/DialogueScreenUI.cs.meta b/Assets/Unheimlich_POC/Scripts/UI/DialogueScreenUI.cs.meta new file mode 100644 index 00000000..e0efb87d --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/UI/DialogueScreenUI.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: bc4c44e24ba19844b822608a46bde428 \ No newline at end of file diff --git a/Assets/Unheimlich_POC/Scripts/UI/DialogueUI.cs b/Assets/Unheimlich_POC/Scripts/UI/DialogueUI.cs index e9e57774..4dfd69b9 100644 --- a/Assets/Unheimlich_POC/Scripts/UI/DialogueUI.cs +++ b/Assets/Unheimlich_POC/Scripts/UI/DialogueUI.cs @@ -1,11 +1,9 @@ using UnityEngine; -using UnityEngine.UI; using System.Collections.Generic; using TMPro; using Unheimlich.Data.Dialogues; using Unheimlich.Gameplay.Player; using Unheimlich.Interactions.FloatingWords; -using Unheimlich.Interactions.Dialogues; namespace Unheimlich.UI { @@ -15,11 +13,11 @@ namespace Unheimlich.UI /// public class DialogueUI : MonoBehaviour { - [Header("Panels")] + [Header("Panels - World Mode")] [SerializeField] private GameObject _dialoguePanel; public GameObject ChoiceContainer; - [Header("Text Fields")] + [Header("Text Fields - World Mode")] [SerializeField] private TextMeshProUGUI _speakerText; [SerializeField] private TextMeshProUGUI _contentText; @@ -43,6 +41,8 @@ namespace Unheimlich.UI private float _sortTimer = 0f; private const float SORT_INTERVAL = 0.1f; + private DialogueDisplayMode _currentDisplayMode = DialogueDisplayMode.World; + private static readonly Vector3 ViewportCenter = new Vector3(0.5f, 0.5f, 0f); private void Awake() @@ -76,42 +76,85 @@ namespace Unheimlich.UI SortChoicesByDistance(); } - public void ShowDialogueBox(string speaker, string content) + public void ShowDialogueBox(string speaker, string content, DialogueDisplayMode displayMode = DialogueDisplayMode.World) { - _speakerText.text = speaker; - _contentText.text = content; - _dialoguePanel.SetActive(true); + _currentDisplayMode = displayMode; - if (_dialogueCanvasGroup != null) + if (displayMode == DialogueDisplayMode.World) { - LeanTween.cancel(_dialoguePanel); - _dialogueCanvasGroup.alpha = 1f; + if (DialogueScreenUI.Instance != null) + DialogueScreenUI.Instance.Hide(); + + _speakerText.text = speaker; + _contentText.text = content; + _dialoguePanel.SetActive(true); + + if (_dialogueCanvasGroup != null) + { + LeanTween.cancel(_dialoguePanel); + _dialogueCanvasGroup.alpha = 1f; + } + } + else + { + if (_dialoguePanel != null) + _dialoguePanel.SetActive(false); + + if (DialogueScreenUI.Instance != null) + DialogueScreenUI.Instance.Show(speaker, content); + else + Debug.LogWarning("[DialogueUI] DialogueScreenUI.Instance is null! Make sure DialogueScreenUI component exists in the scene."); } } public void HideDialogueBox() { - _dialoguePanel.SetActive(false); + if (_dialoguePanel != null) + _dialoguePanel.SetActive(false); + + if (DialogueScreenUI.Instance != null) + DialogueScreenUI.Instance.Hide(); + ChoiceContainer.SetActive(false); HideChoices(); } public void FadeOutAndHide(System.Action onComplete = null) { - if (_dialogueCanvasGroup != null) + if (_currentDisplayMode == DialogueDisplayMode.World) { - LeanTween.cancel(_dialoguePanel); - LeanTween.alphaCanvas(_dialogueCanvasGroup, 0f, _fadeOutDuration) - .setOnComplete(() => - { - HideDialogueBox(); - onComplete?.Invoke(); - }); + if (_dialogueCanvasGroup != null && _dialoguePanel != null) + { + LeanTween.cancel(_dialoguePanel); + LeanTween.alphaCanvas(_dialogueCanvasGroup, 0f, _fadeOutDuration) + .setOnComplete(() => + { + HideDialogueBox(); + onComplete?.Invoke(); + }); + } + else + { + HideDialogueBox(); + onComplete?.Invoke(); + } } else { - HideDialogueBox(); - onComplete?.Invoke(); + if (DialogueScreenUI.Instance != null) + { + DialogueScreenUI.Instance.FadeOutAndHide(() => + { + HideChoices(); + ChoiceContainer.SetActive(false); + onComplete?.Invoke(); + }); + } + else + { + HideDialogueBox(); + onComplete?.Invoke(); + } } } diff --git a/Packages/manifest.json b/Packages/manifest.json index b483f086..03d1c0b5 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,5 +1,6 @@ { "dependencies": { + "com.unity.2d.sprite": "1.0.0", "com.unity.ai.navigation": "2.0.9", "com.unity.collab-proxy": "2.11.2", "com.unity.ide.rider": "3.0.38", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 41658f2a..d4719eb3 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -8,6 +8,12 @@ "com.unity.nuget.newtonsoft-json": "3.2.1" } }, + "com.unity.2d.sprite": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, "com.unity.ai.navigation": { "version": "2.0.9", "depth": 0, diff --git a/Unheimlish_POC.slnx b/Unheimlish_POC.slnx new file mode 100644 index 00000000..f22d3429 --- /dev/null +++ b/Unheimlish_POC.slnx @@ -0,0 +1,5 @@ + + + + +