diff --git a/Assets/Unheimlich_POC/Datas/Camera/DetectiveBoardPanSettings.asset b/Assets/Unheimlich_POC/Datas/Camera/DetectiveBoardPanSettings.asset index 22c7309f..389b59a6 100644 --- a/Assets/Unheimlich_POC/Datas/Camera/DetectiveBoardPanSettings.asset +++ b/Assets/Unheimlich_POC/Datas/Camera/DetectiveBoardPanSettings.asset @@ -15,7 +15,7 @@ MonoBehaviour: PanSpeed: 2 PanBorderSize: 0.15 MaxPanAngle: 45 - EnableRecentering: 1 + EnableRecentering: 0 RecenterSpeed: 0.5 RecenterDelay: 0.1 AlignmentSpeed: 4 diff --git a/Assets/Unheimlich_POC/Datas/DetectiveBoard/ExampleClue_BrokenDoor.asset b/Assets/Unheimlich_POC/Datas/DetectiveBoard/ExampleClue_LevitatingCube.asset similarity index 68% rename from Assets/Unheimlich_POC/Datas/DetectiveBoard/ExampleClue_BrokenDoor.asset rename to Assets/Unheimlich_POC/Datas/DetectiveBoard/ExampleClue_LevitatingCube.asset index bb9bd320..8adabb35 100644 --- a/Assets/Unheimlich_POC/Datas/DetectiveBoard/ExampleClue_BrokenDoor.asset +++ b/Assets/Unheimlich_POC/Datas/DetectiveBoard/ExampleClue_LevitatingCube.asset @@ -10,14 +10,13 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 166ae120db91b064c9b98086267b9783, type: 3} - m_Name: ExampleClue_BrokenDoor + m_Name: ExampleClue_LevitatingCube m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Data.DetectiveBoard.ClueData - ClueID: clue_broken_door_002 - Title: Broken Door - Description: The door to cell 13 shows signs of forced entry. Scratch marks on - the inside. - Icon: {fileID: 0} - NodeColor: {r: 0.8, g: 0.8, b: 0.8, a: 1} + ClueID: clue_levitation_cube + Title: Cube Levitation + Description: "Le cube l\xE9vitait ? " + Icon: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + NodeColor: {r: 0.5471698, g: 0.4341498, b: 0.025809828, a: 1} PossibleConnections: - clue_strange_sound_001 - clue_patient_testimony_003 diff --git a/Assets/Unheimlich_POC/Datas/DetectiveBoard/ExampleClue_BrokenDoor.asset.meta b/Assets/Unheimlich_POC/Datas/DetectiveBoard/ExampleClue_LevitatingCube.asset.meta similarity index 100% rename from Assets/Unheimlich_POC/Datas/DetectiveBoard/ExampleClue_BrokenDoor.asset.meta rename to Assets/Unheimlich_POC/Datas/DetectiveBoard/ExampleClue_LevitatingCube.asset.meta diff --git a/Assets/Unheimlich_POC/Prefabs/Rooms/RoomToLoadFive.prefab b/Assets/Unheimlich_POC/Prefabs/Rooms/RoomToLoadFive.prefab index b9edff8e..3e8dad00 100644 --- a/Assets/Unheimlich_POC/Prefabs/Rooms/RoomToLoadFive.prefab +++ b/Assets/Unheimlich_POC/Prefabs/Rooms/RoomToLoadFive.prefab @@ -1,5 +1,133 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &178245048760048658 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4439308675065618236} + - component: {fileID: 8768173993509551329} + - component: {fileID: 8228955512308698997} + - component: {fileID: 610326624064972366} + - component: {fileID: 7357781231808705528} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4439308675065618236 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178245048760048658} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.67, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1570673126153523765} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8768173993509551329 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178245048760048658} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8228955512308698997 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178245048760048658} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &610326624064972366 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178245048760048658} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &7357781231808705528 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 178245048760048658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cca584f48d1f0ab429416470fd01d543, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Handlers.DetectiveBoard.ClueUnlockOnInteraction + InteractionText: Interact + _clueToUnlock: {fileID: 11400000, guid: f00adada8d7d4d24eb9e1b189cb15cd2, type: 2} + _unlockOnlyOnce: 1 --- !u!1 &1426444537624782055 GameObject: m_ObjectHideFlags: 0 @@ -32,6 +160,41 @@ Transform: - {fileID: 6782646836872321146} m_Father: {fileID: 3965737018690194595} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1492141393047357634 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1025430116059553395} + m_Layer: 0 + m_Name: ConnectionsContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1025430116059553395 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1492141393047357634} + 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: 3296430617892173296} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1995558577310749644 GameObject: m_ObjectHideFlags: 0 @@ -267,6 +430,130 @@ MeshRenderer: m_SortingOrder: 0 m_MaskInteraction: 0 m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &2846607907897423711 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3291832893027407756} + - component: {fileID: 7386465302982466894} + - component: {fileID: 645358304861263696} + - component: {fileID: 7749130983367147328} + - component: {fileID: 4342417931132834337} + m_Layer: 0 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3291832893027407756 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2846607907897423711} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.53} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3296430617892173296} + m_Father: {fileID: 5831650301161165405} + 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: 700, y: 500} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &7386465302982466894 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2846607907897423711} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 25 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &645358304861263696 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2846607907897423711} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 1 +--- !u!114 &7749130983367147328 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2846607907897423711} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &4342417931132834337 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2846607907897423711} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: edfcd01879d2cb34495302ef9882965b, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.UI.DetectiveBoard.DetectiveBoardCanvas + _canvas: {fileID: 7386465302982466894} + _boardArea: {fileID: 3296430617892173296} + _postItNodePrefab: {fileID: 7846882426873689123, guid: a9f97c7c1680277458e17d17c4e255c5, type: 3} + _connectionLinePrefab: {fileID: 466932862949433828, guid: 08d69aa508d5b8f439912b8ef5ee8dfc, type: 3} + _targetCamera: {fileID: 0} + _connectionColor: {r: 0.99371064, g: 0.30311283, b: 0.30311283, a: 1} + _allowFreeConnections: 0 + _connectModeKey: 55 + _eliminateKey: 38 --- !u!1 &3210101827131705135 GameObject: m_ObjectHideFlags: 0 @@ -284,22 +571,27 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &5831650301161165405 -Transform: +--- !u!224 &5831650301161165405 +RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3210101827131705135} - serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.38435, y: 3.99, z: 13.13094} + m_LocalPosition: {x: 0, y: 0, z: 13.13094} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 3941506515996401395} + - {fileID: 3291832893027407756} m_Father: {fileID: 3965737018690194595} 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.38435, y: 3.99} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} --- !u!65 &300362587813736772 BoxCollider: m_ObjectHideFlags: 0 @@ -448,6 +740,38 @@ MonoBehaviour: m_ShadowLayerMask: 1 m_RenderingLayers: 1 m_ShadowRenderingLayers: 1 +--- !u!1 &4282593541683510326 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1570673126153523765} + m_Layer: 0 + m_Name: InspectableItems + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1570673126153523765 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4282593541683510326} + serializedVersion: 2 + 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: 4439308675065618236} + m_Father: {fileID: 3965737018690194595} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &4459682163590834316 GameObject: m_ObjectHideFlags: 0 @@ -1184,6 +1508,41 @@ BoxCollider: serializedVersion: 3 m_Size: {x: 28.783504, y: 14.541088, z: 26.26189} m_Center: {x: 0, y: 7.270544, z: 0} +--- !u!1 &5479374775542439816 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1866179234455568745} + m_Layer: 0 + m_Name: NodesContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1866179234455568745 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5479374775542439816} + 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: 3296430617892173296} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &5852353150564838653 GameObject: m_ObjectHideFlags: 0 @@ -1404,11 +1763,13 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 1486611898895186651} - {fileID: 8686293093389133775} - {fileID: 3812313393986610632} - {fileID: 404191218827319330} - {fileID: 7656844688830104809} - {fileID: 5831650301161165405} + - {fileID: 1570673126153523765} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &8358850242504541279 @@ -1443,6 +1804,157 @@ Transform: - {fileID: 7557062904579759447} m_Father: {fileID: 5831650301161165405} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8770322228334495894 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3296430617892173296} + - component: {fileID: 5503299879017764016} + - component: {fileID: 6526961613812749078} + m_Layer: 0 + m_Name: BoardArea + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3296430617892173296 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8770322228334495894} + 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: 1025430116059553395} + - {fileID: 1866179234455568745} + m_Father: {fileID: 3291832893027407756} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5503299879017764016 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8770322228334495894} + m_CullTransparentMesh: 1 +--- !u!114 &6526961613812749078 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8770322228334495894} + 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.1, g: 0.1, b: 0.1, a: 0.95} + 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!1001 &694012498343031781 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 3965737018690194595} + m_Modifications: + - target: {fileID: 417056584789800637, guid: 0048fed3be8aeb8449285faf2cc63a15, type: 3} + propertyPath: m_Name + value: NPC + objectReference: {fileID: 0} + - target: {fileID: 2089706605371115838, guid: 0048fed3be8aeb8449285faf2cc63a15, type: 3} + propertyPath: m_LocalPosition.x + value: -4.96 + objectReference: {fileID: 0} + - target: {fileID: 2089706605371115838, guid: 0048fed3be8aeb8449285faf2cc63a15, type: 3} + propertyPath: m_LocalPosition.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2089706605371115838, guid: 0048fed3be8aeb8449285faf2cc63a15, type: 3} + propertyPath: m_LocalPosition.z + value: 0.92 + objectReference: {fileID: 0} + - target: {fileID: 2089706605371115838, guid: 0048fed3be8aeb8449285faf2cc63a15, type: 3} + propertyPath: m_LocalRotation.w + value: 0.024001773 + objectReference: {fileID: 0} + - target: {fileID: 2089706605371115838, guid: 0048fed3be8aeb8449285faf2cc63a15, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2089706605371115838, guid: 0048fed3be8aeb8449285faf2cc63a15, type: 3} + propertyPath: m_LocalRotation.y + value: -0.99971193 + objectReference: {fileID: 0} + - target: {fileID: 2089706605371115838, guid: 0048fed3be8aeb8449285faf2cc63a15, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2089706605371115838, guid: 0048fed3be8aeb8449285faf2cc63a15, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2089706605371115838, guid: 0048fed3be8aeb8449285faf2cc63a15, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -177.249 + objectReference: {fileID: 0} + - target: {fileID: 2089706605371115838, guid: 0048fed3be8aeb8449285faf2cc63a15, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3429640485016181805, guid: 0048fed3be8aeb8449285faf2cc63a15, type: 3} + propertyPath: Conversation + value: + objectReference: {fileID: 11400000, guid: e9616b580e808fc4db9990454a298402, type: 2} + - target: {fileID: 3429640485016181805, guid: 0048fed3be8aeb8449285faf2cc63a15, type: 3} + propertyPath: isRetriggerable + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3429640485016181805, guid: 0048fed3be8aeb8449285faf2cc63a15, type: 3} + propertyPath: animationSettings + value: + objectReference: {fileID: 11400000, guid: 8d2436fb443aa634aa29932571994f9e, type: 2} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0048fed3be8aeb8449285faf2cc63a15, type: 3} +--- !u!4 &1486611898895186651 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2089706605371115838, guid: 0048fed3be8aeb8449285faf2cc63a15, type: 3} + m_PrefabInstance: {fileID: 694012498343031781} + m_PrefabAsset: {fileID: 0} --- !u!1001 &6429269889663292092 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Unheimlich_POC/Prefabs/UI/DetectiveBoard.meta b/Assets/Unheimlich_POC/Prefabs/UI/DetectiveBoard.meta new file mode 100644 index 00000000..e1369a25 --- /dev/null +++ b/Assets/Unheimlich_POC/Prefabs/UI/DetectiveBoard.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 11775599cc2865c4987f479c5b0865d3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Prefabs/UI/DetectiveBoard/ConnectionLine.prefab b/Assets/Unheimlich_POC/Prefabs/UI/DetectiveBoard/ConnectionLine.prefab new file mode 100644 index 00000000..d1a45854 --- /dev/null +++ b/Assets/Unheimlich_POC/Prefabs/UI/DetectiveBoard/ConnectionLine.prefab @@ -0,0 +1,94 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &466932862949433828 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8354868711036720273} + - component: {fileID: 8318893385783982974} + - component: {fileID: 6968356431738730970} + - component: {fileID: 5775632746252415440} + m_Layer: 5 + m_Name: ConnectionLine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8354868711036720273 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 466932862949433828} + 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: 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: 3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8318893385783982974 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 466932862949433828} + m_CullTransparentMesh: 1 +--- !u!114 &6968356431738730970 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 466932862949433828} + 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: 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!114 &5775632746252415440 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 466932862949433828} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d38fc1a64b1949443b49ec6506174085, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.UI.DetectiveBoard.ConnectionLine + _lineImage: {fileID: 6968356431738730970} + _rectTransform: {fileID: 8354868711036720273} + _lineThickness: 3 + _lineColor: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/Unheimlich_POC/Prefabs/UI/DetectiveBoard/ConnectionLine.prefab.meta b/Assets/Unheimlich_POC/Prefabs/UI/DetectiveBoard/ConnectionLine.prefab.meta new file mode 100644 index 00000000..71b91c4c --- /dev/null +++ b/Assets/Unheimlich_POC/Prefabs/UI/DetectiveBoard/ConnectionLine.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 08d69aa508d5b8f439912b8ef5ee8dfc +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Prefabs/UI/DetectiveBoard/PostItNode.prefab b/Assets/Unheimlich_POC/Prefabs/UI/DetectiveBoard/PostItNode.prefab new file mode 100644 index 00000000..8ec35681 --- /dev/null +++ b/Assets/Unheimlich_POC/Prefabs/UI/DetectiveBoard/PostItNode.prefab @@ -0,0 +1,573 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3672113589456314020 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8026902276077438045} + - component: {fileID: 7028051022038080768} + - component: {fileID: 5948765940382964026} + m_Layer: 5 + m_Name: TitleText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8026902276077438045 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3672113589456314020} + 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: 7591763859490843308} + 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: 50} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7028051022038080768 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3672113589456314020} + m_CullTransparentMesh: 1 +--- !u!114 &5948765940382964026 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3672113589456314020} + 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: New Text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: + - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 20 + m_fontSizeBase: 20 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_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 &7688294146181944494 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6807041897062497986} + - component: {fileID: 4404710262467152139} + - component: {fileID: 6992333417677707967} + m_Layer: 5 + m_Name: Outline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6807041897062497986 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7688294146181944494} + 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: 7591763859490843308} + 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: 205, y: 155} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4404710262467152139 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7688294146181944494} + m_CullTransparentMesh: 1 +--- !u!114 &6992333417677707967 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7688294146181944494} + 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: 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!1 &7846882426873689123 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7591763859490843308} + - component: {fileID: 2194047863489680297} + - component: {fileID: 8070799684683118059} + m_Layer: 5 + m_Name: PostItNode + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7591763859490843308 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7846882426873689123} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_ConstrainProportionsScale: 1 + m_Children: + - {fileID: 6807041897062497986} + - {fileID: 3379618101084551040} + - {fileID: 8026902276077438045} + - {fileID: 41566004426457767} + - {fileID: 9220801998878648733} + 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: 200, y: 150} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2194047863489680297 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7846882426873689123} + m_CullTransparentMesh: 1 +--- !u!114 &8070799684683118059 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7846882426873689123} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a398093f79b17c04e81fe88b509b1319, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.UI.DetectiveBoard.PostItNode + _rectTransform: {fileID: 7591763859490843308} + _background: {fileID: 7922678125126277134} + _titleText: {fileID: 5948765940382964026} + _descriptionText: {fileID: 6676115482369832417} + _iconImage: {fileID: 6995818135968247161} + _strikethroughLine: {fileID: 0} + _selectionOutline: {fileID: 6992333417677707967} + _connectionPoint: {fileID: 7591763859490843308} +--- !u!1 &8534530790302832033 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 41566004426457767} + - component: {fileID: 7162169036624129114} + - component: {fileID: 6676115482369832417} + m_Layer: 5 + m_Name: DescriptionText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &41566004426457767 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8534530790302832033} + 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: 7591763859490843308} + 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: 19.4} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7162169036624129114 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8534530790302832033} + m_CullTransparentMesh: 1 +--- !u!114 &6676115482369832417 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8534530790302832033} + 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: New Text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: + - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, 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: 10 + m_fontSizeBase: 10 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_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 &8965906964013961457 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9220801998878648733} + - component: {fileID: 8161626241881700946} + - component: {fileID: 6995818135968247161} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &9220801998878648733 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8965906964013961457} + 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: 7591763859490843308} + 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: -38.8} + m_SizeDelta: {x: 64, y: 64} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8161626241881700946 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8965906964013961457} + m_CullTransparentMesh: 1 +--- !u!114 &6995818135968247161 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8965906964013961457} + 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: 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!1 &9203127167361325707 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3379618101084551040} + - component: {fileID: 8648018728799938431} + - component: {fileID: 7922678125126277134} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3379618101084551040 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9203127167361325707} + 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: 7591763859490843308} + 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: 200, y: 150} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8648018728799938431 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9203127167361325707} + m_CullTransparentMesh: 1 +--- !u!114 &7922678125126277134 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9203127167361325707} + 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.44025147, g: 0.39399204, b: 0, 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/DetectiveBoard/PostItNode.prefab.meta b/Assets/Unheimlich_POC/Prefabs/UI/DetectiveBoard/PostItNode.prefab.meta new file mode 100644 index 00000000..b07bbcea --- /dev/null +++ b/Assets/Unheimlich_POC/Prefabs/UI/DetectiveBoard/PostItNode.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a9f97c7c1680277458e17d17c4e255c5 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unheimlich_POC/Scenes/MainScene/MainScene.unity b/Assets/Unheimlich_POC/Scenes/MainScene/MainScene.unity index 39d4aa45..aef3ef2e 100644 --- a/Assets/Unheimlich_POC/Scenes/MainScene/MainScene.unity +++ b/Assets/Unheimlich_POC/Scenes/MainScene/MainScene.unity @@ -167,6 +167,28 @@ MonoBehaviour: m_EditorClassIdentifier: Unity.InputSystem::UnityEngine.InputSystem.InputActionReference m_Asset: {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3} m_ActionId: a3ec6166-3b8f-4545-9fa4-40583be0fc66 +--- !u!1 &71310880 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 893980407258203480, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + m_PrefabInstance: {fileID: 102351984} + m_PrefabAsset: {fileID: 0} +--- !u!114 &71310885 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 71310880} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 61b90106a531ea840b670f368e2c8aa9, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Handlers.DetectiveBoard.ClueUnlockTrigger + _clueToUnlock: {fileID: 11400000, guid: 1ef1769f9dc66c4409621d5e0e0d40b0, type: 2} + _unlockOnStart: 1 + _unlockOnEnable: 0 + _unlockDelay: 0 + _debugMode: 1 --- !u!1001 &102351984 PrefabInstance: m_ObjectHideFlags: 0 @@ -175,18 +197,26 @@ PrefabInstance: serializedVersion: 3 m_TransformParent: {fileID: 0} m_Modifications: + - target: {fileID: 178245048760048658, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_Layer + value: 3 + objectReference: {fileID: 0} - target: {fileID: 1308658098883283559, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} propertyPath: m_Mesh value: - objectReference: {fileID: 1949684909} + objectReference: {fileID: 1929366845} - target: {fileID: 1450394912075574427, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} propertyPath: m_Mesh value: - objectReference: {fileID: 297438471} + objectReference: {fileID: 461820781} - target: {fileID: 2146349534604163061, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} propertyPath: m_Mesh value: - objectReference: {fileID: 297438471} + objectReference: {fileID: 461820781} + - target: {fileID: 2754275979338379208, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} - target: {fileID: 2757010966349118316, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} propertyPath: m_Layer value: 7 @@ -237,7 +267,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5831650301161165405, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} propertyPath: m_LocalPosition.y - value: 2.33 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6121043411098075476, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} propertyPath: _boardTransform @@ -258,7 +288,15 @@ PrefabInstance: - target: {fileID: 6433754577218517818, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} propertyPath: m_Mesh value: - objectReference: {fileID: 1949684909} + objectReference: {fileID: 1929366845} + - target: {fileID: 7357781231808705528, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7357781231808705528, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + propertyPath: _unlockOnlyOnce + value: 1 + objectReference: {fileID: 0} - target: {fileID: 7994283466214186746, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} propertyPath: m_Name value: RoomToLoadFive @@ -266,23 +304,38 @@ PrefabInstance: - target: {fileID: 8209576767969738346, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} propertyPath: m_Mesh value: - objectReference: {fileID: 1949684909} + objectReference: {fileID: 1929366845} - target: {fileID: 8209576767969738346, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} propertyPath: m_VersionIndex - value: 5932 + value: 6127 objectReference: {fileID: 0} - target: {fileID: 8358850242504541279, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} propertyPath: m_Layer value: 7 objectReference: {fileID: 0} m_RemovedComponents: - - {fileID: 6121043411098075476, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + - {fileID: 0} m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 893980407258203480, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + insertIndex: -1 + addedObject: {fileID: 71310885} + - targetCorrespondingSourceObject: {fileID: 2846607907897423711, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + insertIndex: -1 + addedObject: {fileID: 962945651} + - targetCorrespondingSourceObject: {fileID: 178245048760048658, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + insertIndex: -1 + addedObject: {fileID: 1721781213} + - targetCorrespondingSourceObject: {fileID: 178245048760048658, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + insertIndex: -1 + addedObject: {fileID: 1721781212} + - targetCorrespondingSourceObject: {fileID: 178245048760048658, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + insertIndex: -1 + addedObject: {fileID: 1721781214} m_SourcePrefab: {fileID: 100100000, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} ---- !u!4 &102351985 stripped -Transform: +--- !u!224 &102351985 stripped +RectTransform: m_CorrespondingSourceObject: {fileID: 5831650301161165405, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} m_PrefabInstance: {fileID: 102351984} m_PrefabAsset: {fileID: 0} @@ -464,184 +517,6 @@ Mesh: - serializedVersion: 1 m_IndexStart: 0 m_IndexCount: 0 ---- !u!43 &297438471 -Mesh: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh-21770 - serializedVersion: 12 - m_SubMeshes: - - serializedVersion: 2 - firstByte: 0 - indexCount: 0 - topology: 0 - baseVertex: 0 - firstVertex: 0 - vertexCount: 0 - localAABB: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0, y: 0, z: 0} - m_Shapes: - vertices: [] - shapes: [] - channels: [] - fullWeights: [] - m_BindPose: [] - m_BoneNameHashes: - m_RootBoneNameHash: 0 - m_BonesAABB: [] - m_VariableBoneCountWeights: - m_Data: - m_MeshCompression: 0 - m_IsReadable: 1 - m_KeepVertices: 1 - m_KeepIndices: 1 - m_IndexFormat: 0 - m_IndexBuffer: - m_VertexData: - serializedVersion: 3 - m_VertexCount: 0 - m_Channels: - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - m_DataSize: 0 - _typelessdata: - m_CompressedMesh: - m_Vertices: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_UV: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Normals: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Tangents: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Weights: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_NormalSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_TangentSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_FloatColors: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_BoneIndices: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_Triangles: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_UVInfo: 0 - m_LocalAABB: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0, y: 0, z: 0} - m_MeshUsageFlags: 0 - m_CookingOptions: 30 - m_BakedConvexCollisionMesh: - m_BakedTriangleCollisionMesh: - 'm_MeshMetrics[0]': 1 - 'm_MeshMetrics[1]': 1 - m_MeshOptimizationFlags: 1 - m_StreamData: - serializedVersion: 2 - offset: 0 - size: 0 - path: - m_MeshLodInfo: - serializedVersion: 2 - m_LodSelectionCurve: - serializedVersion: 1 - m_LodSlope: 0 - m_LodBias: 0 - m_NumLevels: 1 - m_SubMeshes: - - serializedVersion: 2 - m_Levels: - - serializedVersion: 1 - m_IndexStart: 0 - m_IndexCount: 0 --- !u!43 &362502328 Mesh: m_ObjectHideFlags: 0 @@ -1059,11 +934,367 @@ Animator: m_CorrespondingSourceObject: {fileID: 3326093237010115507, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3} m_PrefabInstance: {fileID: 5090177222934034458} m_PrefabAsset: {fileID: 0} +--- !u!43 &461820781 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: pb_Mesh-21770(Clone)(Clone) + serializedVersion: 12 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 0 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 0 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: + m_VertexData: + serializedVersion: 3 + m_VertexCount: 0 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 0 + _typelessdata: + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: + m_MeshLodInfo: + serializedVersion: 2 + m_LodSelectionCurve: + serializedVersion: 1 + m_LodSlope: 0 + m_LodBias: 0 + m_NumLevels: 1 + m_SubMeshes: + - serializedVersion: 2 + m_Levels: + - serializedVersion: 1 + m_IndexStart: 0 + m_IndexCount: 0 --- !u!1 &543806957 stripped GameObject: m_CorrespondingSourceObject: {fileID: 2911834610010628020, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3} m_PrefabInstance: {fileID: 5090177222934034458} m_PrefabAsset: {fileID: 0} +--- !u!43 &632997879 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: pb_Mesh-28734 + serializedVersion: 12 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 120 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 56 + localAABB: + m_Center: {x: 1.5878825, y: 2.0809317, z: -0.43092784} + m_Extent: {x: 1.5878825, y: 2.0809317, z: 0.43092784} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 0000010002000000020003000400050006000400060007000800090000000800000003000a00050004000a0004000b0009000b0004000900040000000c000d000e000c000e000f001000110012001000120013000e00140015000e0015000f00120011001600120016001700120017001400120014000e00180019001a0018001a001b001c001d001e001c001e001f002000210022002000220023002400250026002400270025002800260029002800240026002a002b002c002a002d002b002e002c002f002e002a002c0030002f00310030002e002f00320033003400320035003300360034003700360032003400 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 56 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 48 + format: 0 + dimension: 4 + - stream: 0 + offset: 64 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 4480 + _typelessdata: feff3f3ff85b6a4080be58bf0000000000000000000080bf0000803f0000000000000000000080bffeff3f3ff85b6a400000000000000000000000000000000000000000000000000000000000000000feff3f3f0000000080be58bf0000000000000000000080bf0000803f0000000000000000000080bffeff3f3f000000000000000000000000000000000000000000000000000000000000000000000000000000b40000000080be58bf0000000000000000000080bf0000803f0000000000000000000080bf000000b4000000000000000000000000000000000000000000000000000000000000000000000000000000b4f85b6a4080be58bf0000000000000000000080bf0000803f0000000000000000000080bf000000b4f85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f1b40f85b6a4080be58bf0000000000000000000080bf0000803f0000000000000000000080bfbc3f1b40f85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f4b40f85b6a4080be58bf0000000000000000000080bf0000803f0000000000000000000080bfbc3f4b40f85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f4b400000000080be58bf0000000000000000000080bf0000803f0000000000000000000080bfbc3f4b40000000000000000000000000000000000000000000000000000000000000000000000000bc3f1b400000000080be58bf0000000000000000000080bf0000803f0000000000000000000080bfbc3f1b40000000000000000000000000000000000000000000000000000000000000000000000000000000b4fc2d854080be58bf0000000000000000000080bf0000803f0000000000000000000080bf000000b4fc2d85400000000000000000000000000000000000000000000000000000000000000000feff3f3ffc2d854080be58bf0000000000000000000080bf0000803f0000000000000000000080bffeff3f3ffc2d85400000000000000000000000000000000000000000000000000000000000000000bc3f4b40fc2d854080be58bf0000000000000000000080bf0000803f0000000000000000000080bfbc3f4b40fc2d85400000000000000000000000000000000000000000000000000000000000000000bc3f1b40fc2d854080be58bf0000000000000000000080bf0000803f0000000000000000000080bfbc3f1b40fc2d85400000000000000000000000000000000000000000000000000000000000000000000000b4000000000000000000000000000000000000803f000080bf0000000000000000000080bf00000034000000000000000000000000000000000000000000000000000000000000000000000000feff3f3f000000000000000000000000000000000000803f000080bf0000000000000000000080bffeff3fbf000000000000000000000000000000000000000000000000000000000000000000000000feff3f3ff85b6a400000000000000000000000000000803f000080bf0000000000000000000080bffeff3fbff85b6a400000000000000000000000000000000000000000000000000000000000000000000000b4f85b6a400000000000000000000000000000803f000080bf0000000000000000000080bf00000034f85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f4b40000000000000000000000000000000000000803f000080bf0000000000000000000080bfbc3f4bc0000000000000000000000000000000000000000000000000000000000000000000000000bc3f4b40f85b6a400000000000000000000000000000803f000080bf0000000000000000000080bfbc3f4bc0f85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f1b40f85b6a400000000000000000000000000000803f000080bf0000000000000000000080bfbc3f1bc0f85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f1b40000000000000000000000000000000000000803f000080bf0000000000000000000080bfbc3f1bc0000000000000000000000000000000000000000000000000000000000000000000000000feff3f3ffc2d85400000000000000000000000000000803f000080bf0000000000000000000080bffeff3fbffc2d85400000000000000000000000000000000000000000000000000000000000000000000000b4fc2d85400000000000000000000000000000803f000080bf0000000000000000000080bf00000034fc2d85400000000000000000000000000000000000000000000000000000000000000000bc3f4b40fc2d85400000000000000000000000000000803f000080bf0000000000000000000080bfbc3f4bc0fc2d85400000000000000000000000000000000000000000000000000000000000000000bc3f1b40fc2d85400000000000000000000000000000803f000080bf0000000000000000000080bfbc3f1bc0fc2d85400000000000000000000000000000000000000000000000000000000000000000bc3f1b40f85b6a400000000000000000000080bf00000000000080bf0000000000000000000080bfbc3f1bc0000000000000000000000000000000000000000000000000000000000000000000000000feff3f3ff85b6a400000000000000000000080bf00000000000080bf0000000000000000000080bffeff3fbf000000000000000000000000000000000000000000000000000000000000000000000000feff3f3ff85b6a4080be58bf00000000000080bf00000000000080bf0000000000000000000080bffeff3fbf80be58bf0000000000000000000000000000000000000000000000000000000000000000bc3f1b40f85b6a4080be58bf00000000000080bf00000000000080bf0000000000000000000080bfbc3f1bc080be58bf0000000000000000000000000000000000000000000000000000000000000000bc3f1b40f85b6a4000000000000080bf00000000000000000000000000000000000080bf000080bf00000000f85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f1b40f85b6a4080be58bf000080bf00000000000000000000000000000000000080bf000080bf80be583ff85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f1b400000000080be58bf000080bf00000000000000000000000000000000000080bf000080bf80be583f000000000000000000000000000000000000000000000000000000000000000000000000bc3f1b400000000000000000000080bf00000000000000000000000000000000000080bf000080bf00000000000000000000000000000000000000000000000000000000000000000000000000000000feff3f3ff85b6a4080be58bf0000803f000000000000000000000000000000000000803f000080bf80be58bff85b6a400000000000000000000000000000000000000000000000000000000000000000feff3f3ff85b6a40000000000000803f000000000000000000000000000000000000803f000080bf00000000f85b6a400000000000000000000000000000000000000000000000000000000000000000feff3f3f00000000000000000000803f000000000000000000000000000000000000803f000080bf00000000000000000000000000000000000000000000000000000000000000000000000000000000feff3f3f0000000080be58bf0000803f000000000000000000000000000000000000803f000080bf80be58bf000000000000000000000000000000000000000000000000000000000000000000000000000000b4f85b6a4093a25cbf000080bf00000000000000000000000000000000000080bf000080bf93a25c3ff85b6a400000000000000000000000000000000000000000000000000000000000000000000000b40000000000000000000080bf00000000000000000000000000000000000080bf000080bf00000000000000000000000000000000000000000000000000000000000000000000000000000000000000b4f85b6a4000000000000080bf00000000000000000000000000000000000080bf000080bf00000000f85b6a400000000000000000000000000000000000000000000000000000000000000000000000b40000000093a25cbf000080bf00000000000000000000000000000000000080bf000080bf93a25c3f000000000000000000000000000000000000000000000000000000000000000000000000000000b4fc2d854093a25cbf000080bf00000000000000000000000000000000000080bf000080bf93a25c3ffc2d85400000000000000000000000000000000000000000000000000000000000000000000000b4fc2d854000000000000080bf00000000000000000000000000000000000080bf000080bf00000000fc2d85400000000000000000000000000000000000000000000000000000000000000000feff3f3ffc2d854093a25cbf000000000000803f000000000000803f0000000000000000000080bffeff3f3f93a25cbf0000000000000000000000000000000000000000000000000000000000000000000000b4fc2d854000000000000000000000803f000000000000803f0000000000000000000080bf000000b4000000000000000000000000000000000000000000000000000000000000000000000000feff3f3ffc2d854000000000000000000000803f000000000000803f0000000000000000000080bffeff3f3f000000000000000000000000000000000000000000000000000000000000000000000000000000b4fc2d854093a25cbf000000000000803f000000000000803f0000000000000000000080bf000000b493a25cbf0000000000000000000000000000000000000000000000000000000000000000bc3f1b40fc2d854093a25cbf000000000000803f000000000000803f0000000000000000000080bfbc3f1b4093a25cbf0000000000000000000000000000000000000000000000000000000000000000bc3f1b40fc2d854000000000000000000000803f000000000000803f0000000000000000000080bfbc3f1b40000000000000000000000000000000000000000000000000000000000000000000000000bc3f4b40fc2d854093a25cbf000000000000803f000000000000803f0000000000000000000080bfbc3f4b4093a25cbf0000000000000000000000000000000000000000000000000000000000000000bc3f4b40fc2d854000000000000000000000803f000000000000803f0000000000000000000080bfbc3f4b40000000000000000000000000000000000000000000000000000000000000000000000000bc3f4b40f85b6a4093a25cbf0000803f000000000000000000000000000000000000803f000080bf93a25cbff85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f4b40fc2d8540000000000000803f000000000000000000000000000000000000803f000080bf00000000fc2d85400000000000000000000000000000000000000000000000000000000000000000bc3f4b40f85b6a40000000000000803f000000000000000000000000000000000000803f000080bf00000000f85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f4b40fc2d854093a25cbf0000803f000000000000000000000000000000000000803f000080bf93a25cbffc2d85400000000000000000000000000000000000000000000000000000000000000000bc3f4b400000000093a25cbf0000803f000000000000000000000000000000000000803f000080bf93a25cbf000000000000000000000000000000000000000000000000000000000000000000000000bc3f4b4000000000000000000000803f000000000000000000000000000000000000803f000080bf00000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 1.5878825, y: 2.0809317, z: -0.43092784} + m_Extent: {x: 1.5878825, y: 2.0809317, z: 0.43092784} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: + m_MeshLodInfo: + serializedVersion: 2 + m_LodSelectionCurve: + serializedVersion: 1 + m_LodSlope: 0 + m_LodBias: 0 + m_NumLevels: 1 + m_SubMeshes: + - serializedVersion: 2 + m_Levels: + - serializedVersion: 1 + m_IndexStart: 0 + m_IndexCount: 0 --- !u!1 &673917527 GameObject: m_ObjectHideFlags: 0 @@ -1190,6 +1421,36 @@ Transform: - {fileID: 1296540339} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &962945644 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 2846607907897423711, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + m_PrefabInstance: {fileID: 102351984} + m_PrefabAsset: {fileID: 0} +--- !u!223 &962945650 stripped +Canvas: + m_CorrespondingSourceObject: {fileID: 7386465302982466894, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + m_PrefabInstance: {fileID: 102351984} + m_PrefabAsset: {fileID: 0} +--- !u!114 &962945651 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 962945644} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 17bf00a333a0bc9409c21009e3ac6aea, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.UI.DetectiveBoard.DetectiveBoardInteraction + _camera: {fileID: 0} + _boardCanvas: {fileID: 962945650} + _boardArea: {fileID: 1182150969} + _boardLayer: + serializedVersion: 2 + m_Bits: 128 + _boardController: {fileID: 0} + _maxInteractionDistance: 5 --- !u!1001 &996694521 PrefabInstance: m_ObjectHideFlags: 0 @@ -1294,6 +1555,11 @@ Transform: m_CorrespondingSourceObject: {fileID: 5383576672370031505, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3} m_PrefabInstance: {fileID: 5090177222934034458} m_PrefabAsset: {fileID: 0} +--- !u!224 &1182150969 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 3296430617892173296, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + m_PrefabInstance: {fileID: 102351984} + m_PrefabAsset: {fileID: 0} --- !u!1001 &1254363908 PrefabInstance: m_ObjectHideFlags: 0 @@ -1706,6 +1972,103 @@ MonoBehaviour: _readyColor: {r: 0, g: 1, b: 0, a: 1} _pulseSpeed: 2 _pulseIntensity: 0.3 +--- !u!1001 &1612978258 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 426022908894465233, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_Mesh + value: + objectReference: {fileID: 632997879} + - target: {fileID: 864693805788354495, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_Mesh + value: + objectReference: {fileID: 632997879} + - target: {fileID: 1308658098883283559, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_Mesh + value: + objectReference: {fileID: 1895858033} + - target: {fileID: 1450394912075574427, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_Mesh + value: + objectReference: {fileID: 2094428094} + - target: {fileID: 2146349534604163061, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_Mesh + value: + objectReference: {fileID: 2094428094} + - target: {fileID: 3965737018690194595, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_LocalPosition.x + value: 55.104046 + objectReference: {fileID: 0} + - target: {fileID: 3965737018690194595, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_LocalPosition.y + value: -0.000000936132 + objectReference: {fileID: 0} + - target: {fileID: 3965737018690194595, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_LocalPosition.z + value: 70.23328 + objectReference: {fileID: 0} + - target: {fileID: 3965737018690194595, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3965737018690194595, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3965737018690194595, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3965737018690194595, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3965737018690194595, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3965737018690194595, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3965737018690194595, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5289718829583447577, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_Mesh + value: + objectReference: {fileID: 632997879} + - target: {fileID: 5856947998729604413, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_Mesh + value: + objectReference: {fileID: 2094428094} + - target: {fileID: 6433754577218517818, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_Mesh + value: + objectReference: {fileID: 1895858033} + - target: {fileID: 7904602484025268702, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7994283466214186746, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_Name + value: RoomToLoadThree + objectReference: {fileID: 0} + - target: {fileID: 8209576767969738346, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} + propertyPath: m_Mesh + value: + objectReference: {fileID: 1895858033} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 488e1a9d28c26ff4fbd783ca2843ceb4, type: 3} --- !u!1 &1693053744 GameObject: m_ObjectHideFlags: 0 @@ -1738,6 +2101,70 @@ Transform: - {fileID: 2010918814} m_Father: {fileID: 1976498063} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1721781206 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 178245048760048658, guid: 69f9e42d2acbf0344981fcdffd02d588, type: 3} + m_PrefabInstance: {fileID: 102351984} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1721781212 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1721781206} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cd19509bd29a28648a08eaf7f6146ef1, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Gameplay.Items.InspectableItem + InteractionText: Interact + _inspectionDistance: 1 + _rotationSpeed: 100 + _blockInteractionDuringAnimation: 1 +--- !u!54 &1721781213 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1721781206} + serializedVersion: 5 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 + m_UseGravity: 0 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &1721781214 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1721781206} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 899101746b780fa4ca1a66d0af13173c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Gameplay.Items.LevitatingObject + _levitationHeight: 0.3 + _levitationSpeed: 1.5 + _rotationSpeed: 45 + _rotationAxis: {x: 0, y: 1, z: 0} --- !u!1001 &1730678087 PrefabInstance: m_ObjectHideFlags: 0 @@ -2356,13 +2783,191 @@ MonoBehaviour: m_EditorClassIdentifier: Unity.InputSystem::UnityEngine.InputSystem.InputActionReference m_Asset: {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3} m_ActionId: 6b444451-8a00-4d00-a97e-f47457f736a8 ---- !u!43 &1949684909 +--- !u!43 &1895858033 Mesh: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh-21838 + m_Name: pb_Mesh-28824 + serializedVersion: 12 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 84 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 39 + localAABB: + m_Center: {x: 0.033644676, y: 7.270544, z: 0} + m_Extent: {x: 14.425397, y: 7.270544, z: 13.130945} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 00000100020001000300020001000400030004000500030002000300060003000700060003000500070005000800070009000a000b0009000c000a000d000b000e000d0009000b000f00100011000f001200100013001100140013000f001100150016001700150018001600190017001a001900150017001b001c001d001b001e001c001f001d0020001f001b001d00210022002300210024002200240025002200240026002500 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 39 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 48 + format: 0 + dimension: 4 + - stream: 0 + offset: 64 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 3120 + _typelessdata: 9e4466c1000000005a1852c1000000000000803f000000000000803f0000000000000000000080bf9e4466c15a1852c100000000000000000000000000000000000000000000000000000000000000009e4466c10000000000000000000000000000803f000000000000803f0000000000000000000080bf9e4466c100000000000000000000000000000000000000000000000000000000000000000000000000000000000000005a1852c1000000000000803f000000000000803f0000000000000000000080bf000000005a1852c10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000000000803f0000000000000000000080bf000000000000000000000000000000000000000000000000000000000000000000000000000000009e4466c1000000005a185241000000000000803f000000000000803f0000000000000000000080bf9e4466c15a185241000000000000000000000000000000000000000000000000000000000000000000000000000000005a185241000000000000803f000000000000803f0000000000000000000080bf000000005a18524100000000000000000000000000000000000000000000000000000000000000009e446641000000005a1852c1000000000000803f000000000000803f0000000000000000000080bf9e4466415a1852c100000000000000000000000000000000000000000000000000000000000000009e4466410000000000000000000000000000803f000000000000803f0000000000000000000080bf9e4466410000000000000000000000000000000000000000000000000000000000000000000000009e446641000000005a185241000000000000803f000000000000803f0000000000000000000080bf9e4466415a18524100000000000000000000000000000000000000000000000000000000000000009e4466414ca8684100000000000080bf00000000000000000000000000000000000080bf000080bf000000004ca8684100000000000000000000000000000000000000000000000000000000000000009e446641000000005a1852c1000080bf00000000000000000000000000000000000080bf000080bf5a1852410000000000000000000000000000000000000000000000000000000000000000000000009e4466410000000000000000000080bf00000000000000000000000000000000000080bf000080bf000000000000000000000000000000000000000000000000000000000000000000000000000000009e4466414ca86841581852c1000080bf00000000000000000000000000000000000080bf000080bf581852414ca8684100000000000000000000000000000000000000000000000000000000000000009e4466414ca8684158185241000080bf00000000000000000000000000000000000080bf000080bf581852c14ca8684100000000000000000000000000000000000000000000000000000000000000009e446641000000005a185241000080bf00000000000000000000000000000000000080bf000080bf5a1852c1000000000000000000000000000000000000000000000000000000000000000000000000000000004ca8684158185241000000009fd70cb4000080bf0000803f0000000000000000000080bf000000004aa8684100000000000000000000000000000000000000000000000000000000000000009e446641000000005a185241000000009fd70cb4000080bf0000803f0000000000000000000080bf9e4466418c2ce7b5000000000000000000000000000000000000000000000000000000000000000000000000000000005a185241000000009fd70cb4000080bf0000803f0000000000000000000080bf000000008c2ce7b500000000000000000000000000000000000000000000000000000000000000009e4466414ca8684158185241000000009fd70cb4000080bf0000803f0000000000000000000080bf9e4466414aa8684100000000000000000000000000000000000000000000000000000000000000009e4466c14ca8684158185241000000009fd70cb4000080bf0000803f0000000000000000000080bf9e4466c14aa8684100000000000000000000000000000000000000000000000000000000000000009e4466c1000000005a185241000000009fd70cb4000080bf0000803f0000000000000000000080bf9e4466c18c2ce7b500000000000000000000000000000000000000000000000000000000000000009e4466c14ca86841000000000000803f000000000000000000000000000000000000803f000080bf000000004ca8684100000000000000000000000000000000000000000000000000000000000000009e4466c1000000005a1852410000803f000000000000000000000000000000000000803f000080bf5a1852410000000000000000000000000000000000000000000000000000000000000000000000009e4466c100000000000000000000803f000000000000000000000000000000000000803f000080bf000000000000000000000000000000000000000000000000000000000000000000000000000000009e4466c14ca86841581852410000803f000000000000000000000000000000000000803f000080bf581852414ca8684100000000000000000000000000000000000000000000000000000000000000009e4466c14ca86841581852c10000803f000000000000000000000000000000000000803f000080bf581852c14ca8684100000000000000000000000000000000000000000000000000000000000000009e4466c1000000005a1852c10000803f000000000000000000000000000000000000803f000080bf5a1852c1000000000000000000000000000000000000000000000000000000000000000000000000000000004ca86841581852c1000000009fd70cb40000803f000080bf0000000000000000000080bf000000004aa8684100000000000000000000000000000000000000000000000000000000000000009e4466c1000000005a1852c1000000009fd70cb40000803f000080bf0000000000000000000080bf9e4466418c2ce7b5000000000000000000000000000000000000000000000000000000000000000000000000000000005a1852c1000000009fd70cb40000803f000080bf0000000000000000000080bf000000008c2ce7b500000000000000000000000000000000000000000000000000000000000000009e4466c14ca86841581852c1000000009fd70cb40000803f000080bf0000000000000000000080bf9e4466414aa8684100000000000000000000000000000000000000000000000000000000000000009e4466414ca86841581852c1000000009fd70cb40000803f000080bf0000000000000000000080bf9e4466c14aa8684100000000000000000000000000000000000000000000000000000000000000009e446641000000005a1852c1000000009fd70cb40000803f000080bf0000000000000000000080bf9e4466c18c2ce7b500000000000000000000000000000000000000000000000000000000000000003c5867414ca86841581852c100000000000080bf00000000000080bf0000000000000000000080bf3c5867c1581852c100000000000000000000000000000000000000000000000000000000000000009e4466c14ca868410000000000000000000080bf00000000000080bf0000000000000000000080bf9e4466410000000000000000000000000000000000000000000000000000000000000000000000009e4466c14ca86841581852c100000000000080bf00000000000080bf0000000000000000000080bf9e446641581852c100000000000000000000000000000000000000000000000000000000000000003c5867414ca868410000000000000000000080bf00000000000080bf0000000000000000000080bf3c5867c10000000000000000000000000000000000000000000000000000000000000000000000009e4466c14ca868415818524100000000000080bf00000000000080bf0000000000000000000080bf9e4466415818524100000000000000000000000000000000000000000000000000000000000000003c5867414ca868415818524100000000000080bf00000000000080bf0000000000000000000080bf3c5867c1581852410000000000000000000000000000000000000000000000000000000000000000 + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0.033644676, y: 7.270544, z: 0} + m_Extent: {x: 14.425397, y: 7.270544, z: 13.130945} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: + m_MeshLodInfo: + serializedVersion: 2 + m_LodSelectionCurve: + serializedVersion: 1 + m_LodSlope: 0 + m_LodBias: 0 + m_NumLevels: 1 + m_SubMeshes: + - serializedVersion: 2 + m_Levels: + - serializedVersion: 1 + m_IndexStart: 0 + m_IndexCount: 0 +--- !u!43 &1929366845 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: pb_Mesh-21838(Clone)(Clone) serializedVersion: 12 m_SubMeshes: - serializedVersion: 2 @@ -2751,6 +3356,184 @@ Transform: m_CorrespondingSourceObject: {fileID: 2089706605371115838, guid: 0048fed3be8aeb8449285faf2cc63a15, type: 3} m_PrefabInstance: {fileID: 3614017092883427690} m_PrefabAsset: {fileID: 0} +--- !u!43 &2094428094 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: pb_Mesh-28674 + serializedVersion: 12 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 120 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 56 + localAABB: + m_Center: {x: 1.5878825, y: 2.0809317, z: -0.43092784} + m_Extent: {x: 1.5878825, y: 2.0809317, z: 0.43092784} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 0000010002000000020003000400050006000400060007000800090000000800000003000a00050004000a0004000b0009000b0004000900040000000c000d000e000c000e000f001000110012001000120013000e00140015000e0015000f00120011001600120016001700120017001400120014000e00180019001a0018001a001b001c001d001e001c001e001f002000210022002000220023002400250026002400270025002800260029002800240026002a002b002c002a002d002b002e002c002f002e002a002c0030002f00310030002e002f00320033003400320035003300360034003700360032003400 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 56 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 48 + format: 0 + dimension: 4 + - stream: 0 + offset: 64 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 4480 + _typelessdata: feff3f3ff85b6a4080be58bf0000000000000000000080bf0000803f0000000000000000000080bffeff3f3ff85b6a400000000000000000000000000000000000000000000000000000000000000000feff3f3f0000000080be58bf0000000000000000000080bf0000803f0000000000000000000080bffeff3f3f000000000000000000000000000000000000000000000000000000000000000000000000000000b40000000080be58bf0000000000000000000080bf0000803f0000000000000000000080bf000000b4000000000000000000000000000000000000000000000000000000000000000000000000000000b4f85b6a4080be58bf0000000000000000000080bf0000803f0000000000000000000080bf000000b4f85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f1b40f85b6a4080be58bf0000000000000000000080bf0000803f0000000000000000000080bfbc3f1b40f85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f4b40f85b6a4080be58bf0000000000000000000080bf0000803f0000000000000000000080bfbc3f4b40f85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f4b400000000080be58bf0000000000000000000080bf0000803f0000000000000000000080bfbc3f4b40000000000000000000000000000000000000000000000000000000000000000000000000bc3f1b400000000080be58bf0000000000000000000080bf0000803f0000000000000000000080bfbc3f1b40000000000000000000000000000000000000000000000000000000000000000000000000000000b4fc2d854080be58bf0000000000000000000080bf0000803f0000000000000000000080bf000000b4fc2d85400000000000000000000000000000000000000000000000000000000000000000feff3f3ffc2d854080be58bf0000000000000000000080bf0000803f0000000000000000000080bffeff3f3ffc2d85400000000000000000000000000000000000000000000000000000000000000000bc3f4b40fc2d854080be58bf0000000000000000000080bf0000803f0000000000000000000080bfbc3f4b40fc2d85400000000000000000000000000000000000000000000000000000000000000000bc3f1b40fc2d854080be58bf0000000000000000000080bf0000803f0000000000000000000080bfbc3f1b40fc2d85400000000000000000000000000000000000000000000000000000000000000000000000b4000000000000000000000000000000000000803f000080bf0000000000000000000080bf00000034000000000000000000000000000000000000000000000000000000000000000000000000feff3f3f000000000000000000000000000000000000803f000080bf0000000000000000000080bffeff3fbf000000000000000000000000000000000000000000000000000000000000000000000000feff3f3ff85b6a400000000000000000000000000000803f000080bf0000000000000000000080bffeff3fbff85b6a400000000000000000000000000000000000000000000000000000000000000000000000b4f85b6a400000000000000000000000000000803f000080bf0000000000000000000080bf00000034f85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f4b40000000000000000000000000000000000000803f000080bf0000000000000000000080bfbc3f4bc0000000000000000000000000000000000000000000000000000000000000000000000000bc3f4b40f85b6a400000000000000000000000000000803f000080bf0000000000000000000080bfbc3f4bc0f85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f1b40f85b6a400000000000000000000000000000803f000080bf0000000000000000000080bfbc3f1bc0f85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f1b40000000000000000000000000000000000000803f000080bf0000000000000000000080bfbc3f1bc0000000000000000000000000000000000000000000000000000000000000000000000000feff3f3ffc2d85400000000000000000000000000000803f000080bf0000000000000000000080bffeff3fbffc2d85400000000000000000000000000000000000000000000000000000000000000000000000b4fc2d85400000000000000000000000000000803f000080bf0000000000000000000080bf00000034fc2d85400000000000000000000000000000000000000000000000000000000000000000bc3f4b40fc2d85400000000000000000000000000000803f000080bf0000000000000000000080bfbc3f4bc0fc2d85400000000000000000000000000000000000000000000000000000000000000000bc3f1b40fc2d85400000000000000000000000000000803f000080bf0000000000000000000080bfbc3f1bc0fc2d85400000000000000000000000000000000000000000000000000000000000000000bc3f1b40f85b6a400000000000000000000080bf00000000000080bf0000000000000000000080bfbc3f1bc0000000000000000000000000000000000000000000000000000000000000000000000000feff3f3ff85b6a400000000000000000000080bf00000000000080bf0000000000000000000080bffeff3fbf000000000000000000000000000000000000000000000000000000000000000000000000feff3f3ff85b6a4080be58bf00000000000080bf00000000000080bf0000000000000000000080bffeff3fbf80be58bf0000000000000000000000000000000000000000000000000000000000000000bc3f1b40f85b6a4080be58bf00000000000080bf00000000000080bf0000000000000000000080bfbc3f1bc080be58bf0000000000000000000000000000000000000000000000000000000000000000bc3f1b40f85b6a4000000000000080bf00000000000000000000000000000000000080bf000080bf00000000f85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f1b40f85b6a4080be58bf000080bf00000000000000000000000000000000000080bf000080bf80be583ff85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f1b400000000080be58bf000080bf00000000000000000000000000000000000080bf000080bf80be583f000000000000000000000000000000000000000000000000000000000000000000000000bc3f1b400000000000000000000080bf00000000000000000000000000000000000080bf000080bf00000000000000000000000000000000000000000000000000000000000000000000000000000000feff3f3ff85b6a4080be58bf0000803f000000000000000000000000000000000000803f000080bf80be58bff85b6a400000000000000000000000000000000000000000000000000000000000000000feff3f3ff85b6a40000000000000803f000000000000000000000000000000000000803f000080bf00000000f85b6a400000000000000000000000000000000000000000000000000000000000000000feff3f3f00000000000000000000803f000000000000000000000000000000000000803f000080bf00000000000000000000000000000000000000000000000000000000000000000000000000000000feff3f3f0000000080be58bf0000803f000000000000000000000000000000000000803f000080bf80be58bf000000000000000000000000000000000000000000000000000000000000000000000000000000b4f85b6a4093a25cbf000080bf00000000000000000000000000000000000080bf000080bf93a25c3ff85b6a400000000000000000000000000000000000000000000000000000000000000000000000b40000000000000000000080bf00000000000000000000000000000000000080bf000080bf00000000000000000000000000000000000000000000000000000000000000000000000000000000000000b4f85b6a4000000000000080bf00000000000000000000000000000000000080bf000080bf00000000f85b6a400000000000000000000000000000000000000000000000000000000000000000000000b40000000093a25cbf000080bf00000000000000000000000000000000000080bf000080bf93a25c3f000000000000000000000000000000000000000000000000000000000000000000000000000000b4fc2d854093a25cbf000080bf00000000000000000000000000000000000080bf000080bf93a25c3ffc2d85400000000000000000000000000000000000000000000000000000000000000000000000b4fc2d854000000000000080bf00000000000000000000000000000000000080bf000080bf00000000fc2d85400000000000000000000000000000000000000000000000000000000000000000feff3f3ffc2d854093a25cbf000000000000803f000000000000803f0000000000000000000080bffeff3f3f93a25cbf0000000000000000000000000000000000000000000000000000000000000000000000b4fc2d854000000000000000000000803f000000000000803f0000000000000000000080bf000000b4000000000000000000000000000000000000000000000000000000000000000000000000feff3f3ffc2d854000000000000000000000803f000000000000803f0000000000000000000080bffeff3f3f000000000000000000000000000000000000000000000000000000000000000000000000000000b4fc2d854093a25cbf000000000000803f000000000000803f0000000000000000000080bf000000b493a25cbf0000000000000000000000000000000000000000000000000000000000000000bc3f1b40fc2d854093a25cbf000000000000803f000000000000803f0000000000000000000080bfbc3f1b4093a25cbf0000000000000000000000000000000000000000000000000000000000000000bc3f1b40fc2d854000000000000000000000803f000000000000803f0000000000000000000080bfbc3f1b40000000000000000000000000000000000000000000000000000000000000000000000000bc3f4b40fc2d854093a25cbf000000000000803f000000000000803f0000000000000000000080bfbc3f4b4093a25cbf0000000000000000000000000000000000000000000000000000000000000000bc3f4b40fc2d854000000000000000000000803f000000000000803f0000000000000000000080bfbc3f4b40000000000000000000000000000000000000000000000000000000000000000000000000bc3f4b40f85b6a4093a25cbf0000803f000000000000000000000000000000000000803f000080bf93a25cbff85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f4b40fc2d8540000000000000803f000000000000000000000000000000000000803f000080bf00000000fc2d85400000000000000000000000000000000000000000000000000000000000000000bc3f4b40f85b6a40000000000000803f000000000000000000000000000000000000803f000080bf00000000f85b6a400000000000000000000000000000000000000000000000000000000000000000bc3f4b40fc2d854093a25cbf0000803f000000000000000000000000000000000000803f000080bf93a25cbffc2d85400000000000000000000000000000000000000000000000000000000000000000bc3f4b400000000093a25cbf0000803f000000000000000000000000000000000000803f000080bf93a25cbf000000000000000000000000000000000000000000000000000000000000000000000000bc3f4b4000000000000000000000803f000000000000000000000000000000000000803f000080bf00000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 1.5878825, y: 2.0809317, z: -0.43092784} + m_Extent: {x: 1.5878825, y: 2.0809317, z: 0.43092784} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: + m_MeshLodInfo: + serializedVersion: 2 + m_LodSelectionCurve: + serializedVersion: 1 + m_LodSlope: 0 + m_LodBias: 0 + m_NumLevels: 1 + m_SubMeshes: + - serializedVersion: 2 + m_Levels: + - serializedVersion: 1 + m_IndexStart: 0 + m_IndexCount: 0 --- !u!1 &2128643701 GameObject: m_ObjectHideFlags: 0 @@ -3535,7 +4318,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5383576672370031505, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3} propertyPath: m_LocalPosition.x - value: 18.9 + value: 18.6 objectReference: {fileID: 0} - target: {fileID: 5383576672370031505, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3} propertyPath: m_LocalPosition.y @@ -3543,7 +4326,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5383576672370031505, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3} propertyPath: m_LocalPosition.z - value: 63.8 + value: 65.2 objectReference: {fileID: 0} - target: {fileID: 5383576672370031505, guid: 92d3cde0c88c75f48a98d082c573338b, type: 3} propertyPath: m_LocalRotation.w @@ -3688,3 +4471,4 @@ SceneRoots: - {fileID: 673917528} - {fileID: 996694521} - {fileID: 102351984} + - {fileID: 1612978258} diff --git a/Assets/Unheimlich_POC/Scripts/Datas/DetectiveBoard/PostItNodeData.cs b/Assets/Unheimlich_POC/Scripts/Datas/DetectiveBoard/PostItNodeData.cs new file mode 100644 index 00000000..d58c6972 --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/Datas/DetectiveBoard/PostItNodeData.cs @@ -0,0 +1,46 @@ +using UnityEngine; +using System; +using System.Collections.Generic; + +namespace Unheimlich.Data.DetectiveBoard +{ + [Serializable] + public class PostItNodeData + { + public string NodeID; + public Vector2 Position; + public bool IsEliminated; + public List ConnectedNodeIDs = new List(); + + public PostItNodeData(string id, Vector2 position) + { + NodeID = id; + Position = position; + IsEliminated = false; + } + } + + [Serializable] + public class DetectiveBoardSaveData + { + public List Nodes = new List(); + + public PostItNodeData GetNodeData(string nodeID) + { + return Nodes.Find(n => n.NodeID == nodeID); + } + + public void AddOrUpdateNode(PostItNodeData nodeData) + { + int index = Nodes.FindIndex(n => n.NodeID == nodeData.NodeID); + if (index >= 0) + { + Nodes[index] = nodeData; + } + else + { + Nodes.Add(nodeData); + } + } + } +} diff --git a/Assets/Unheimlich_POC/Scripts/Datas/DetectiveBoard/PostItNodeData.cs.meta b/Assets/Unheimlich_POC/Scripts/Datas/DetectiveBoard/PostItNodeData.cs.meta new file mode 100644 index 00000000..8aaaf19e --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/Datas/DetectiveBoard/PostItNodeData.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f2344709e137fdf46aaa5445a330db2f \ No newline at end of file diff --git a/Assets/Unheimlich_POC/Scripts/Gameplay/DetectiveBoard/DetectiveBoardController.cs b/Assets/Unheimlich_POC/Scripts/Gameplay/DetectiveBoard/DetectiveBoardController.cs index 2cb51a9e..7ae0d192 100644 --- a/Assets/Unheimlich_POC/Scripts/Gameplay/DetectiveBoard/DetectiveBoardController.cs +++ b/Assets/Unheimlich_POC/Scripts/Gameplay/DetectiveBoard/DetectiveBoardController.cs @@ -27,6 +27,8 @@ namespace Unheimlich.Gameplay.DetectiveBoard private CameraPanSettings _originalCameraPanSettings; private CameraHeadBob _cameraHeadBob; + public bool IsBoardActive => _isBoardActive; + private void Awake() { _playerCamera = Camera.main; diff --git a/Assets/Unheimlich_POC/Scripts/Gameplay/GameObjects/Items/InspectableItem.cs b/Assets/Unheimlich_POC/Scripts/Gameplay/GameObjects/Items/InspectableItem.cs index 8154a516..dd9be4a5 100644 --- a/Assets/Unheimlich_POC/Scripts/Gameplay/GameObjects/Items/InspectableItem.cs +++ b/Assets/Unheimlich_POC/Scripts/Gameplay/GameObjects/Items/InspectableItem.cs @@ -24,6 +24,7 @@ namespace Unheimlich.Gameplay.Items private Rigidbody _rigidbody; private bool _isAnimationPlaying = false; private ObjectDescriptionTrigger _objectDescriptionTrigger; + private LevitatingObject _levitatingObject; public bool IsAnimationPlaying => _isAnimationPlaying; @@ -37,6 +38,7 @@ namespace Unheimlich.Gameplay.Items _originalParent = transform.parent; _objectDescriptionTrigger = GetComponent(); + _levitatingObject = GetComponent(); } public override void Interact(GameObject interactor) @@ -75,7 +77,12 @@ namespace Unheimlich.Gameplay.Items _rigidbody.isKinematic = true; transform.SetParent(holdPoint); transform.localPosition = Vector3.forward * _inspectionDistance; - transform.localRotation = Quaternion.identity; + transform.localRotation = Quaternion.identity; + + if (_levitatingObject != null) + { + _levitatingObject.UpdateBasePosition(); + } } public void Release() @@ -85,6 +92,11 @@ namespace Unheimlich.Gameplay.Items transform.rotation = _originalRotation; _rigidbody.isKinematic = true; + + if (_levitatingObject != null) + { + _levitatingObject.UpdateBasePosition(); + } } public float RotationSpeed => _rotationSpeed; diff --git a/Assets/Unheimlich_POC/Scripts/Gameplay/GameObjects/Items/LevitatingObject.cs b/Assets/Unheimlich_POC/Scripts/Gameplay/GameObjects/Items/LevitatingObject.cs new file mode 100644 index 00000000..aa06c3dd --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/Gameplay/GameObjects/Items/LevitatingObject.cs @@ -0,0 +1,37 @@ +using UnityEngine; + +namespace Unheimlich.Gameplay.Items +{ + public class LevitatingObject : MonoBehaviour + { + [Header("Levitation Settings")] + [SerializeField] private float _levitationHeight = 0.5f; + [SerializeField] private float _levitationSpeed = 1f; + + [Header("Rotation Settings")] + [SerializeField] private float _rotationSpeed = 30f; + [SerializeField] private Vector3 _rotationAxis = Vector3.up; + + private Vector3 _startLocalPosition; + private float _timeOffset; + + private void Start() + { + _startLocalPosition = transform.localPosition; + _timeOffset = Random.Range(0f, Mathf.PI * 2f); + } + + private void Update() + { + float yOffset = Mathf.Sin((Time.time + _timeOffset) * _levitationSpeed) * _levitationHeight; + transform.localPosition = _startLocalPosition + new Vector3(0f, yOffset, 0f); + + transform.Rotate(_rotationAxis.normalized, _rotationSpeed * Time.deltaTime, Space.World); + } + + public void UpdateBasePosition() + { + _startLocalPosition = transform.localPosition; + } + } +} diff --git a/Assets/Unheimlich_POC/Scripts/Gameplay/GameObjects/Items/LevitatingObject.cs.meta b/Assets/Unheimlich_POC/Scripts/Gameplay/GameObjects/Items/LevitatingObject.cs.meta new file mode 100644 index 00000000..e9f295b5 --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/Gameplay/GameObjects/Items/LevitatingObject.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 899101746b780fa4ca1a66d0af13173c \ No newline at end of file diff --git a/Assets/Unheimlich_POC/Scripts/Handlers/DetectiveBoard/ClueUnlockOnInteraction.cs b/Assets/Unheimlich_POC/Scripts/Handlers/DetectiveBoard/ClueUnlockOnInteraction.cs index 279f02d6..1675f8dd 100644 --- a/Assets/Unheimlich_POC/Scripts/Handlers/DetectiveBoard/ClueUnlockOnInteraction.cs +++ b/Assets/Unheimlich_POC/Scripts/Handlers/DetectiveBoard/ClueUnlockOnInteraction.cs @@ -2,12 +2,13 @@ using UnityEngine; using Unheimlich.Data.DetectiveBoard; using Unheimlich.Interactions.Core; using Unheimlich.Managers; +using Unheimlich.Gameplay.Items; namespace Unheimlich.Handlers.DetectiveBoard { /// /// Unlocks a clue when the player interacts with this object. - /// Extends InteractableBase to integrate with the existing interaction system. + /// Can work standalone (extends InteractableBase) or piggyback on an existing InspectableItem. /// public class ClueUnlockOnInteraction : InteractableBase { @@ -19,15 +20,27 @@ namespace Unheimlich.Handlers.DetectiveBoard [SerializeField] private bool _unlockOnlyOnce = true; private bool _hasUnlocked; + private InspectableItem _inspectableItem; + + private void Awake() + { + _inspectableItem = GetComponent(); + } public override void Interact(GameObject interactor) { if (_unlockOnlyOnce && _hasUnlocked) + { + if (_inspectableItem != null) + _inspectableItem.Interact(interactor); return; + } if (_clueToUnlock == null) { Debug.LogError("[ClueUnlockOnInteraction] No clue data assigned!"); + if (_inspectableItem != null) + _inspectableItem.Interact(interactor); return; } @@ -38,6 +51,11 @@ namespace Unheimlich.Handlers.DetectiveBoard Debug.Log($"[ClueUnlockOnInteraction] Unlocked clue: {_clueToUnlock.Title} via interaction"); } + + if (_inspectableItem != null) + { + _inspectableItem.Interact(interactor); + } } } } diff --git a/Assets/Unheimlich_POC/Scripts/Managers/DetectiveBoardManager.cs b/Assets/Unheimlich_POC/Scripts/Managers/DetectiveBoardManager.cs index 10b410a7..0776a54c 100644 --- a/Assets/Unheimlich_POC/Scripts/Managers/DetectiveBoardManager.cs +++ b/Assets/Unheimlich_POC/Scripts/Managers/DetectiveBoardManager.cs @@ -67,17 +67,32 @@ namespace Unheimlich.Managers BoardPosition = clueData.InitialPosition }; - Debug.Log($"[DetectiveBoardManager] Unlocked clue: {clueData.Title}"); OnClueUnlocked?.Invoke(clueData); } else if (!_clueStates[clueData.ClueID].IsUnlocked) { _clueStates[clueData.ClueID].IsUnlocked = true; - Debug.Log($"[DetectiveBoardManager] Unlocked clue: {clueData.Title}"); OnClueUnlocked?.Invoke(clueData); } } + /// + /// Returns a list of all currently unlocked clues. + /// Used by DetectiveBoardCanvas to display already-unlocked clues on initialization. + /// + public List GetUnlockedClues() + { + List unlockedClues = new List(); + foreach (var state in _clueStates.Values) + { + if (state.IsUnlocked) + { + unlockedClues.Add(state.Data); + } + } + return unlockedClues; + } + /// /// Unlocks a clue by its ID string. /// @@ -88,7 +103,6 @@ namespace Unheimlich.Managers if (!state.IsUnlocked) { state.IsUnlocked = true; - Debug.Log($"[DetectiveBoardManager] Unlocked clue: {state.Data.Title}"); OnClueUnlocked?.Invoke(state.Data); } } diff --git a/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/ClueNodeUI.cs b/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/ClueNodeUI.cs deleted file mode 100644 index 097a1807..00000000 --- a/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/ClueNodeUI.cs +++ /dev/null @@ -1,93 +0,0 @@ -using UnityEngine; -using UnityEngine.UI; -using TMPro; -using Unheimlich.Data.DetectiveBoard; - -namespace Unheimlich.UI.DetectiveBoard -{ - /// - /// Visual representation of a clue node on the detective board. - /// Displays as a post-it/card with title, description, and icon. - /// Supports visual states: unlocked, eliminated, highlighted. - /// - public class ClueNodeUI : MonoBehaviour - { - [Header("References")] - [SerializeField] private Image _nodeImage; - [SerializeField] private TextMeshProUGUI _titleText; - [SerializeField] private Image _iconImage; - [SerializeField] private GameObject _eliminatedOverlay; - - private ClueData _clueData; - private bool _isEliminated; - private Color _originalColor; - - public ClueData ClueData => _clueData; - public bool IsEliminated => _isEliminated; - - /// - /// Initializes the node with clue data. - /// - public void Initialize(ClueData clueData) - { - _clueData = clueData; - - if (_titleText != null) - _titleText.text = clueData.Title; - - if (_iconImage != null && clueData.Icon != null) - { - _iconImage.sprite = clueData.Icon; - _iconImage.enabled = true; - } - else if (_iconImage != null) - { - _iconImage.enabled = false; - } - - if (_nodeImage != null) - { - _originalColor = clueData.NodeColor; - _nodeImage.color = _originalColor; - } - - if (_eliminatedOverlay != null) - _eliminatedOverlay.SetActive(false); - } - - /// - /// Marks this node as eliminated (incorrect hypothesis). - /// - public void SetEliminated(bool eliminated) - { - _isEliminated = eliminated; - - if (_eliminatedOverlay != null) - _eliminatedOverlay.SetActive(eliminated); - - if (_nodeImage != null) - { - _nodeImage.color = eliminated ? Color.gray : _originalColor; - } - } - - /// - /// Highlights the node when hovered. - /// - public void SetHighlighted(bool highlighted, Color highlightColor) - { - if (_nodeImage != null && !_isEliminated) - { - _nodeImage.color = highlighted ? highlightColor : _originalColor; - } - } - - /// - /// Updates the position of this node on the board (world space or canvas). - /// - public void SetPosition(Vector3 position) - { - transform.position = position; - } - } -} diff --git a/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/ClueNodeUI.cs.meta b/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/ClueNodeUI.cs.meta deleted file mode 100644 index 6f970837..00000000 --- a/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/ClueNodeUI.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: a7086ec4620627b458b08500e412ee90 \ No newline at end of file diff --git a/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/ConnectionLine.cs b/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/ConnectionLine.cs new file mode 100644 index 00000000..7004f4ce --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/ConnectionLine.cs @@ -0,0 +1,79 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace Unheimlich.UI.DetectiveBoard +{ + [RequireComponent(typeof(RectTransform))] + public class ConnectionLine : MonoBehaviour + { + [Header("References")] + [SerializeField] private Image _lineImage; + [SerializeField] private RectTransform _rectTransform; + + [Header("Settings")] + [SerializeField] private float _lineThickness = 3f; + [SerializeField] private Color _lineColor = Color.white; + + private PostItNode _startNode; + private PostItNode _endNode; + + public PostItNode StartNode => _startNode; + public PostItNode EndNode => _endNode; + + private void Awake() + { + if (_rectTransform == null) + _rectTransform = GetComponent(); + + if (_lineImage == null) + _lineImage = GetComponent(); + } + + public void Initialize(PostItNode startNode, PostItNode endNode, Color? color = null) + { + _startNode = startNode; + _endNode = endNode; + + if (color.HasValue) + _lineColor = color.Value; + + if (_lineImage != null) + _lineImage.color = _lineColor; + + UpdateLine(); + } + + public void UpdateLine() + { + if (_startNode == null || _endNode == null || _rectTransform == null) + return; + + Vector2 startPos = _startNode.ConnectionPoint.anchoredPosition; + Vector2 endPos = _endNode.ConnectionPoint.anchoredPosition; + + Vector2 direction = endPos - startPos; + float distance = direction.magnitude; + + _rectTransform.anchoredPosition = startPos; + _rectTransform.sizeDelta = new Vector2(distance, _lineThickness); + + float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg; + _rectTransform.rotation = Quaternion.Euler(0, 0, angle); + + _rectTransform.pivot = new Vector2(0, 0.5f); + } + + public void SetColor(Color color) + { + _lineColor = color; + if (_lineImage != null) + _lineImage.color = color; + } + + public bool ConnectsNodes(PostItNode nodeA, PostItNode nodeB) + { + return (_startNode == nodeA && _endNode == nodeB) || + (_startNode == nodeB && _endNode == nodeA); + } + } +} diff --git a/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/ConnectionLine.cs.meta b/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/ConnectionLine.cs.meta new file mode 100644 index 00000000..e382973c --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/ConnectionLine.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d38fc1a64b1949443b49ec6506174085 \ No newline at end of file diff --git a/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/DetectiveBoardCanvas.cs b/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/DetectiveBoardCanvas.cs new file mode 100644 index 00000000..7b22ce6c --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/DetectiveBoardCanvas.cs @@ -0,0 +1,380 @@ +using UnityEngine; +using UnityEngine.InputSystem; +using System.Collections.Generic; +using System.Linq; +using Unheimlich.Data.DetectiveBoard; +using Unheimlich.Managers; + +namespace Unheimlich.UI.DetectiveBoard +{ + public class DetectiveBoardCanvas : MonoBehaviour + { + [Header("References")] + [SerializeField] private Canvas _canvas; + [SerializeField] private RectTransform _boardArea; + [SerializeField] private GameObject _postItNodePrefab; + [SerializeField] private GameObject _connectionLinePrefab; + + [Header("World Space Setup")] + [SerializeField] private Camera _targetCamera; + + [Header("Connection Settings")] + [SerializeField] private Color _connectionColor = Color.white; + [SerializeField] private bool _allowFreeConnections = false; + + [Header("Input")] + [SerializeField] private Key _connectModeKey = Key.LeftCtrl; + [SerializeField] private Key _eliminateKey = Key.X; + + private Dictionary _activeNodes = new Dictionary(); + private List _activeConnections = new List(); + private PostItNode _selectedNode; + private bool _isConnectMode; + private DetectiveBoardSaveData _saveData; + + public bool IsConnectMode => _isConnectMode; + + /// + /// Called by DetectiveBoardInteraction when a node is left-clicked. + /// Handles connection creation in connect mode, or selection in normal mode. + /// + public void OnNodeClicked(PostItNode node) + { + if (_isConnectMode) + { + HandleConnectionModeClick(node); + } + else + { + _selectedNode = node; + UpdateAllNodeSelections(); + } + } + + /// + /// Called by DetectiveBoardInteraction when a node is right-clicked. + /// Toggles the eliminated state of the node. + /// + public void OnNodeRightClicked(PostItNode node) + { + ToggleNodeEliminated(node); + } + + private void Awake() + { + if (_canvas == null) + _canvas = GetComponent(); + + if (_canvas != null && _canvas.renderMode == RenderMode.WorldSpace) + { + if (_targetCamera == null) + _targetCamera = Camera.main; + + _canvas.worldCamera = _targetCamera; + } + + _saveData = new DetectiveBoardSaveData(); + } + + private void OnEnable() + { + TrySubscribeToManager(); + } + + private void Start() + { + TrySubscribeToManager(); + } + + private void TrySubscribeToManager() + { + if (DetectiveBoardManager.Instance != null) + { + DetectiveBoardManager.Instance.OnClueUnlocked -= OnClueUnlocked; + DetectiveBoardManager.Instance.OnClueUnlocked += OnClueUnlocked; + + foreach (var clue in DetectiveBoardManager.Instance.GetUnlockedClues()) + { + if (!_activeNodes.ContainsKey(clue.ClueID)) + { + AddClueNode(clue); + } + } + } + } + + private void OnDisable() + { + if (DetectiveBoardManager.Instance != null) + { + DetectiveBoardManager.Instance.OnClueUnlocked -= OnClueUnlocked; + } + } + + private void OnClueUnlocked(ClueData clueData) + { + Debug.Log($"[DetectiveBoardCanvas] OnClueUnlocked received for: {clueData.ClueID}"); + AddClueNode(clueData); + } + + private void Update() + { + HandleConnectModeInput(); + HandleEliminateInput(); + } + + private void HandleConnectModeInput() + { + if (Keyboard.current == null) + return; + + bool wasConnectMode = _isConnectMode; + _isConnectMode = Keyboard.current[_connectModeKey].isPressed; + + if (wasConnectMode && !_isConnectMode) + { + _selectedNode = null; + UpdateAllNodeSelections(); + } + } + + private void HandleEliminateInput() + { + if (Keyboard.current == null) + return; + + if (Keyboard.current[_eliminateKey].wasPressedThisFrame && _selectedNode != null) + { + ToggleNodeEliminated(_selectedNode); + } + } + + public void AddClueNode(ClueData clueData) + { + if (_activeNodes.ContainsKey(clueData.ClueID)) + return; + + if (_postItNodePrefab == null) + { + Debug.LogError("[DetectiveBoardCanvas] _postItNodePrefab is null! Assign the prefab in the inspector."); + return; + } + + if (_boardArea == null) + { + Debug.LogError("[DetectiveBoardCanvas] _boardArea is null! Assign NodesContainer in the inspector."); + return; + } + + PostItNodeData nodeData = _saveData.GetNodeData(clueData.ClueID); + if (nodeData == null) + { + Vector2 canvasSize = _boardArea.rect.size; + Vector2 randomPos = new Vector2( + Random.Range(-canvasSize.x * 0.4f, canvasSize.x * 0.4f), + Random.Range(-canvasSize.y * 0.4f, canvasSize.y * 0.4f) + ); + nodeData = new PostItNodeData(clueData.ClueID, randomPos); + _saveData.AddOrUpdateNode(nodeData); + } + + GameObject nodeObj = Instantiate(_postItNodePrefab, _boardArea); + + PostItNode node = nodeObj.GetComponent(); + + if (node == null) + { + Debug.LogError("[DetectiveBoardCanvas] PostItNode component not found on prefab"); + Destroy(nodeObj); + return; + } + + node.Initialize(clueData, nodeData); + + _activeNodes.Add(clueData.ClueID, node); + + RestoreConnectionsForNode(node); + } + + public void RemoveClueNode(string clueID) + { + if (!_activeNodes.TryGetValue(clueID, out PostItNode node)) + return; + + RemoveConnectionsForNode(node); + + _activeNodes.Remove(clueID); + Destroy(node.gameObject); + } + + private void HandleConnectionModeClick(PostItNode clickedNode) + { + if (_selectedNode == null) + { + _selectedNode = clickedNode; + UpdateAllNodeSelections(); + } + else if (_selectedNode == clickedNode) + { + _selectedNode = null; + UpdateAllNodeSelections(); + } + else + { + ToggleConnection(_selectedNode, clickedNode); + _selectedNode = null; + UpdateAllNodeSelections(); + } + } + + private void ToggleConnection(PostItNode nodeA, PostItNode nodeB) + { + if (!CanConnect(nodeA, nodeB)) + return; + + ConnectionLine existingConnection = _activeConnections.Find(c => c.ConnectsNodes(nodeA, nodeB)); + + if (existingConnection != null) + { + RemoveConnection(existingConnection); + } + else + { + CreateConnection(nodeA, nodeB); + } + } + + private bool CanConnect(PostItNode nodeA, PostItNode nodeB) + { + if (nodeA == null || nodeB == null) + return false; + + if (_allowFreeConnections) + return true; + + if (nodeA.ClueData.PossibleConnections == null || nodeA.ClueData.PossibleConnections.Length == 0) + return true; + + return nodeA.ClueData.PossibleConnections.Contains(nodeB.NodeID); + } + + private void CreateConnection(PostItNode startNode, PostItNode endNode) + { + GameObject lineObj = Instantiate(_connectionLinePrefab, _boardArea); + lineObj.transform.SetAsFirstSibling(); + + ConnectionLine line = lineObj.GetComponent(); + if (line == null) + { + Debug.LogError("[DetectiveBoardCanvas] ConnectionLine component not found on prefab"); + Destroy(lineObj); + return; + } + + line.Initialize(startNode, endNode, _connectionColor); + _activeConnections.Add(line); + + if (!startNode.NodeData.ConnectedNodeIDs.Contains(endNode.NodeID)) + startNode.NodeData.ConnectedNodeIDs.Add(endNode.NodeID); + + if (!endNode.NodeData.ConnectedNodeIDs.Contains(startNode.NodeID)) + endNode.NodeData.ConnectedNodeIDs.Add(startNode.NodeID); + } + + private void RemoveConnection(ConnectionLine connection) + { + if (connection.StartNode != null && connection.EndNode != null) + { + connection.StartNode.NodeData.ConnectedNodeIDs.Remove(connection.EndNode.NodeID); + connection.EndNode.NodeData.ConnectedNodeIDs.Remove(connection.StartNode.NodeID); + } + + _activeConnections.Remove(connection); + Destroy(connection.gameObject); + } + + private void RemoveConnectionsForNode(PostItNode node) + { + var connectionsToRemove = _activeConnections + .Where(c => c.StartNode == node || c.EndNode == node) + .ToList(); + + foreach (var connection in connectionsToRemove) + { + RemoveConnection(connection); + } + } + + /// + /// Updates all connection lines attached to the specified node. + /// Called during node dragging to keep connections visually updated. + /// + public void UpdateConnectionsForNode(PostItNode node) + { + foreach (var connection in _activeConnections) + { + if (connection.StartNode == node || connection.EndNode == node) + { + connection.UpdateLine(); + } + } + } + + private void RestoreConnectionsForNode(PostItNode node) + { + if (node.NodeData.ConnectedNodeIDs == null || node.NodeData.ConnectedNodeIDs.Count == 0) + return; + + foreach (string connectedID in node.NodeData.ConnectedNodeIDs) + { + if (_activeNodes.TryGetValue(connectedID, out PostItNode otherNode)) + { + bool connectionExists = _activeConnections.Any(c => c.ConnectsNodes(node, otherNode)); + if (!connectionExists) + { + CreateConnection(node, otherNode); + } + } + } + } + + private void ToggleNodeEliminated(PostItNode node) + { + node.SetEliminated(!node.IsEliminated); + } + + private void UpdateAllNodeSelections() + { + foreach (var node in _activeNodes.Values) + { + node.SetSelected(node == _selectedNode); + } + } + + public DetectiveBoardSaveData GetSaveData() + { + return _saveData; + } + + public void LoadSaveData(DetectiveBoardSaveData saveData) + { + _saveData = saveData; + + foreach (var node in _activeNodes.Values) + { + PostItNodeData nodeData = _saveData.GetNodeData(node.NodeID); + if (nodeData != null) + { + node.SetPosition(nodeData.Position); + node.SetEliminated(nodeData.IsEliminated); + } + } + + _activeConnections.Clear(); + foreach (var node in _activeNodes.Values) + { + RestoreConnectionsForNode(node); + } + } + } +} diff --git a/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/DetectiveBoardCanvas.cs.meta b/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/DetectiveBoardCanvas.cs.meta new file mode 100644 index 00000000..327abdba --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/DetectiveBoardCanvas.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: edfcd01879d2cb34495302ef9882965b \ No newline at end of file diff --git a/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/DetectiveBoardInteraction.cs b/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/DetectiveBoardInteraction.cs new file mode 100644 index 00000000..ac30af68 --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/DetectiveBoardInteraction.cs @@ -0,0 +1,289 @@ +using UnityEngine; +using UnityEngine.InputSystem; +using UnityEngine.UI; +using Unheimlich.Gameplay.DetectiveBoard; + +namespace Unheimlich.UI.DetectiveBoard +{ + /// + /// Handles mouse interaction for the detective board World Space canvas. + /// Manages hover, selection, dragging, and click forwarding for Post-It nodes. + /// Interactions are only active when the board is in inspection mode. + /// + public class DetectiveBoardInteraction : MonoBehaviour + { + [Header("References")] + [SerializeField] private Camera _camera; + [SerializeField] private Canvas _boardCanvas; + [SerializeField] private RectTransform _boardArea; + [SerializeField] private LayerMask _boardLayer; + [SerializeField] private DetectiveBoardController _boardController; + + [Header("Settings")] + [SerializeField] private float _maxInteractionDistance = 5f; + + private DetectiveBoardCanvas _canvasManager; + private PostItNode _hoveredNode; + private PostItNode _selectedNode; + private bool _isDragging; + private Plane _canvasPlane; + private Vector3 _dragOffset; + + private void Start() + { + if (_camera == null) + _camera = Camera.main; + + if (_boardController == null) + _boardController = FindFirstObjectByType(); + + if (_canvasManager == null) + _canvasManager = GetComponent(); + + UpdateCanvasPlane(); + } + + private void Update() + { + if (!IsInBoardInteractionMode()) + { + ClearInteractionState(); + return; + } + + UpdateCanvasPlane(); + + if (_isDragging) + { + HandleDrag(); + } + else + { + HandleHover(); + } + + HandleClick(); + } + + private bool IsInBoardInteractionMode() + { + return _boardController != null && _boardController.IsBoardActive; + } + + private void ClearInteractionState() + { + if (_hoveredNode != null) + { + _hoveredNode.SetHovered(false); + _hoveredNode = null; + } + + if (_selectedNode != null && _isDragging) + { + _selectedNode.SetSelected(false); + _selectedNode = null; + _isDragging = false; + } + } + + private void UpdateCanvasPlane() + { + if (_boardCanvas != null) + { + Vector3 planeNormal = -_boardCanvas.transform.forward; + Vector3 planePosition = _boardCanvas.transform.position; + _canvasPlane = new Plane(planeNormal, planePosition); + } + } + + private void HandleHover() + { + PostItNode hitNode = RaycastForNode(); + + if (hitNode != _hoveredNode) + { + if (_hoveredNode != null) + { + _hoveredNode.SetHovered(false); + } + + _hoveredNode = hitNode; + + if (_hoveredNode != null) + { + _hoveredNode.SetHovered(true); + } + } + } + + private void HandleClick() + { + if (Mouse.current == null) + return; + + PostItNode hitNode = RaycastForNode(); + + if (Mouse.current.leftButton.wasPressedThisFrame) + { + HandleLeftClick(hitNode); + } + else if (Mouse.current.rightButton.wasPressedThisFrame && hitNode != null && _canvasManager != null) + { + _canvasManager.OnNodeRightClicked(hitNode); + } + } + + private void HandleLeftClick(PostItNode hitNode) + { + if (_canvasManager != null && _canvasManager.IsConnectMode) + { + if (hitNode != null) + { + _canvasManager.OnNodeClicked(hitNode); + } + return; + } + + if (_isDragging) + { + _isDragging = false; + + if (_selectedNode != null && hitNode == _selectedNode) + { + return; + } + + if (_selectedNode != null) + { + _selectedNode.SetSelected(false); + } + + if (hitNode != null) + { + _selectedNode = hitNode; + _selectedNode.SetSelected(true); + _isDragging = true; + CalculateDragOffset(); + } + else + { + _selectedNode = null; + } + } + else + { + if (hitNode != null) + { + if (_selectedNode != null && _selectedNode != hitNode) + { + _selectedNode.SetSelected(false); + } + + _selectedNode = hitNode; + _selectedNode.SetSelected(true); + _isDragging = true; + CalculateDragOffset(); + } + else + { + if (_selectedNode != null) + { + _selectedNode.SetSelected(false); + _selectedNode = null; + } + } + } + } + + private void HandleDrag() + { + if (_selectedNode == null || _camera == null) + return; + + Vector2 mousePos = Mouse.current.position.ReadValue(); + Ray ray = _camera.ScreenPointToRay(new Vector3(mousePos.x, mousePos.y, 0)); + + if (_canvasPlane.Raycast(ray, out float enter)) + { + Vector3 worldHitPoint = ray.GetPoint(enter); + Vector3 newWorldPos = worldHitPoint + _dragOffset; + + Vector3 localPos = _boardCanvas.transform.InverseTransformPoint(newWorldPos); + Vector2 clampedPos = ClampPositionToBoard(new Vector2(localPos.x, localPos.y)); + + _selectedNode.SetPosition(clampedPos); + + if (_canvasManager != null) + { + _canvasManager.UpdateConnectionsForNode(_selectedNode); + } + } + } + + private Vector2 ClampPositionToBoard(Vector2 position) + { + if (_boardArea == null) + return position; + + Rect boardRect = _boardArea.rect; + float halfWidth = boardRect.width * 0.5f; + float halfHeight = boardRect.height * 0.5f; + + float clampedX = Mathf.Clamp(position.x, -halfWidth, halfWidth); + float clampedY = Mathf.Clamp(position.y, -halfHeight, halfHeight); + + return new Vector2(clampedX, clampedY); + } + + private void CalculateDragOffset() + { + if (_selectedNode == null || _camera == null) + return; + + Vector2 mousePos = Mouse.current.position.ReadValue(); + Ray ray = _camera.ScreenPointToRay(new Vector3(mousePos.x, mousePos.y, 0)); + + if (_canvasPlane.Raycast(ray, out float enter)) + { + Vector3 worldHitPoint = ray.GetPoint(enter); + Vector3 currentWorldPos = _selectedNode.transform.position; + _dragOffset = currentWorldPos - worldHitPoint; + } + } + + private PostItNode RaycastForNode() + { + if (_camera == null) + return null; + + Vector2 mousePos = Mouse.current.position.ReadValue(); + Ray ray = _camera.ScreenPointToRay(new Vector3(mousePos.x, mousePos.y, 0)); + + if (Physics.Raycast(ray, out RaycastHit hit, _maxInteractionDistance, _boardLayer)) + { + return hit.collider.GetComponentInParent(); + } + + GraphicRaycaster raycaster = _boardCanvas.GetComponent(); + if (raycaster != null) + { + var pointerEventData = new UnityEngine.EventSystems.PointerEventData(UnityEngine.EventSystems.EventSystem.current) + { + position = mousePos + }; + + var results = new System.Collections.Generic.List(); + raycaster.Raycast(pointerEventData, results); + + foreach (var result in results) + { + PostItNode node = result.gameObject.GetComponentInParent(); + if (node != null) + return node; + } + } + + return null; + } + } +} diff --git a/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/DetectiveBoardInteraction.cs.meta b/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/DetectiveBoardInteraction.cs.meta new file mode 100644 index 00000000..65aca3f6 --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/DetectiveBoardInteraction.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 17bf00a333a0bc9409c21009e3ac6aea \ No newline at end of file diff --git a/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/PostItNode.cs b/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/PostItNode.cs new file mode 100644 index 00000000..f117e25a --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/PostItNode.cs @@ -0,0 +1,128 @@ +using UnityEngine; +using UnityEngine.UI; +using TMPro; +using Unheimlich.Data.DetectiveBoard; + +namespace Unheimlich.UI.DetectiveBoard +{ + public class PostItNode : MonoBehaviour + { + [Header("UI References")] + [SerializeField] private RectTransform _rectTransform; + [SerializeField] private Image _background; + [SerializeField] private TextMeshProUGUI _titleText; + [SerializeField] private TextMeshProUGUI _descriptionText; + [SerializeField] private Image _iconImage; + [SerializeField] private GameObject _strikethroughLine; + [SerializeField] private Image _selectionOutline; + + [Header("Connection Points")] + [SerializeField] private RectTransform _connectionPoint; + + private ClueData _clueData; + private PostItNodeData _nodeData; + private bool _isEliminated; + private bool _isSelected; + private Color _originalColor; + + public string NodeID => _clueData?.ClueID; + public RectTransform RectTransform => _rectTransform; + public RectTransform ConnectionPoint => _connectionPoint; + public ClueData ClueData => _clueData; + public PostItNodeData NodeData => _nodeData; + public bool IsEliminated => _isEliminated; + public bool IsSelected => _isSelected; + + private void Awake() + { + if (_rectTransform == null) + _rectTransform = GetComponent(); + + if (_strikethroughLine != null) + _strikethroughLine.SetActive(false); + + if (_selectionOutline != null) + _selectionOutline.enabled = false; + } + + public void Initialize(ClueData clueData, PostItNodeData nodeData) + { + _clueData = clueData; + _nodeData = nodeData; + + if (_titleText != null) + _titleText.text = clueData.Title; + + if (_descriptionText != null) + _descriptionText.text = clueData.Description; + + if (_iconImage != null && clueData.Icon != null) + { + _iconImage.sprite = clueData.Icon; + _iconImage.enabled = true; + } + else if (_iconImage != null) + { + _iconImage.enabled = false; + } + + if (_background != null) + { + _originalColor = clueData.NodeColor; + _background.color = _originalColor; + } + + if (_connectionPoint == null) + { + _connectionPoint = _rectTransform; + } + + SetPosition(nodeData.Position); + SetEliminated(nodeData.IsEliminated); + } + + public void SetPosition(Vector2 position) + { + if (_rectTransform != null) + { + _rectTransform.anchoredPosition = position; + if (_nodeData != null) + _nodeData.Position = position; + } + } + + public void SetEliminated(bool eliminated) + { + _isEliminated = eliminated; + + if (_strikethroughLine != null) + _strikethroughLine.SetActive(eliminated); + + if (_background != null) + { + _background.color = eliminated ? new Color(0.5f, 0.5f, 0.5f, 0.8f) : _originalColor; + } + + if (_nodeData != null) + _nodeData.IsEliminated = eliminated; + } + + public void SetSelected(bool selected) + { + _isSelected = selected; + + if (_selectionOutline != null) + { + _selectionOutline.enabled = selected; + } + } + + public void SetHovered(bool hovered) + { + if (_selectionOutline != null) + { + _selectionOutline.enabled = hovered || _isSelected; + } + } + } +} diff --git a/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/PostItNode.cs.meta b/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/PostItNode.cs.meta new file mode 100644 index 00000000..29ddb4b3 --- /dev/null +++ b/Assets/Unheimlich_POC/Scripts/UI/DetectiveBoard/PostItNode.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a398093f79b17c04e81fe88b509b1319 \ No newline at end of file