From 35194fd4fb1ae69d8d5f0acce8da2a16491f48e3 Mon Sep 17 00:00:00 2001 From: Paul-Walcher <paulwalcher12@gmail.com> Date: Mon, 24 Jun 2024 10:58:29 +0200 Subject: [PATCH] Added SphereFact --- Assets/Resources/Prefabs/Cake.prefab.meta | 2 +- Assets/Resources/Prefabs/Facts/Sphere.prefab | 350 ++++++++++++++++++ .../Prefabs/Facts/Sphere.prefab.meta | 12 + .../UI/Icons/FactIcons/DisplaySphere.prefab | 295 +++++++++++++++ .../Icons/FactIcons/DisplaySphere.prefab.meta | 7 + Assets/Scenes/Worlds/RiverWorld.unity | 24 ++ .../FactHandling/FactSpawner.cs | 21 +- .../FactHandling/Facts/Fact.cs | 5 + .../FactHandling/Facts/SphereFact.cs | 151 ++++++++ .../FactHandling/Facts/SphereFact.cs.meta | 11 + .../InventoryStuff/Items/images/Sphere.png | 3 + .../Items/images/Sphere.png.meta | 122 ++++++ .../CommunicationProtocoll/MMTConstants.cs | 11 +- 13 files changed, 1010 insertions(+), 4 deletions(-) create mode 100644 Assets/Resources/Prefabs/Facts/Sphere.prefab create mode 100644 Assets/Resources/Prefabs/Facts/Sphere.prefab.meta create mode 100644 Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplaySphere.prefab create mode 100644 Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplaySphere.prefab.meta create mode 100644 Assets/Scripts/InteractionEngine/FactHandling/Facts/SphereFact.cs create mode 100644 Assets/Scripts/InteractionEngine/FactHandling/Facts/SphereFact.cs.meta create mode 100644 Assets/Scripts/InventoryStuff/Items/images/Sphere.png create mode 100644 Assets/Scripts/InventoryStuff/Items/images/Sphere.png.meta diff --git a/Assets/Resources/Prefabs/Cake.prefab.meta b/Assets/Resources/Prefabs/Cake.prefab.meta index 3e6cc0bc..6ecf346f 100644 --- a/Assets/Resources/Prefabs/Cake.prefab.meta +++ b/Assets/Resources/Prefabs/Cake.prefab.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b0ea7d7beb330a245bd999e7c4cab227 +guid: 00c8824bbfc9a4c47ac6b0ccb51c333c PrefabImporter: externalObjects: {} userData: diff --git a/Assets/Resources/Prefabs/Facts/Sphere.prefab b/Assets/Resources/Prefabs/Facts/Sphere.prefab new file mode 100644 index 00000000..4385f03c --- /dev/null +++ b/Assets/Resources/Prefabs/Facts/Sphere.prefab @@ -0,0 +1,350 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2561781244333147470 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1380396336186306334} + - component: {fileID: 4239463486727728565} + - component: {fileID: 1073589650764508292} + m_Layer: 15 + m_Name: SphereVisual + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1380396336186306334 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2561781244333147470} + 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: 3390467403729316765} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4239463486727728565 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2561781244333147470} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1073589650764508292 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2561781244333147470} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 8ae9adf4dc782964387385c1e8c0eb72, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &6839596689016440457 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3390467403729316765} + - component: {fileID: 1812690906255965161} + - component: {fileID: 6950663371922587874} + m_Layer: 15 + m_Name: Sphere + m_TagString: Selectable + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3390467403729316765 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6839596689016440457} + 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: 1 + m_Children: + - {fileID: 6662482376097614856} + - {fileID: 1380396336186306334} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1812690906255965161 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6839596689016440457} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 405087c38b8537e43bcc99727c5325ec, type: 3} + m_Name: + m_EditorClassIdentifier: + Meshs: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + NormalOffset: [] + AlternateNormals: 0 + radius: 1 + sideCount: 500 +--- !u!114 &6950663371922587874 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6839596689016440457} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} + m_Name: + m_EditorClassIdentifier: + _URI: + FactText: + - {fileID: 7177577245137766670} + StringLabelFormats: [] + Default: {fileID: 2100000, guid: 8ae9adf4dc782964387385c1e8c0eb72, type: 2} + Selected: {fileID: 2100000, guid: 34a95baef388bb8458c97a626b732f9f, type: 2} + Hint: {fileID: 2100000, guid: 8621b710d7d1d5041bc6bfd0cc37cdff, type: 2} + Solution: {fileID: 2100000, guid: 2a003f0807acc1142965bb21bdc824f6, type: 2} + renderer: [] +--- !u!1 &8645286316326201467 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6662482376097614856} + - component: {fileID: 5986843358289336505} + - component: {fileID: 7177577245137766670} + - component: {fileID: 2586578973517344970} + m_Layer: 10 + m_Name: LabelText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6662482376097614856 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8645286316326201467} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3390467403729316765} + m_RootOrder: 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: 2, y: 0.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!23 &5986843358289336505 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8645286316326201467} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, 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: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &7177577245137766670 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8645286316326201467} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Test + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 4 + m_fontSizeBase: 4 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 5986843358289336505} + m_maskType: 0 +--- !u!114 &2586578973517344970 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8645286316326201467} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8cf5a358dacd3b54ab093ee289dd9ba2, type: 3} + m_Name: + m_EditorClassIdentifier: + Cam1: {fileID: 0} + Cam2: {fileID: 0} + BackUPCam: {fileID: 0} diff --git a/Assets/Resources/Prefabs/Facts/Sphere.prefab.meta b/Assets/Resources/Prefabs/Facts/Sphere.prefab.meta new file mode 100644 index 00000000..ea1eb522 --- /dev/null +++ b/Assets/Resources/Prefabs/Facts/Sphere.prefab.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +<<<<<<<< HEAD:Assets/Resources/Prefabs/Facts/Square.prefab.meta +guid: a43491988c3f0d14f8286a67e73ace1e +PrefabImporter: +======== +guid: ffa3cc5a8ea56dc4b8c5e907de1f715a +DefaultImporter: +>>>>>>>> master:Assets/StreamingAssets/StreamToPersistentDataPath/Config/Network_Backup_withAuto.JSON.meta + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplaySphere.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplaySphere.prefab new file mode 100644 index 00000000..ebca2063 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplaySphere.prefab @@ -0,0 +1,295 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6228575905544016151 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8695166600416321831} + - component: {fileID: 1460661521238322908} + - component: {fileID: 363367878266426999} + m_Layer: 5 + m_Name: point + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8695166600416321831 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6228575905544016151} + 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: 8780569031657450116} + m_RootOrder: 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: 2, y: -22.5} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1460661521238322908 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6228575905544016151} + m_CullTransparentMesh: 1 +--- !u!114 &363367878266426999 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6228575905544016151} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278255884 + m_fontColor: {r: 0.047169805, g: 0.00244749, b: 0.00244749, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 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: 23.59851, y: 9.75061, z: 19.35138, 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 &6636443472981757786 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8780569031657450116} + - component: {fileID: 6436200217209768079} + - component: {fileID: 1894013120851118185} + - component: {fileID: 2562591540153244817} + - component: {fileID: 3896398116007953758} + - component: {fileID: -8545268462245846538} + - component: {fileID: 9193188298529412557} + - component: {fileID: 8785484605073047058} + m_Layer: 5 + m_Name: DisplaySphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8780569031657450116 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6636443472981757786} + 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: 8695166600416321831} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6436200217209768079 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6636443472981757786} + m_CullTransparentMesh: 0 +--- !u!114 &1894013120851118185 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6636443472981757786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 13f4e064448182b49ba38b5035a1f45a, type: 3} + 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!225 &2562591540153244817 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6636443472981757786} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &3896398116007953758 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6636443472981757786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a091cb23127eb7347955cb7f747af431, type: 3} + m_Name: + m_EditorClassIdentifier: + dragged: 0 +--- !u!114 &-8545268462245846538 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6636443472981757786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a1ed516d861fa2c45a2b1767d1217acb, type: 3} + m_Name: + m_EditorClassIdentifier: + factExplorerPrefab: {fileID: 5592893003942163674, guid: ff7415df1aac19c41a7855516a108a8a, + type: 3} +--- !u!114 &9193188298529412557 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6636443472981757786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} + m_Name: + m_EditorClassIdentifier: + favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, + type: 3} +--- !u!114 &8785484605073047058 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6636443472981757786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f1ce2973f9bfc68479d5f3e2065ca729, type: 3} + m_Name: + m_EditorClassIdentifier: + _URI: + FactText: + - {fileID: 363367878266426999} + StringLabelFormats: + - '{1}' + Default: {fileID: 2100000, guid: 3420edeac2b11384b9977bd98f565b24, type: 2} + Selected: {fileID: 2100000, guid: f4a2ffc31b2faf446bf2a86047fbc9f8, type: 2} + Hint: {fileID: 2100000, guid: 923bc3e7bd8ae2745859a620359be2f8, type: 2} + Solution: {fileID: 2100000, guid: 79cc7db91c9641d4aa8a1513d6ca85d1, type: 2} + Images: + - {fileID: 1894013120851118185} diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplaySphere.prefab.meta b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplaySphere.prefab.meta new file mode 100644 index 00000000..c7ca201a --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplaySphere.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a01b31d4759ad91468b8d2180891f1fa +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Worlds/RiverWorld.unity b/Assets/Scenes/Worlds/RiverWorld.unity index 38c1df44..ef4fbc29 100644 --- a/Assets/Scenes/Worlds/RiverWorld.unity +++ b/Assets/Scenes/Worlds/RiverWorld.unity @@ -60718,6 +60718,12 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 2872381745209199267, guid: b07552db700124a4680401e6fb94c186, + type: 3} + propertyPath: Sphere + value: + objectReference: {fileID: 537518992981541273, guid: 8174216d5fd9a9744ad2e05d475c071a, + type: 3} - target: {fileID: 2872381745209199267, guid: b07552db700124a4680401e6fb94c186, type: 3} propertyPath: Square @@ -60742,6 +60748,12 @@ PrefabInstance: value: objectReference: {fileID: 537518992981541273, guid: 998991ab9f28e764691da393b005cab3, type: 3} + - target: {fileID: 2872381745209199267, guid: b07552db700124a4680401e6fb94c186, + type: 3} + propertyPath: ActualSphere + value: + objectReference: {fileID: 6839596689016440457, guid: a43491988c3f0d14f8286a67e73ace1e, + type: 3} - target: {fileID: 2872381745209199267, guid: b07552db700124a4680401e6fb94c186, type: 3} propertyPath: SimpleCircle @@ -62905,6 +62917,12 @@ PrefabInstance: value: objectReference: {fileID: 3080888058940174091, guid: 389563c758e86d848b3341576b90b7e4, type: 3} + - target: {fileID: 6898471569945669422, guid: b07552db700124a4680401e6fb94c186, + type: 3} + propertyPath: PrefabDataConfig.Array.data[33] + value: + objectReference: {fileID: 6636443472981757786, guid: a01b31d4759ad91468b8d2180891f1fa, + type: 3} - target: {fileID: 6898471569945669422, guid: b07552db700124a4680401e6fb94c186, type: 3} propertyPath: PrefabDataConfig.Array.data[34] @@ -63359,6 +63377,12 @@ PrefabInstance: value: objectReference: {fileID: 3080888058940174091, guid: 389563c758e86d848b3341576b90b7e4, type: 3} + - target: {fileID: 7743735189960969443, guid: b07552db700124a4680401e6fb94c186, + type: 3} + propertyPath: PrefabDataConfig.Array.data[33] + value: + objectReference: {fileID: 6636443472981757786, guid: a01b31d4759ad91468b8d2180891f1fa, + type: 3} - target: {fileID: 7743735189960969443, guid: b07552db700124a4680401e6fb94c186, type: 3} propertyPath: PrefabDataConfig.Array.data[34] diff --git a/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs b/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs index 8667bda1..3061efe9 100644 --- a/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs +++ b/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs @@ -11,7 +11,6 @@ public class FactSpawner : MonoBehaviour { public GameObject - Sphere, TestPoint, Line, Ray, @@ -22,7 +21,10 @@ public GameObject Rectangle, Circle, SimpleCircle, - Triangle; + Triangle, + Sphere, + ActualSphere + ; private void OnEnable() { @@ -69,10 +71,25 @@ public void SpawnFactRepresentation(Fact fact) SpawnSimpleCircle(simpleCircleFact); break; case TriangleFact2 triangleFact: SpawnTriangle(triangleFact); break; + case SphereFact sphereFact: + SpawnSphere(sphereFact); break; default: break; }; } + public void SpawnSphere(SphereFact fact){ + + GameObject sphere = GameObject.Instantiate(ActualSphere); + fact.WorldRepresentation = sphere.GetComponent<FactObject3D>(); + fact.WorldRepresentation.Fact = fact; + + sphere.transform.SetPositionAndRotation(fact.Position, Quaternion.identity); + sphere.transform.localScale = Vector3.Scale(sphere.transform.localScale, fact.LocalScale); + + sphere.GetComponentInChildren<TextMeshPro>().text = fact.GetLabel(StageStatic.stage.factState) + " = " + System.Math.Round(fact.Volume, 2) + "m³"; + + + } public void SpawnRectangle(RectangleFact fact){ GameObject rectangle = GameObject.Instantiate(Rectangle); diff --git a/Assets/Scripts/InteractionEngine/FactHandling/Facts/Fact.cs b/Assets/Scripts/InteractionEngine/FactHandling/Facts/Fact.cs index 43dd9f67..672c6fcc 100644 --- a/Assets/Scripts/InteractionEngine/FactHandling/Facts/Fact.cs +++ b/Assets/Scripts/InteractionEngine/FactHandling/Facts/Fact.cs @@ -83,6 +83,10 @@ public static class ParsingDictionary MMTConstants.SimpleCircleType, SimpleCircleFact.parseFact }, + { + MMTConstants.SphereType, + SphereFact.parseFact + }, }; // TODO: get rid of this @@ -126,6 +130,7 @@ public static class ParsingDictionary [JsonSubtypes.KnownSubType(typeof(RectangleFact), nameof(RectangleFact))] [JsonSubtypes.KnownSubType(typeof(TriangleFact2), nameof(TriangleFact2))] [JsonSubtypes.KnownSubType(typeof(SimpleCircleFact), nameof(SimpleCircleFact))] +[JsonSubtypes.KnownSubType(typeof(SphereFact), nameof(SphereFact))] public abstract class Fact { [JsonIgnore] diff --git a/Assets/Scripts/InteractionEngine/FactHandling/Facts/SphereFact.cs b/Assets/Scripts/InteractionEngine/FactHandling/Facts/SphereFact.cs new file mode 100644 index 00000000..0b1aa356 --- /dev/null +++ b/Assets/Scripts/InteractionEngine/FactHandling/Facts/SphereFact.cs @@ -0,0 +1,151 @@ +using Newtonsoft.Json; +using REST_JSON_API; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +/// <summary> +/// Point in 3D Space +/// </summary> +public class SphereFact : FactWrappedCRTP<SphereFact> +{ + + + //used points + public string PidM, PidT; + + public Vector3 M, T; + + public float Volume = 0.0F; + public float Radius = 0.0F; + + + public PointFact GetM {get => (PointFact)FactRecorder.AllFacts[PidM];} + public PointFact GetT {get => (PointFact)FactRecorder.AllFacts[PidT];} + protected void calculate_vectors(){ + + M = ((PointFact)FactRecorder.AllFacts[PidM]).Point + Vector3.zero; + T = ((PointFact)FactRecorder.AllFacts[PidT]).Point + Vector3.zero; + + Debug.Log(M); + Debug.Log(T); + + Radius = Vector3.Distance(M, T); + Volume = 4/3 * (Mathf.PI) * (Radius * Radius * Radius); + + float dist = 2*Radius; + Vector3 scale = new Vector3(dist, dist, dist); + + LocalScale = scale; + + Position = M; + + } + + public SphereFact() : base(){ + this.PidM = null; + this.PidT = null; + } + [JsonConstructor] + public SphereFact( string PidM, string PidT) : base() + { + this.PidM = PidM; + this.PidT = PidT; + + calculate_vectors(); + } + + /// <summary> + /// Bypasses initialization of new MMT %Fact by using existend URI, _which is not checked for existence_. + /// <see cref="Normal"/> set to <c>Vector3.up</c> + /// </summary> + /// <param name="Point">sets <see cref="Point"/></param> + /// <param name="ServerDefinition">MMT URI as OMS</param> + public SphereFact(string PidM, string PidT, SOMDoc ServerDefinition) : base() + { + this.PidM = PidM; + this.PidT = PidT; + + this.ServerDefinition = ServerDefinition; + + calculate_vectors(); + } + + /// \copydoc Fact.parseFact(ScrollFact) + public new static IEnumerator parseFact(List<Fact> ret, MMTFact fact) + { + if (((MMTGeneralFact)fact).defines is not OMA df) + yield break; + + OMS pointM, pointT; + + pointM = (OMS)df.arguments[0]; + pointT = (OMS)df.arguments[1]; + + string PidM = pointM.uri; + string PidT = pointT.uri; + + + + ret.Add(new SphereFact(PidM, PidT)); + + //ParsingDictionary.parseTermsToId.TryAdd(defines.ToString(), fact.@ref.uri); + //ret.Add(new PointFact(SOMDoc.MakeVector3(defines), fact.@ref)); + } + + + /// \copydoc Fact.hasDependentFacts + public override bool HasDependentFacts => true; + + /// \copydoc Fact.getDependentFactIds + protected override string[] GetDependentFactIds() + => new string[] { PidM, PidT}; + + /// \copydoc Fact.GetHashCode + /* public override int GetHashCode() + => this.Point.GetHashCode(); + */ + protected override void RecalculateTransform() + { + calculate_vectors(); + } + /// \copydoc Fact.Equivalent(Fact, Fact) + protected override bool EquivalentWrapped(SphereFact f1, SphereFact f2){ + + return ( + + Math3d.IsApproximatelyEqual(f1.M, f2.M) + && Math3d.IsApproximatelyEqual(f1.T, f2.T) + + ); + + } + + public bool isEqual(SphereFact f2){ + return EquivalentWrapped(this, f2); + } + + protected override Fact _ReInitializeMe(Dictionary<string, string> old_to_new){ + + return new SphereFact(this.PidM, this.PidT); + + } + + public override MMTFact MakeMMTDeclaration() + { + SOMDoc tp = new OMS(MMTConstants.SphereType); + + return new MMTGeneralFact(_LastLabel, tp, Defines()); + } + + public override SOMDoc Defines() + => new OMA( + new OMS(MMTConstants.SphereCons), + new[] { + new OMS(PidM), + new OMS(PidT), + } + ); +} \ No newline at end of file diff --git a/Assets/Scripts/InteractionEngine/FactHandling/Facts/SphereFact.cs.meta b/Assets/Scripts/InteractionEngine/FactHandling/Facts/SphereFact.cs.meta new file mode 100644 index 00000000..e4c5608b --- /dev/null +++ b/Assets/Scripts/InteractionEngine/FactHandling/Facts/SphereFact.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: facad00ef6d6a8e4da72bd4c2b2e1318 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/InventoryStuff/Items/images/Sphere.png b/Assets/Scripts/InventoryStuff/Items/images/Sphere.png new file mode 100644 index 00000000..a6b57520 --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/Sphere.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76f6eeb7a69189af5918221338841026d3b6e04d464998b3cd33ec059b33932c +size 4686 diff --git a/Assets/Scripts/InventoryStuff/Items/images/Sphere.png.meta b/Assets/Scripts/InventoryStuff/Items/images/Sphere.png.meta new file mode 100644 index 00000000..8f5d5a9d --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/Sphere.png.meta @@ -0,0 +1,122 @@ +fileFormatVersion: 2 +guid: 13f4e064448182b49ba38b5035a1f45a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 256 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MMTServer/CommunicationProtocoll/MMTConstants.cs b/Assets/Scripts/MMTServer/CommunicationProtocoll/MMTConstants.cs index 7b17c42c..90850a18 100644 --- a/Assets/Scripts/MMTServer/CommunicationProtocoll/MMTConstants.cs +++ b/Assets/Scripts/MMTServer/CommunicationProtocoll/MMTConstants.cs @@ -56,6 +56,10 @@ public static class MMTConstants public static readonly string SimpleCircleType = "http://mathhub.info/FrameIT/frameworld?CircleType?circleType"; public static readonly string SimpleCircleScroll = "http://mathhub.info/FrameIT/frameworld?SimpleCircleScroll"; + public static readonly string SphereCons = "http://mathhub.info/FrameIT/frameworld?SphereType?sphereCons"; + public static readonly string SphereType = "http://mathhub.info/FrameIT/frameworld?SphereType?sphereType"; + public static readonly string SphereScroll = "http://mathhub.info/FrameIT/frameworld?SphereScroll"; + public static readonly string CircleType3d = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?circleType3D"; public static readonly string MkCircle3d = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?circle3D"; public static readonly string TriangleMiddlePoint = "http://mathhub.info/FrameIT/frameworld?FrameITTriangles?triangleMidPointWrapper"; @@ -261,7 +265,12 @@ public static class MMTConstants { typeof(string).ToString(), typeof(string) }, { typeof(Vector3).ToString(), - typeof(Vector3) } + typeof(Vector3) }, + + { + SphereType, + typeof(SphereFact) + }, }; public static readonly IReadOnlyDictionary<Type, string> TYPE_TO_OMS = OMS_TO_TYPE.ReverseKeyValInto(new() { // **Overrides** -- GitLab