diff --git a/Assets/Resources/Prefabs/Facts/Angle.prefab b/Assets/Resources/Prefabs/Facts/Angle.prefab index e4f4372ce241f0069cfb2380b3b40f485eef869b..b3179be4757731aa8cb9e01a576ea50beafa456e 100644 --- a/Assets/Resources/Prefabs/Facts/Angle.prefab +++ b/Assets/Resources/Prefabs/Facts/Angle.prefab @@ -267,7 +267,7 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3394522495515098197} m_Material: {fileID: 0} - m_IsTrigger: 0 + m_IsTrigger: 1 m_Enabled: 1 serializedVersion: 4 m_Convex: 1 @@ -407,10 +407,10 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3394522496185282000} m_Material: {fileID: 0} - m_IsTrigger: 0 + m_IsTrigger: 1 m_Enabled: 1 serializedVersion: 4 - m_Convex: 0 + m_Convex: 1 m_CookingOptions: 30 m_Mesh: {fileID: 0} --- !u!114 &3394522496185282007 diff --git a/Assets/Resources/Prefabs/Facts/Angle_Old.prefab b/Assets/Resources/Prefabs/Facts/Angle_Old.prefab index 350822eead5a188664497a3ffb86d62475611e5c..8db326a77d14b2984d72395357287df4c6c590c4 100644 --- a/Assets/Resources/Prefabs/Facts/Angle_Old.prefab +++ b/Assets/Resources/Prefabs/Facts/Angle_Old.prefab @@ -10,7 +10,6 @@ GameObject: m_Component: - component: {fileID: 776204628661091474} - component: {fileID: 1611341617565119760} - - component: {fileID: 5847986162312327669} - component: {fileID: 3727883962287805668} - component: {fileID: 8678993674720081185} m_Layer: 12 @@ -54,6 +53,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -78,14 +78,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 1 ---- !u!33 &5847986162312327669 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1047820262597827614} - m_Mesh: {fileID: 0} + m_AdditionalVertexStreams: {fileID: 0} --- !u!222 &3727883962287805668 CanvasRenderer: m_ObjectHideFlags: 0 @@ -109,6 +102,7 @@ MonoBehaviour: 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: @@ -134,13 +128,12 @@ MonoBehaviour: 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_outlineColor: - serializedVersion: 2 - rgba: 4278190080 m_fontSize: 2 m_fontSizeBase: 2 m_fontWeight: 400 @@ -148,7 +141,9 @@ MonoBehaviour: m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 - m_textAlignment: 514 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 m_characterSpacing: 0 m_wordSpacing: 0 m_lineSpacing: 0 @@ -158,10 +153,8 @@ MonoBehaviour: m_enableWordWrapping: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 - m_firstOverflowCharacterIndex: -1 m_linkedTextComponent: {fileID: 0} - m_isLinkedTextComponent: 0 - m_isTextTruncated: 0 + parentLinkedComponent: {fileID: 0} m_enableKerning: 1 m_enableExtraPadding: 0 checkPaddingRequired: 0 @@ -169,42 +162,23 @@ MonoBehaviour: m_parseCtrlCharacters: 1 m_isOrthographic: 0 m_isCullingEnabled: 0 - m_ignoreRectMaskCulling: 0 - m_ignoreCulling: 1 m_horizontalMapping: 0 m_verticalMapping: 0 m_uvLineOffset: 0 m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 m_VertexBufferAutoSizeReduction: 1 - m_firstVisibleCharacter: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 m_margin: {x: 0, y: 0, z: 0, w: 0} - m_textInfo: - textComponent: {fileID: 8678993674720081185} - characterCount: 4 - spriteCount: 0 - spaceCount: 0 - wordCount: 1 - linkCount: 0 - lineCount: 1 - pageCount: 1 - materialCount: 1 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 - m_spriteAnimator: {fileID: 0} m_hasFontAssetChanged: 0 m_renderer: {fileID: 1611341617565119760} - m_subTextObjects: - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} m_maskType: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 --- !u!1 &4650993678488610235 GameObject: m_ObjectHideFlags: 0 @@ -263,6 +237,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -287,6 +262,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!114 &4650993678488610230 MonoBehaviour: m_ObjectHideFlags: 0 @@ -299,7 +275,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: - Id: 0 + URI: --- !u!64 &4650993678488610231 MeshCollider: m_ObjectHideFlags: 0 @@ -308,10 +284,10 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4650993678488610235} m_Material: {fileID: 0} - m_IsTrigger: 0 + m_IsTrigger: 1 m_Enabled: 1 serializedVersion: 4 - m_Convex: 0 + m_Convex: 1 m_CookingOptions: 30 m_Mesh: {fileID: 4300000, guid: 4fe93ee2ed2d8c64389611c85232bf23, type: 2} --- !u!1 &4650993679089994827 @@ -403,6 +379,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -427,6 +404,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!114 &7310199272454353937 MonoBehaviour: m_ObjectHideFlags: 0 @@ -439,10 +417,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a6b9fc46f5bfe6b4eb4adf01e6b65bac, type: 3} m_Name: m_EditorClassIdentifier: - meshRendererToChange: {fileID: 4650993679319476102} - animationStartColor: {r: 0.98039216, g: 0.99215686, b: 0.03137255, a: 1} - animationEndColor: {r: 1, g: 0.52156866, b: 0.007843138, a: 1} - animateDuration: 5 --- !u!1 &7003220517868882106 GameObject: m_ObjectHideFlags: 0 @@ -453,7 +427,6 @@ GameObject: m_Component: - component: {fileID: 6834100498144429849} - component: {fileID: 2708246422010202965} - - component: {fileID: 9133314279872122108} - component: {fileID: 8080899974220995652} - component: {fileID: 3620593617881097249} m_Layer: 12 @@ -497,6 +470,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -521,14 +495,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 1 ---- !u!33 &9133314279872122108 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7003220517868882106} - m_Mesh: {fileID: 0} + m_AdditionalVertexStreams: {fileID: 0} --- !u!222 &8080899974220995652 CanvasRenderer: m_ObjectHideFlags: 0 @@ -552,6 +519,7 @@ MonoBehaviour: 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: @@ -577,13 +545,12 @@ MonoBehaviour: 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_outlineColor: - serializedVersion: 2 - rgba: 4278190080 m_fontSize: 2 m_fontSizeBase: 2 m_fontWeight: 400 @@ -591,7 +558,9 @@ MonoBehaviour: m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 - m_textAlignment: 514 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 m_characterSpacing: 0 m_wordSpacing: 0 m_lineSpacing: 0 @@ -601,10 +570,8 @@ MonoBehaviour: m_enableWordWrapping: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 - m_firstOverflowCharacterIndex: -1 m_linkedTextComponent: {fileID: 0} - m_isLinkedTextComponent: 0 - m_isTextTruncated: 0 + parentLinkedComponent: {fileID: 0} m_enableKerning: 1 m_enableExtraPadding: 0 checkPaddingRequired: 0 @@ -612,39 +579,20 @@ MonoBehaviour: m_parseCtrlCharacters: 1 m_isOrthographic: 0 m_isCullingEnabled: 0 - m_ignoreRectMaskCulling: 0 - m_ignoreCulling: 1 m_horizontalMapping: 0 m_verticalMapping: 0 m_uvLineOffset: 0 m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 m_VertexBufferAutoSizeReduction: 1 - m_firstVisibleCharacter: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 m_margin: {x: 0, y: 0, z: 0, w: 0} - m_textInfo: - textComponent: {fileID: 3620593617881097249} - characterCount: 4 - spriteCount: 0 - spaceCount: 0 - wordCount: 1 - linkCount: 0 - lineCount: 1 - pageCount: 1 - materialCount: 1 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 - m_spriteAnimator: {fileID: 0} m_hasFontAssetChanged: 0 m_renderer: {fileID: 2708246422010202965} - m_subTextObjects: - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} m_maskType: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 diff --git a/Assets/Resources/Prefabs/Facts/Circle.prefab b/Assets/Resources/Prefabs/Facts/Circle.prefab new file mode 100644 index 0000000000000000000000000000000000000000..6a524bc9e88c952fcf712e6644a37b903f3e326c --- /dev/null +++ b/Assets/Resources/Prefabs/Facts/Circle.prefab @@ -0,0 +1,258 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5866155945383417828 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8554957501859850914} + - component: {fileID: 3164742056485930267} + - component: {fileID: 1460740696286669547} + - component: {fileID: 6716233798214228857} + m_Layer: 15 + m_Name: CircleHighlight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8554957501859850914 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5866155945383417828} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.96, y: 0.51, z: 0.96} + m_Children: [] + m_Father: {fileID: 142224692930156368} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3164742056485930267 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5866155945383417828} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1460740696286669547 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5866155945383417828} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + 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!114 &6716233798214228857 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5866155945383417828} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6b9fc46f5bfe6b4eb4adf01e6b65bac, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &6262947649539239553 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 142224692930156368} + - component: {fileID: 7167210412035754299} + - component: {fileID: 1078883255209641429} + - component: {fileID: 5602986836502461330} + - component: {fileID: 8419554499757686208} + - component: {fileID: 8526453253978894086} + m_Layer: 15 + m_Name: Mesh + m_TagString: SnapZone + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &142224692930156368 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6262947649539239553} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 0.01, z: 1} + m_Children: + - {fileID: 8554957501859850914} + m_Father: {fileID: 3390467403729316765} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7167210412035754299 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6262947649539239553} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1078883255209641429 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6262947649539239553} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + 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: 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 &5602986836502461330 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6262947649539239553} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} + m_Name: + m_EditorClassIdentifier: + URI: +--- !u!95 &8419554499757686208 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6262947649539239553} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 7f5a2c4324ecb83488857feb7887b5a7, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!64 &8526453253978894086 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6262947649539239553} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 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} + m_Layer: 15 + m_Name: Circle + 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_Children: + - {fileID: 142224692930156368} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Resources/Prefabs/Facts/Circle.prefab.meta b/Assets/Resources/Prefabs/Facts/Circle.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..4ae1824cae78e252d401e3e2ae1eafe5efcf9516 --- /dev/null +++ b/Assets/Resources/Prefabs/Facts/Circle.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b26ea07a37e18df4ab12f8e4a9859820 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Facts/Line.prefab b/Assets/Resources/Prefabs/Facts/Line.prefab index 95f3833b6f17a58acdf489708930bd17f895081b..76c0c28bc6a7552bd99de452c201fc4f8d78b6fd 100644 --- a/Assets/Resources/Prefabs/Facts/Line.prefab +++ b/Assets/Resources/Prefabs/Facts/Line.prefab @@ -423,7 +423,7 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6378548342073962023} m_Material: {fileID: 0} - m_IsTrigger: 0 + m_IsTrigger: 1 m_Enabled: 1 serializedVersion: 2 m_Size: {x: 1, y: 1, z: 1} diff --git a/Assets/Resources/Prefabs/Facts/Point.prefab b/Assets/Resources/Prefabs/Facts/Point.prefab index faf981c3fab62d9b0ce8f8baa08a0fed31251796..2e66ce013b0318d2bcec5c37a159d992a299236e 100644 --- a/Assets/Resources/Prefabs/Facts/Point.prefab +++ b/Assets/Resources/Prefabs/Facts/Point.prefab @@ -13,6 +13,7 @@ GameObject: - component: {fileID: 1075046474335495899} - component: {fileID: 8087426936968725520} - component: {fileID: 114239372808020652} + - component: {fileID: 6183343481027254878} m_Layer: 10 m_Name: Point m_TagString: Selectable @@ -127,6 +128,19 @@ MonoBehaviour: Selected: {fileID: 2100000, guid: 34a95baef388bb8458c97a626b732f9f, type: 2} Hint: {fileID: 2100000, guid: 8621b710d7d1d5041bc6bfd0cc37cdff, type: 2} Solution: {fileID: 2100000, guid: 2a003f0807acc1142965bb21bdc824f6, type: 2} +--- !u!114 &6183343481027254878 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 537518992981541273} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac85f04c60d42c147be42fd4d0420c21, type: 3} + m_Name: + m_EditorClassIdentifier: + ServerScriptGObj: {fileID: 0} --- !u!1 &942938646191423391 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Resources/Prefabs/Facts/Ray.prefab b/Assets/Resources/Prefabs/Facts/Ray.prefab index fe50c539c2e97ec29223318b0795d3271f0103c4..09f96326bd251866bdbe1011a323be0604a645d1 100644 --- a/Assets/Resources/Prefabs/Facts/Ray.prefab +++ b/Assets/Resources/Prefabs/Facts/Ray.prefab @@ -425,7 +425,7 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6378548342073962023} m_Material: {fileID: 0} - m_IsTrigger: 0 + m_IsTrigger: 1 m_Enabled: 1 serializedVersion: 2 m_Size: {x: 1, y: 1, z: 1} diff --git a/Assets/Resources/Prefabs/Facts/Ring.prefab b/Assets/Resources/Prefabs/Facts/Ring.prefab new file mode 100644 index 0000000000000000000000000000000000000000..9d550071c805579389564cd9d8c2fc9ba58a2e66 --- /dev/null +++ b/Assets/Resources/Prefabs/Facts/Ring.prefab @@ -0,0 +1,579 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1001283044610252316 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8698932133077106484} + - component: {fileID: 154494299464322201} + - component: {fileID: 1254072669719294581} + - component: {fileID: 5033072517473897711} + m_Layer: 14 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8698932133077106484 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1001283044610252316} + 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_Children: [] + m_Father: {fileID: 2014127074789226423} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 1.5} + m_SizeDelta: {x: 2, y: 0.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!23 &154494299464322201 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1001283044610252316} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + 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: 1 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &1254072669719294581 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1001283044610252316} + 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: 4294967293 + m_fontColor: {r: 0.993, 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 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 154494299464322201} + m_maskType: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 +--- !u!114 &5033072517473897711 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1001283044610252316} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8cf5a358dacd3b54ab093ee289dd9ba2, type: 3} + m_Name: + m_EditorClassIdentifier: + Cam: {fileID: 0} +--- !u!1 &7067472111420977835 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3821173845951859578} + - component: {fileID: 6307794999199274257} + - component: {fileID: 4181090182545414655} + - component: {fileID: 8736718377918556088} + - component: {fileID: 3274869260965504490} + - component: {fileID: 4622529340520030698} + m_Layer: 14 + m_Name: Mesh + m_TagString: SnapZone + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3821173845951859578 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7067472111420977835} + 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_Children: + - {fileID: 5121703917865025706} + - {fileID: 4775945639457863304} + m_Father: {fileID: 2014127074789226423} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6307794999199274257 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7067472111420977835} + m_Mesh: {fileID: 0} +--- !u!23 &4181090182545414655 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7067472111420977835} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + 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: 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 &8736718377918556088 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7067472111420977835} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} + m_Name: + m_EditorClassIdentifier: + URI: +--- !u!64 &3274869260965504490 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7067472111420977835} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 0} +--- !u!95 &4622529340520030698 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7067472111420977835} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 7f5a2c4324ecb83488857feb7887b5a7, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!1 &7320042660989930446 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4775945639457863304} + - component: {fileID: 2239887596765845809} + - component: {fileID: 2358573561192576705} + - component: {fileID: 7622934778317457235} + - component: {fileID: 7100019936063167720} + m_Layer: 14 + m_Name: LineHighlight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4775945639457863304 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7320042660989930446} + 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_Children: [] + m_Father: {fileID: 3821173845951859578} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2239887596765845809 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7320042660989930446} + m_Mesh: {fileID: 0} +--- !u!23 &2358573561192576705 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7320042660989930446} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + 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!114 &7622934778317457235 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7320042660989930446} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6b9fc46f5bfe6b4eb4adf01e6b65bac, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &7100019936063167720 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7320042660989930446} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 35327f6b479454149a20587eb03337f8, type: 3} + m_Name: + m_EditorClassIdentifier: + torusRadius: 1 + ringRadius: 0.026 + ringSegmentCount: 50 + segmentSideCount: 30 + torusMesh: {fileID: 2239887596765845809} +--- !u!1 &7644263571880024739 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2014127074789226423} + - component: {fileID: 2449733549921447938} + m_Layer: 14 + m_Name: Ring + m_TagString: Selectable + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2014127074789226423 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7644263571880024739} + 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_Children: + - {fileID: 3821173845951859578} + - {fileID: 8698932133077106484} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2449733549921447938 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7644263571880024739} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 35327f6b479454149a20587eb03337f8, type: 3} + m_Name: + m_EditorClassIdentifier: + torusRadius: 1 + ringRadius: 0.05 + ringSegmentCount: 50 + segmentSideCount: 30 + torusMesh: {fileID: 6307794999199274257} +--- !u!1 &8117705180640636930 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5121703917865025706} + - component: {fileID: 213008266423099231} + - component: {fileID: 2162055944849665559} + - component: {fileID: 8620085494464208677} + m_Layer: 14 + m_Name: LineInner + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5121703917865025706 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8117705180640636930} + 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_Children: [] + m_Father: {fileID: 3821173845951859578} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &213008266423099231 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8117705180640636930} + m_Mesh: {fileID: 0} +--- !u!23 &2162055944849665559 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8117705180640636930} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + 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: a8a7bf60a30970f469a9c9d3ae2de6ef, 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 &8620085494464208677 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8117705180640636930} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 35327f6b479454149a20587eb03337f8, type: 3} + m_Name: + m_EditorClassIdentifier: + torusRadius: 1 + ringRadius: 0.025 + ringSegmentCount: 50 + segmentSideCount: 30 + torusMesh: {fileID: 213008266423099231} diff --git a/Assets/Resources/Prefabs/Facts/Ring.prefab.meta b/Assets/Resources/Prefabs/Facts/Ring.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..1b40fa4116a7d339fd3b3bf488a26bdb9c868429 --- /dev/null +++ b/Assets/Resources/Prefabs/Facts/Ring.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0ed2a320a46601c4bab6c097b0b09add +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Icons/AngleCircleLine.prefab b/Assets/Resources/Prefabs/UI/Icons/AngleCircleLine.prefab new file mode 100644 index 0000000000000000000000000000000000000000..b95c492474d8201a9b3c96800315a19a161ce9d6 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/AngleCircleLine.prefab @@ -0,0 +1,400 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1062040214225536323 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1617200358099008032} + - component: {fileID: 3243997153339448071} + - component: {fileID: 2655091029813954744} + m_Layer: 5 + m_Name: point + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1617200358099008032 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1062040214225536323} + 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_Children: [] + m_Father: {fileID: 3869010688581027450} + 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: 25.8, y: -5.2} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3243997153339448071 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1062040214225536323} + m_CullTransparentMesh: 0 +--- !u!114 &2655091029813954744 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1062040214225536323} + 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: 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: 30 + m_fontSizeBase: 30 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + 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: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 24.50824, y: 0, z: 28.978638, 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 &4902928549420802332 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3869010688581027450} + - component: {fileID: 4197087563868549049} + - component: {fileID: 2609551024752603468} + - component: {fileID: 4177212962186602924} + - component: {fileID: 7571158064837864710} + - component: {fileID: 5331562473041691776} + - component: {fileID: 5437783688132341522} + m_Layer: 0 + m_Name: AngleCircleLine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3869010688581027450 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4902928549420802332} + 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_Children: + - {fileID: 1617200358099008032} + - {fileID: 1321826948182935295} + 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 &4197087563868549049 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4902928549420802332} + m_CullTransparentMesh: 1 +--- !u!114 &2609551024752603468 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4902928549420802332} + 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: e31f435cefe277041b681d289c465224, 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!114 &4177212962186602924 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4902928549420802332} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77b75bbb0b640664db62cf8acb69994e, type: 3} + m_Name: + m_EditorClassIdentifier: + imageToChange: {fileID: 0} +--- !u!114 &7571158064837864710 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4902928549420802332} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a091cb23127eb7347955cb7f747af431, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!225 &5331562473041691776 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4902928549420802332} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &5437783688132341522 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4902928549420802332} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &7854085605173747270 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1321826948182935295} + - component: {fileID: 3646602881007070212} + - component: {fileID: 4452291738773295751} + m_Layer: 5 + m_Name: point (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1321826948182935295 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7854085605173747270} + 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_Children: [] + m_Father: {fileID: 3869010688581027450} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -5.6, y: 30.3} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3646602881007070212 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7854085605173747270} + m_CullTransparentMesh: 0 +--- !u!114 &4452291738773295751 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7854085605173747270} + 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: 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: 30 + m_fontSizeBase: 30 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + 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: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 10.387543, y: 8.45816, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/Resources/Prefabs/UI/Icons/AngleCircleLine.prefab.meta b/Assets/Resources/Prefabs/UI/Icons/AngleCircleLine.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..aeeaf945813d89a5068937ba24c3e0f4b3f611f6 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/AngleCircleLine.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 62cec72d28de59d4c8ae782957cc10a1 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Icons/AreaCircle_perfab.prefab b/Assets/Resources/Prefabs/UI/Icons/AreaCircle_perfab.prefab new file mode 100644 index 0000000000000000000000000000000000000000..807e63f91fe8a7f4b25e50d3f1c4c0dd393c007d --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/AreaCircle_perfab.prefab @@ -0,0 +1,265 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &697269004072719307 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4555626192197843171} + - component: {fileID: 8301363864908542101} + - component: {fileID: 2759995560716152988} + m_Layer: 5 + m_Name: point + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4555626192197843171 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 697269004072719307} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 17.8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7235558123707866364} + 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.2, y: -32.2} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8301363864908542101 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 697269004072719307} + m_CullTransparentMesh: 0 +--- !u!114 &2759995560716152988 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 697269004072719307} + 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: 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + 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: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 12.983246} + 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 &7016901710118546043 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7235558123707866364} + - component: {fileID: 7075624231482420700} + - component: {fileID: 4086712909713098893} + - component: {fileID: 4474082756159207727} + - component: {fileID: 6928182635216917115} + - component: {fileID: 8310254113192487485} + - component: {fileID: 6811931286641226162} + m_Layer: 0 + m_Name: AreaCircle_perfab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7235558123707866364 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7016901710118546043} + 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_Children: + - {fileID: 4555626192197843171} + 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 &7075624231482420700 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7016901710118546043} + m_CullTransparentMesh: 1 +--- !u!114 &4086712909713098893 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7016901710118546043} + 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: d03f90cb79e6fba4fb25edaf74ffeadd, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &4474082756159207727 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7016901710118546043} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77b75bbb0b640664db62cf8acb69994e, type: 3} + m_Name: + m_EditorClassIdentifier: + imageToChange: {fileID: 0} +--- !u!114 &6928182635216917115 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7016901710118546043} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a091cb23127eb7347955cb7f747af431, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!225 &8310254113192487485 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7016901710118546043} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &6811931286641226162 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7016901710118546043} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Resources/Prefabs/UI/Icons/AreaCircle_perfab.prefab.meta b/Assets/Resources/Prefabs/UI/Icons/AreaCircle_perfab.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..23f88a20db3c09956885387f736ad9db00bfb1c3 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/AreaCircle_perfab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 210f1e1acf16abf40a39587074c4d25a +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Icons/CircleFact.prefab b/Assets/Resources/Prefabs/UI/Icons/CircleFact.prefab new file mode 100644 index 0000000000000000000000000000000000000000..a1c024a4d683e1ab20c22465a7397451174ca59c --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/CircleFact.prefab @@ -0,0 +1,265 @@ +%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_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: 5132214578572184594} + - component: {fileID: 3896398116007953758} + - component: {fileID: 6482343618895123747} + - component: {fileID: 1602337205070616824} + m_Layer: 5 + m_Name: CircleFact + 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_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: 4.4, y: 4.6} + 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: 1 +--- !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: 65d7b0853e3ee4845afbb16904fd7e11, 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!114 &5132214578572184594 +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: 77b75bbb0b640664db62cf8acb69994e, type: 3} + m_Name: + m_EditorClassIdentifier: + imageToChange: {fileID: 1894013120851118185} +--- !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: +--- !u!225 &6482343618895123747 +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 &1602337205070616824 +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: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Resources/Prefabs/UI/Icons/CircleFact.prefab.meta b/Assets/Resources/Prefabs/UI/Icons/CircleFact.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..2e7c977d40d98901c3a74d3df70324c8a9880482 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/CircleFact.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9d08fd45bc83c7c42a9be42f5309c6c2 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Icons/ConeVolume_prefab.prefab b/Assets/Resources/Prefabs/UI/Icons/ConeVolume_prefab.prefab new file mode 100644 index 0000000000000000000000000000000000000000..9ec0e4efc010015a1c41ea8e03f4e02657d0ac1f --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/ConeVolume_prefab.prefab @@ -0,0 +1,265 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1900852530105271237 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4986007063741953014} + - component: {fileID: 8855531360084136872} + - component: {fileID: 4325610265215697195} + m_Layer: 5 + m_Name: point + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4986007063741953014 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1900852530105271237} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 17.8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1359998811365411408} + 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: -4.9, y: -42.4} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8855531360084136872 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1900852530105271237} + m_CullTransparentMesh: 0 +--- !u!114 &4325610265215697195 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1900852530105271237} + 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: AAAAA + 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: 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: 28 + m_fontSizeBase: 28 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + 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: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 2.195282, y: 0, z: -7.272583, w: 14.724426} + 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 &2523593828849809055 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1359998811365411408} + - component: {fileID: 7028084461172378176} + - component: {fileID: 3047192119255630295} + - component: {fileID: 4076526528120032799} + - component: {fileID: 4263320076605886561} + - component: {fileID: 3829202662460982349} + - component: {fileID: 2650353447837694094} + m_Layer: 0 + m_Name: ConeVolume_prefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1359998811365411408 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2523593828849809055} + 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_Children: + - {fileID: 4986007063741953014} + 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 &7028084461172378176 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2523593828849809055} + m_CullTransparentMesh: 1 +--- !u!114 &3047192119255630295 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2523593828849809055} + 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: f580ba9d4e3825d49a5a7907d2a3f0c1, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &4076526528120032799 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2523593828849809055} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77b75bbb0b640664db62cf8acb69994e, type: 3} + m_Name: + m_EditorClassIdentifier: + imageToChange: {fileID: 0} +--- !u!114 &4263320076605886561 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2523593828849809055} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a091cb23127eb7347955cb7f747af431, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!225 &3829202662460982349 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2523593828849809055} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &2650353447837694094 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2523593828849809055} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Resources/Prefabs/UI/Icons/ConeVolume_prefab.prefab.meta b/Assets/Resources/Prefabs/UI/Icons/ConeVolume_prefab.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..a7b4a656ae54b879d7cbcb2c42ff515190025b00 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/ConeVolume_prefab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 992edeb4264d0fa49b0f9b35b9ab85ce +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Icons/CylinderVolume.prefab b/Assets/Resources/Prefabs/UI/Icons/CylinderVolume.prefab new file mode 100644 index 0000000000000000000000000000000000000000..bf194d69b45ee0a2871b6acb5813535509c05bd2 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/CylinderVolume.prefab @@ -0,0 +1,265 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3705838077157398664 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3254540930359715604} + - component: {fileID: 4683551907175501866} + - component: {fileID: 6630856054862537504} + m_Layer: 5 + m_Name: point (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3254540930359715604 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3705838077157398664} + 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_Children: [] + m_Father: {fileID: 7509137162853395042} + 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.66} + m_AnchoredPosition: {x: -0.3, y: -38.2} + m_SizeDelta: {x: 100, y: 34} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4683551907175501866 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3705838077157398664} + m_CullTransparentMesh: 0 +--- !u!114 &6630856054862537504 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3705838077157398664} + 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: AAAAB + 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: 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: 25 + m_fontSizeBase: 25 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + 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: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 5.0387573, y: 9.987152, z: 5.7023926, w: 12.278198} + 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 &5287418535931939099 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7509137162853395042} + - component: {fileID: 4650902899377139768} + - component: {fileID: 8448132399530171869} + - component: {fileID: 4549857745383475350} + - component: {fileID: -7338472263132780475} + - component: {fileID: 7240967210820331247} + - component: {fileID: 2130710490396271644} + m_Layer: 0 + m_Name: CylinderVolume + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7509137162853395042 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5287418535931939099} + 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_Children: + - {fileID: 3254540930359715604} + 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 &4650902899377139768 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5287418535931939099} + m_CullTransparentMesh: 1 +--- !u!114 &8448132399530171869 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5287418535931939099} + 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: 352d7dd2edb65f542aba25be27d20d98, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &4549857745383475350 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5287418535931939099} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77b75bbb0b640664db62cf8acb69994e, type: 3} + m_Name: + m_EditorClassIdentifier: + imageToChange: {fileID: 0} +--- !u!114 &-7338472263132780475 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5287418535931939099} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a091cb23127eb7347955cb7f747af431, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!225 &7240967210820331247 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5287418535931939099} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &2130710490396271644 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5287418535931939099} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Resources/Prefabs/UI/Icons/CylinderVolume.prefab.meta b/Assets/Resources/Prefabs/UI/Icons/CylinderVolume.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..717226743f1d784c161bbc401e2961eecb173656 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/CylinderVolume.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 30d09e8685950994893b3b6388a8906c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Icons/EqualCirclesPrefab.prefab b/Assets/Resources/Prefabs/UI/Icons/EqualCirclesPrefab.prefab new file mode 100644 index 0000000000000000000000000000000000000000..053fe1f2e24bf110865cf3b7b7a9e2b3a1574135 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/EqualCirclesPrefab.prefab @@ -0,0 +1,400 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &999269623253825707 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3366796833421112245} + - component: {fileID: 4263202893165916959} + - component: {fileID: 4670384714962435475} + m_Layer: 5 + m_Name: point + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3366796833421112245 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 999269623253825707} + 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_Children: [] + m_Father: {fileID: 2057578581648752616} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -1.2, y: -33.4} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4263202893165916959 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 999269623253825707} + m_CullTransparentMesh: 0 +--- !u!114 &4670384714962435475 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 999269623253825707} + 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: A + 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: 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + 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: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 6.2644043, y: 0, z: 3.7074585, w: 10.496887} + 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 &2206246547044702491 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1916022202853548340} + - component: {fileID: 5865187638587084515} + - component: {fileID: 2948658129975585178} + m_Layer: 5 + m_Name: point (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1916022202853548340 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2206246547044702491} + 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_Children: [] + m_Father: {fileID: 2057578581648752616} + 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.66} + m_AnchoredPosition: {x: 0.6, y: 19.6} + m_SizeDelta: {x: 100, y: 34} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5865187638587084515 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2206246547044702491} + m_CullTransparentMesh: 0 +--- !u!114 &2948658129975585178 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2206246547044702491} + 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: A + 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: 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + 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: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 5.0387573, y: 9.987152, z: 5.7023926, w: 12.278198} + 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 &7523305359074541435 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2057578581648752616} + - component: {fileID: 7719973282818826063} + - component: {fileID: 2180110340788369784} + - component: {fileID: 1285080900581311433} + - component: {fileID: 6805943141472748426} + - component: {fileID: 3549802384644774303} + - component: {fileID: 4430445033801091530} + m_Layer: 0 + m_Name: EqualCirclesPrefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2057578581648752616 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7523305359074541435} + 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_Children: + - {fileID: 1916022202853548340} + - {fileID: 3366796833421112245} + 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 &7719973282818826063 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7523305359074541435} + m_CullTransparentMesh: 1 +--- !u!114 &2180110340788369784 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7523305359074541435} + 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: ad920a8c90fd4c74ba95809d3e14e6b7, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &1285080900581311433 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7523305359074541435} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77b75bbb0b640664db62cf8acb69994e, type: 3} + m_Name: + m_EditorClassIdentifier: + imageToChange: {fileID: 0} +--- !u!114 &6805943141472748426 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7523305359074541435} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a091cb23127eb7347955cb7f747af431, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!225 &3549802384644774303 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7523305359074541435} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &4430445033801091530 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7523305359074541435} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Resources/Prefabs/UI/Icons/EqualCirclesPrefab.prefab.meta b/Assets/Resources/Prefabs/UI/Icons/EqualCirclesPrefab.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..5a6cc969820ae322dace2d96e95eb54941bfcf58 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/EqualCirclesPrefab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5f461930be2eb074193dc12eb60e10b2 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Icons/OnCirclePreFab.prefab b/Assets/Resources/Prefabs/UI/Icons/OnCirclePreFab.prefab new file mode 100644 index 0000000000000000000000000000000000000000..7eadc8e56a03027f296920261db1134e5f73075b --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/OnCirclePreFab.prefab @@ -0,0 +1,266 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2115817999818309900 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8464853153116416756} + - component: {fileID: 6773971219611625873} + - component: {fileID: 2122753052771730408} + - component: {fileID: 639140626255626101} + - component: {fileID: 6441113378387087702} + - component: {fileID: -8964638906401905625} + - component: {fileID: 9073127243885313005} + m_Layer: 5 + m_Name: OnCirclePreFab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8464853153116416756 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2115817999818309900} + 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_Children: + - {fileID: 7483112472360205916} + 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 &6773971219611625873 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2115817999818309900} + m_CullTransparentMesh: 1 +--- !u!114 &2122753052771730408 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2115817999818309900} + 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: 7482667652216324306, guid: 6c88ce550ca6bd043a12bf7604475ded, + 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!114 &639140626255626101 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2115817999818309900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77b75bbb0b640664db62cf8acb69994e, type: 3} + m_Name: + m_EditorClassIdentifier: + imageToChange: {fileID: 0} +--- !u!114 &6441113378387087702 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2115817999818309900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a091cb23127eb7347955cb7f747af431, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!225 &-8964638906401905625 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2115817999818309900} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &9073127243885313005 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2115817999818309900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &5265014618439724607 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7483112472360205916} + - component: {fileID: 2620712827728531809} + - component: {fileID: 7373443337760040373} + m_Layer: 5 + m_Name: circle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7483112472360205916 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5265014618439724607} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8464853153116416756} + 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: -28, y: -26.7} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2620712827728531809 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5265014618439724607} + m_CullTransparentMesh: 1 +--- !u!114 &7373443337760040373 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5265014618439724607} + 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: 2e498d1c8094910479dc3e1b768306a4, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 2e498d1c8094910479dc3e1b768306a4, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4280295456 + m_fontColor: {r: 0.1254902, g: 0.1254902, b: 0.1254902, 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: 28 + m_fontSizeBase: 28 + 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: 31.891449, y: 8.577667, z: -24.34491, w: 8.552277} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/Resources/Prefabs/UI/Icons/OnCirclePreFab.prefab.meta b/Assets/Resources/Prefabs/UI/Icons/OnCirclePreFab.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..c1a9e1146939a72a3f1871be40b3c07bcf90334f --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/OnCirclePreFab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: df93bd4d977e4ab42a626f7bd06596d6 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Icons/OrthogonalCircleAnglePrefab.prefab b/Assets/Resources/Prefabs/UI/Icons/OrthogonalCircleAnglePrefab.prefab new file mode 100644 index 0000000000000000000000000000000000000000..1c49b3ea90ae025a96fb8325e1ec12f3fcfebc5d --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/OrthogonalCircleAnglePrefab.prefab @@ -0,0 +1,400 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4084476391434520799 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5933166921333861473} + - component: {fileID: 8980010830454435193} + - component: {fileID: 5217577174673142595} + m_Layer: 5 + m_Name: circle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5933166921333861473 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4084476391434520799} + 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_Children: [] + m_Father: {fileID: 313608976654385155} + 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: -26.42, y: -27.53} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8980010830454435193 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4084476391434520799} + m_CullTransparentMesh: 1 +--- !u!114 &5217577174673142595 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4084476391434520799} + 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: 2e498d1c8094910479dc3e1b768306a4, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 2e498d1c8094910479dc3e1b768306a4, type: 2} + m_fontSharedMaterials: [] + 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: 25 + m_fontSizeBase: 25 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_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: 36.103638, y: 6.4127502, z: 17.970886, w: 10.720169} + 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 &7129171914078018932 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7894779467777820317} + - component: {fileID: 7044533986850300775} + - component: {fileID: 8384968683200090543} + m_Layer: 5 + m_Name: point + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7894779467777820317 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7129171914078018932} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 2.1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 313608976654385155} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 45.8, y: -37} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7044533986850300775 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7129171914078018932} + m_CullTransparentMesh: 0 +--- !u!114 &8384968683200090543 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7129171914078018932} + 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: 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: 25 + m_fontSizeBase: 25 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 4 + m_VerticalAlignment: 512 + 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: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 1.8765259, y: -2.8108215, z: 54.22931, w: 17.942413} + 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 &8554350198830106250 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 313608976654385155} + - component: {fileID: 7453695026461963725} + - component: {fileID: 3070659305120604608} + - component: {fileID: 7705752672375263960} + - component: {fileID: 8593937097866258120} + - component: {fileID: 8996773866579933820} + - component: {fileID: 930378118197085978} + m_Layer: 0 + m_Name: OrthogonalCircleAnglePrefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &313608976654385155 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8554350198830106250} + 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_Children: + - {fileID: 5933166921333861473} + - {fileID: 7894779467777820317} + 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 &7453695026461963725 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8554350198830106250} + m_CullTransparentMesh: 1 +--- !u!114 &3070659305120604608 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8554350198830106250} + 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: 66ba1c16426bcaf49baab37f47c67b47, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &7705752672375263960 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8554350198830106250} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77b75bbb0b640664db62cf8acb69994e, type: 3} + m_Name: + m_EditorClassIdentifier: + imageToChange: {fileID: 0} +--- !u!114 &8593937097866258120 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8554350198830106250} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a091cb23127eb7347955cb7f747af431, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!225 &8996773866579933820 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8554350198830106250} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &930378118197085978 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8554350198830106250} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Resources/Prefabs/UI/Icons/OrthogonalCircleAnglePrefab.prefab.meta b/Assets/Resources/Prefabs/UI/Icons/OrthogonalCircleAnglePrefab.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..747b264f86cdd1c997efaed56ddbb41cc379de47 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/OrthogonalCircleAnglePrefab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9ce7444f588cd054989126eaff75c5f3 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Icons/ParallelLinePrefab.prefab b/Assets/Resources/Prefabs/UI/Icons/ParallelLinePrefab.prefab new file mode 100644 index 0000000000000000000000000000000000000000..8b9fe1f0e8d0ea58b7f98af0700015d3e45e54dc --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/ParallelLinePrefab.prefab @@ -0,0 +1,400 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1684854595504432256 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3165017659102780400} + - component: {fileID: 2819967087338812576} + - component: {fileID: 5696377050731032053} + m_Layer: 5 + m_Name: point + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3165017659102780400 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684854595504432256} + 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_Children: [] + m_Father: {fileID: 8643015897288315615} + 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: 30} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2819967087338812576 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684854595504432256} + m_CullTransparentMesh: 0 +--- !u!114 &5696377050731032053 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684854595504432256} + 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: A + 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: 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + 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: 1 + 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 &7510387096843212865 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8643015897288315615} + - component: {fileID: 4856785638153472691} + - component: {fileID: 6811289727063397518} + - component: {fileID: 6586968856821406842} + - component: {fileID: 3914868910838030883} + - component: {fileID: 4479822174921760807} + - component: {fileID: 7215917396402112958} + m_Layer: 5 + m_Name: ParallelLinePrefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8643015897288315615 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7510387096843212865} + 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_Children: + - {fileID: 3165017659102780400} + - {fileID: 3726921479501637083} + 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 &4856785638153472691 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7510387096843212865} + m_CullTransparentMesh: 0 +--- !u!114 &6811289727063397518 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7510387096843212865} + 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: bd545eec2c7bdde42957def5c75b4de8, 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!114 &6586968856821406842 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7510387096843212865} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77b75bbb0b640664db62cf8acb69994e, type: 3} + m_Name: + m_EditorClassIdentifier: + imageToChange: {fileID: 6811289727063397518} +--- !u!114 &3914868910838030883 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7510387096843212865} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a091cb23127eb7347955cb7f747af431, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!225 &4479822174921760807 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7510387096843212865} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &7215917396402112958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7510387096843212865} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &7693994637337906468 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3726921479501637083} + - component: {fileID: 3824985147331139666} + - component: {fileID: 2874878903173316411} + m_Layer: 5 + m_Name: point (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3726921479501637083 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7693994637337906468} + 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_Children: [] + m_Father: {fileID: 8643015897288315615} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -30} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3824985147331139666 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7693994637337906468} + m_CullTransparentMesh: 0 +--- !u!114 &2874878903173316411 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7693994637337906468} + 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: A + 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: 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + 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: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/Resources/Prefabs/UI/Icons/ParallelLinePrefab.prefab.meta b/Assets/Resources/Prefabs/UI/Icons/ParallelLinePrefab.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..c5dcf14f4a1cf568854d569e6c96d8c8c71badca --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/ParallelLinePrefab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9f086cfbfeb0dfd46af67395aa17aafa +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Icons/RadiusPrefab.prefab b/Assets/Resources/Prefabs/UI/Icons/RadiusPrefab.prefab new file mode 100644 index 0000000000000000000000000000000000000000..3e64a454c956f94d834121f880cc94beaf2a7b11 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/RadiusPrefab.prefab @@ -0,0 +1,265 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2513701074329712390 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5635985299619511840} + - component: {fileID: 9014721336959090042} + - component: {fileID: 6545787433352254111} + - component: {fileID: 7450556920702625537} + - component: {fileID: 173279308733449335} + - component: {fileID: 6544775749910269078} + - component: {fileID: 3955180868949107883} + m_Layer: 0 + m_Name: RadiusPrefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5635985299619511840 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2513701074329712390} + 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_Children: + - {fileID: 7905377173249376416} + 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 &9014721336959090042 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2513701074329712390} + m_CullTransparentMesh: 1 +--- !u!114 &6545787433352254111 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2513701074329712390} + 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: b85e914ced337ad4bbc40ad74c37da14, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &7450556920702625537 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2513701074329712390} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77b75bbb0b640664db62cf8acb69994e, type: 3} + m_Name: + m_EditorClassIdentifier: + imageToChange: {fileID: 0} +--- !u!114 &173279308733449335 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2513701074329712390} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a091cb23127eb7347955cb7f747af431, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!225 &6544775749910269078 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2513701074329712390} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &3955180868949107883 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2513701074329712390} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &8185219527703794732 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7905377173249376416} + - component: {fileID: 6861039344835354704} + - component: {fileID: 811399006990138641} + m_Layer: 5 + m_Name: point + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7905377173249376416 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8185219527703794732} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 8.6} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 5635985299619511840} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.47000003} + m_AnchorMax: {x: 0.5, y: 0.47000003} + m_AnchoredPosition: {x: 4.1, y: -30.5} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6861039344835354704 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8185219527703794732} + m_CullTransparentMesh: 0 +--- !u!114 &811399006990138641 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8185219527703794732} + 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: 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: 34 + m_fontSizeBase: 34 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + 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: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 10.375732, w: 11.709564} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/Resources/Prefabs/UI/Icons/RadiusPrefab.prefab.meta b/Assets/Resources/Prefabs/UI/Icons/RadiusPrefab.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..ca8943c0612d519be5304fd949e9c06be14998cd --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/RadiusPrefab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5b54aca5b2f2bfa48968656ed3bea181 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Icons/RectangleFactPrefab.prefab b/Assets/Resources/Prefabs/UI/Icons/RectangleFactPrefab.prefab new file mode 100644 index 0000000000000000000000000000000000000000..ea9b3af77454a62dadd7e6c43ddf7101cb2613d8 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/RectangleFactPrefab.prefab @@ -0,0 +1,670 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1335140282060877905 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4437548300139704302} + - component: {fileID: 6854488822927795657} + - component: {fileID: 1785697637619353122} + m_Layer: 5 + m_Name: pointB + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4437548300139704302 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1335140282060877905} + 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_Children: [] + m_Father: {fileID: 2351056462585403637} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 4.9, y: -29.7} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6854488822927795657 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1335140282060877905} + m_CullTransparentMesh: 0 +--- !u!114 &1785697637619353122 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1335140282060877905} + 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: A + 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: 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + 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: 1 + 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 &4752193981666013658 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6853670326260023163} + - component: {fileID: 3174875115698218274} + - component: {fileID: 236017584527233354} + m_Layer: 5 + m_Name: pointA + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6853670326260023163 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4752193981666013658} + 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_Children: [] + m_Father: {fileID: 2351056462585403637} + 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: 29.1, y: -29.5} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3174875115698218274 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4752193981666013658} + m_CullTransparentMesh: 0 +--- !u!114 &236017584527233354 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4752193981666013658} + 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: A + 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: 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + 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: 1 + 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 &6409746124577929724 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1606008956936540319} + - component: {fileID: 8001121185252052439} + - component: {fileID: 6402563570144907913} + m_Layer: 5 + m_Name: pointD + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1606008956936540319 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6409746124577929724} + 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_Children: [] + m_Father: {fileID: 2351056462585403637} + m_RootOrder: 3 + 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: -34.9, y: -29.5} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8001121185252052439 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6409746124577929724} + m_CullTransparentMesh: 0 +--- !u!114 &6402563570144907913 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6409746124577929724} + 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: A + 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: 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + 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: 1 + 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 &7529334057180175337 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5911247904431387585} + - component: {fileID: 7355970363717505514} + - component: {fileID: 7959791220384863301} + m_Layer: 5 + m_Name: pointC + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5911247904431387585 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7529334057180175337} + 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_Children: [] + m_Father: {fileID: 2351056462585403637} + m_RootOrder: 2 + 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: -12.1, y: -29.8} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7355970363717505514 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7529334057180175337} + m_CullTransparentMesh: 0 +--- !u!114 &7959791220384863301 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7529334057180175337} + 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: A + 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: 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + 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: 1 + 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 &8156936215466465834 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2351056462585403637} + - component: {fileID: 7822135884913080422} + - component: {fileID: 3266031038391391049} + - component: {fileID: 7956205528156386179} + - component: {fileID: 2163234623969663275} + - component: {fileID: 8026609014010234375} + - component: {fileID: 4558040300745642744} + m_Layer: 5 + m_Name: RectangleFactPrefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2351056462585403637 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8156936215466465834} + 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_Children: + - {fileID: 6853670326260023163} + - {fileID: 4437548300139704302} + - {fileID: 5911247904431387585} + - {fileID: 1606008956936540319} + 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 &7822135884913080422 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8156936215466465834} + m_CullTransparentMesh: 1 +--- !u!114 &3266031038391391049 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8156936215466465834} + 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: f4c84b8f318e3cb469eb72c734ccbf39, 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!114 &7956205528156386179 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8156936215466465834} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77b75bbb0b640664db62cf8acb69994e, type: 3} + m_Name: + m_EditorClassIdentifier: + imageToChange: {fileID: 0} +--- !u!114 &2163234623969663275 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8156936215466465834} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a091cb23127eb7347955cb7f747af431, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!225 &8026609014010234375 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8156936215466465834} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &4558040300745642744 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8156936215466465834} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Resources/Prefabs/UI/Icons/RectangleFactPrefab.prefab.meta b/Assets/Resources/Prefabs/UI/Icons/RectangleFactPrefab.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..1bb49e3f92ac59ccc140f59196ca8de4342b1f5e --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/RectangleFactPrefab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b6f35afcaff5d8a40bf8f792eb3299e6 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Icons/RightAnglePrefab.prefab b/Assets/Resources/Prefabs/UI/Icons/RightAnglePrefab.prefab new file mode 100644 index 0000000000000000000000000000000000000000..dd99580a47cab66ec6e90e4d122d2f4e008e04b3 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/RightAnglePrefab.prefab @@ -0,0 +1,535 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &921520135362224320 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2051347607227540852} + - component: {fileID: 8935779083928885339} + - component: {fileID: 786183127531855823} + m_Layer: 5 + m_Name: point (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2051347607227540852 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 921520135362224320} + 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_Children: [] + m_Father: {fileID: 3558427588790173337} + m_RootOrder: 2 + 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: 15.7, y: -28.6} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8935779083928885339 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 921520135362224320} + m_CullTransparentMesh: 0 +--- !u!114 &786183127531855823 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 921520135362224320} + 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: A + 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: 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + 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: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 40.342957, y: 0, z: 32.524048, 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 &3080888058940174091 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3558427588790173337} + - component: {fileID: 661520793940439990} + - component: {fileID: 5767345106027831726} + - component: {fileID: 5822687220706391381} + - component: {fileID: 3794236076833855767} + - component: {fileID: 8245241791380942728} + - component: {fileID: 8661743446683420805} + m_Layer: 0 + m_Name: RightAnglePrefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3558427588790173337 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3080888058940174091} + 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_Children: + - {fileID: 8820573273228334392} + - {fileID: 6929334133930288485} + - {fileID: 2051347607227540852} + 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 &661520793940439990 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3080888058940174091} + m_CullTransparentMesh: 1 +--- !u!114 &5767345106027831726 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3080888058940174091} + 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: 2f972a9b017f79a43a7e95eeddebd66b, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &5822687220706391381 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3080888058940174091} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77b75bbb0b640664db62cf8acb69994e, type: 3} + m_Name: + m_EditorClassIdentifier: + imageToChange: {fileID: 0} +--- !u!114 &3794236076833855767 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3080888058940174091} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a091cb23127eb7347955cb7f747af431, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!225 &8245241791380942728 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3080888058940174091} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &8661743446683420805 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3080888058940174091} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &7613847065484003782 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8820573273228334392} + - component: {fileID: 4437790263001420278} + - component: {fileID: 7526375183334386681} + m_Layer: 5 + m_Name: point + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8820573273228334392 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7613847065484003782} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 3558427588790173337} + 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: -27.2, y: 30.2} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4437790263001420278 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7613847065484003782} + m_CullTransparentMesh: 0 +--- !u!114 &7526375183334386681 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7613847065484003782} + 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: A + 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: 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + 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: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 20.395447, y: 0, z: 29.55957, 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 &7831850345969621479 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6929334133930288485} + - component: {fileID: 1200829040008779125} + - component: {fileID: 7111589452609809811} + m_Layer: 5 + m_Name: point (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6929334133930288485 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7831850345969621479} + 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_Children: [] + m_Father: {fileID: 3558427588790173337} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -28.6, y: -25.1} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1200829040008779125 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7831850345969621479} + m_CullTransparentMesh: 0 +--- !u!114 &7111589452609809811 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7831850345969621479} + 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: A + 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: 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + 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: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 27.442444, y: 7.325897, z: 29.48285, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/Resources/Prefabs/UI/Icons/RightAnglePrefab.prefab.meta b/Assets/Resources/Prefabs/UI/Icons/RightAnglePrefab.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..116797872f5accd95b63ec1c7e58eb6a7bc62ece --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/RightAnglePrefab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 389563c758e86d848b3341576b90b7e4 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Icons/ScrollDisplay.prefab b/Assets/Resources/Prefabs/UI/Icons/ScrollDisplay.prefab index 53e43ab695bb9981b04154e251ea63a8bc6b98f6..d83591a380658b6e74a310645ebd4db4d5c722cf 100644 --- a/Assets/Resources/Prefabs/UI/Icons/ScrollDisplay.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/ScrollDisplay.prefab @@ -12,7 +12,6 @@ GameObject: - component: {fileID: 3213819025273557502} - component: {fileID: 2305338954152611092} - component: {fileID: 114452647229146242} - - component: {fileID: 114809707957640338} m_Layer: 5 m_Name: ScrollDisplay m_TagString: Untagged @@ -57,12 +56,14 @@ MonoBehaviour: m_GameObject: {fileID: 3173330253721512196} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + 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: [] @@ -75,6 +76,7 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!114 &114452647229146242 MonoBehaviour: m_ObjectHideFlags: 0 @@ -87,53 +89,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 67d16c96068129c4c8631966f2166bd8, type: 3} m_Name: m_EditorClassIdentifier: - scroll: - problemTheory: - solutionTheory: - label: - description: - declarations: [] DetailScreen: {fileID: 0} ---- !u!114 &114809707957640338 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3173330253721512196} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1862395651, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Delegates: - - eventID: 4 - callback: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 114452647229146242} - m_MethodName: onClick - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - - m_Target: {fileID: 0} - m_MethodName: - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - delegates: [] --- !u!1 &5809183911047187526 GameObject: m_ObjectHideFlags: 0 @@ -194,6 +150,8 @@ MonoBehaviour: 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: [] @@ -218,13 +176,12 @@ MonoBehaviour: 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_outlineColor: - serializedVersion: 2 - rgba: 4278190080 m_fontSize: 41.05 m_fontSizeBase: 36 m_fontWeight: 400 @@ -232,7 +189,9 @@ MonoBehaviour: m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 - m_textAlignment: 514 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 m_characterSpacing: 0 m_wordSpacing: 0 m_lineSpacing: 0 @@ -242,10 +201,8 @@ MonoBehaviour: m_enableWordWrapping: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 - m_firstOverflowCharacterIndex: -1 m_linkedTextComponent: {fileID: 0} - m_isLinkedTextComponent: 0 - m_isTextTruncated: 0 + parentLinkedComponent: {fileID: 0} m_enableKerning: 1 m_enableExtraPadding: 0 checkPaddingRequired: 0 @@ -253,39 +210,17 @@ MonoBehaviour: m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 - m_ignoreRectMaskCulling: 0 - m_ignoreCulling: 1 m_horizontalMapping: 0 m_verticalMapping: 0 m_uvLineOffset: 0 m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 m_VertexBufferAutoSizeReduction: 1 - m_firstVisibleCharacter: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 m_margin: {x: 3.2196655, y: 3.2196655, z: 3.6221313, w: 3.6221313} - m_textInfo: - textComponent: {fileID: 5867570113647991285} - characterCount: 8 - spriteCount: 0 - spaceCount: 1 - wordCount: 2 - linkCount: 0 - lineCount: 2 - pageCount: 1 - materialCount: 1 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 - m_spriteAnimator: {fileID: 0} m_hasFontAssetChanged: 0 - m_subTextObjects: - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/Resources/Prefabs/UI/Icons/TestFactPrefab.prefab b/Assets/Resources/Prefabs/UI/Icons/TestFactPrefab.prefab new file mode 100644 index 0000000000000000000000000000000000000000..3a43cec84139fba4bf648e2e8060af2170ba2246 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/TestFactPrefab.prefab @@ -0,0 +1,130 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2846439484187545958 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6755804354927699367} + - component: {fileID: 3779590155575851460} + - component: {fileID: 5078315713010028456} + - component: {fileID: 2785454548719711828} + - component: {fileID: 156028697059819196} + - component: {fileID: 1224931104090066081} + - component: {fileID: -5313503588223420466} + m_Layer: 0 + m_Name: TestFactPrefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6755804354927699367 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2846439484187545958} + 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_Children: [] + 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 &3779590155575851460 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2846439484187545958} + m_CullTransparentMesh: 1 +--- !u!114 &5078315713010028456 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2846439484187545958} + 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: e706f1d2fb068e342b1c80c357d84b40, 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!114 &2785454548719711828 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2846439484187545958} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a091cb23127eb7347955cb7f747af431, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!225 &156028697059819196 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2846439484187545958} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &1224931104090066081 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2846439484187545958} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &-5313503588223420466 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2846439484187545958} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77b75bbb0b640664db62cf8acb69994e, type: 3} + m_Name: + m_EditorClassIdentifier: + imageToChange: {fileID: 0} diff --git a/Assets/Resources/Prefabs/UI/Icons/TestFactPrefab.prefab.meta b/Assets/Resources/Prefabs/UI/Icons/TestFactPrefab.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..cf49f39988829d99fa80692e11f23dca2e5ea7b8 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/TestFactPrefab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5dc76e187eae4214697491bfb42773e8 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Icons/TruncatedConeVolumePrefab.prefab b/Assets/Resources/Prefabs/UI/Icons/TruncatedConeVolumePrefab.prefab new file mode 100644 index 0000000000000000000000000000000000000000..e8d5b381b9578cdec396da23f1770554a8061ada --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/TruncatedConeVolumePrefab.prefab @@ -0,0 +1,265 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4123133807278660472 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4304353889690954113} + - component: {fileID: 1286697532791835095} + - component: {fileID: 2999154800373574638} + - component: {fileID: 5477813449890952819} + - component: {fileID: 6431159876548220859} + - component: {fileID: 5268227492380838391} + - component: {fileID: 4468595272332714251} + m_Layer: 0 + m_Name: TruncatedConeVolumePrefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4304353889690954113 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4123133807278660472} + 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_Children: + - {fileID: 7937755305675264209} + 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 &1286697532791835095 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4123133807278660472} + m_CullTransparentMesh: 1 +--- !u!114 &2999154800373574638 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4123133807278660472} + 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: fde0a14086151274a9d464a3d51c5e0f, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &5477813449890952819 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4123133807278660472} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77b75bbb0b640664db62cf8acb69994e, type: 3} + m_Name: + m_EditorClassIdentifier: + imageToChange: {fileID: 0} +--- !u!114 &6431159876548220859 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4123133807278660472} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a091cb23127eb7347955cb7f747af431, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!225 &5268227492380838391 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4123133807278660472} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &4468595272332714251 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4123133807278660472} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &6234169056530260467 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7937755305675264209} + - component: {fileID: 860698918242124271} + - component: {fileID: 789128519229516834} + m_Layer: 5 + m_Name: circle1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7937755305675264209 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6234169056530260467} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 16.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4304353889690954113} + 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: -5.3, y: -47.5} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &860698918242124271 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6234169056530260467} + m_CullTransparentMesh: 0 +--- !u!114 &789128519229516834 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6234169056530260467} + 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: AAAAA + 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: 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: 28 + m_fontSizeBase: 28 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + 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: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 3.288086, y: -4.9126587, z: -6.52417, w: 17.942413} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/Resources/Prefabs/UI/Icons/TruncatedConeVolumePrefab.prefab.meta b/Assets/Resources/Prefabs/UI/Icons/TruncatedConeVolumePrefab.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..918ff76fae7e5ed46d8f121d5fbee8171641f562 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/TruncatedConeVolumePrefab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9d0019fa4b5725a49bdfc78c4d67661e +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Icons/UnequalCirclesPrefab.prefab b/Assets/Resources/Prefabs/UI/Icons/UnequalCirclesPrefab.prefab new file mode 100644 index 0000000000000000000000000000000000000000..99761cdd546673a6f5774bb5c31faf6a91c793f2 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/UnequalCirclesPrefab.prefab @@ -0,0 +1,400 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3217755535904919554 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6656328133969465038} + - component: {fileID: 6852736761944882406} + - component: {fileID: 5654613262439864818} + m_Layer: 5 + m_Name: point + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6656328133969465038 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3217755535904919554} + 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_Children: [] + m_Father: {fileID: 1329885387404967602} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -1.2000732, y: -33.399963} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6852736761944882406 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3217755535904919554} + m_CullTransparentMesh: 0 +--- !u!114 &5654613262439864818 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3217755535904919554} + 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: A + 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: 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + 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: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 6.2644043, y: 0, z: 3.7074585, w: 10.496887} + 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 &5769925203401971992 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1329885387404967602} + - component: {fileID: 8848431339215720241} + - component: {fileID: 7403282225673375912} + - component: {fileID: 3225367128346546047} + - component: {fileID: 4056140006323214235} + - component: {fileID: 8957209247582476496} + - component: {fileID: -6417425987847613228} + m_Layer: 0 + m_Name: UnequalCirclesPrefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1329885387404967602 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5769925203401971992} + 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_Children: + - {fileID: 5090358772929881988} + - {fileID: 6656328133969465038} + 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 &8848431339215720241 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5769925203401971992} + m_CullTransparentMesh: 1 +--- !u!114 &7403282225673375912 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5769925203401971992} + 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: 269651011d5ec79458964edbef59ae70, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &3225367128346546047 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5769925203401971992} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77b75bbb0b640664db62cf8acb69994e, type: 3} + m_Name: + m_EditorClassIdentifier: + imageToChange: {fileID: 0} +--- !u!114 &4056140006323214235 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5769925203401971992} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a091cb23127eb7347955cb7f747af431, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!225 &8957209247582476496 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5769925203401971992} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &-6417425987847613228 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5769925203401971992} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &5984757243279669606 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5090358772929881988} + - component: {fileID: 2730122920114417607} + - component: {fileID: 6694126399850149665} + m_Layer: 5 + m_Name: point (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5090358772929881988 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5984757243279669606} + 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_Children: [] + m_Father: {fileID: 1329885387404967602} + 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.66} + m_AnchoredPosition: {x: 0.5999756, y: 19.600037} + m_SizeDelta: {x: 100, y: 34} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2730122920114417607 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5984757243279669606} + m_CullTransparentMesh: 0 +--- !u!114 &6694126399850149665 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5984757243279669606} + 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: A + 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: 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + 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: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 5.0387573, y: 9.987152, z: 5.7023926, w: 12.278198} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/Resources/Prefabs/UI/Icons/UnequalCirclesPrefab.prefab.meta b/Assets/Resources/Prefabs/UI/Icons/UnequalCirclesPrefab.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..9b97b2f143e0cfd346271761641b5330421f5320 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Icons/UnequalCirclesPrefab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 047cd3a517f781846a1f983394b4bb7b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/InteractionEngine/CommunicationEvents.cs b/Assets/Scripts/InteractionEngine/CommunicationEvents.cs index 0e3326a1017336ac3007af4bf09fb69371ad8f48..7bbdd7cfdc760ec24c12d39a0d5739dd8c2284b6 100644 --- a/Assets/Scripts/InteractionEngine/CommunicationEvents.cs +++ b/Assets/Scripts/InteractionEngine/CommunicationEvents.cs @@ -7,7 +7,9 @@ public static class CommunicationEvents { - public static UnityEvent<RaycastHit> TriggerEvent = new(); + public static UnityEvent<RaycastHit[]> TriggerEvent = new(); + //TODO check if this needs further adjustments + // public class HitEvent : UnityEvent<RaycastHit[]> { } public static UnityEvent<int> ToolModeChangedEvent = new(); public static UnityEvent<Fact> AddFactEvent = new(); diff --git a/Assets/Scripts/InteractionEngine/FactHandling/Fact.cs b/Assets/Scripts/InteractionEngine/FactHandling/Fact.cs index 347c8c6c269303f143551ba2776ce48497590e9a..44382138309730b4e673b608ccf25b5341f35f3a 100644 --- a/Assets/Scripts/InteractionEngine/FactHandling/Fact.cs +++ b/Assets/Scripts/InteractionEngine/FactHandling/Fact.cs @@ -11,15 +11,79 @@ public class ParsingDictionary { //TODO? get rid of this, use reflection? instead, if possible //TODO: docu + + //public static Dictionary<string, Func<Scroll.ScrollFact, Fact>> parseFactDictionary = new Dictionary<string, Func<Scroll.ScrollFact, Fact>>() { public static Dictionary<string, Func<Scroll.ScrollFact, Fact>> parseFactDictionary = new() { - { JSONManager.MMTURIs.Point, PointFact.parseFact}, - { JSONManager.MMTURIs.Metric, LineFact.parseFact}, - { JSONManager.MMTURIs.Angle, AngleFact.parseFact}, - { JSONManager.MMTURIs.LineType, RayFact.parseFact}, - { JSONManager.MMTURIs.OnLine, OnLineFact.parseFact}, + {JSONManager.MMTURIs.Point, PointFact.parseFact}, + {JSONManager.MMTURIs.Metric, LineFact.parseFact}, + {JSONManager.MMTURIs.Angle, AngleFact.parseFact}, + {JSONManager.MMTURIs.LineType, RayFact.parseFact}, + {JSONManager.MMTURIs.LineOf, RayFact.parseFact}, + + {JSONManager.MMTURIs.OnLine, OnLineFact.parseFact}, //90Degree-Angle - { JSONManager.MMTURIs.Eq, AngleFact.parseFact} + {JSONManager.MMTURIs.Eq, AngleFact.parseFact}, + //Parallel-LineFact + {JSONManager.MMTURIs.ParallelLine, ParallelLineFact.parseFact}, + //CircleFact + {JSONManager.MMTURIs.CircleType3d, CircleFact.parseFact}, + {JSONManager.MMTURIs.OnCircle, OnCircleFact.parseFact }, + {JSONManager.MMTURIs.AnglePlaneLine, AngleCircleLineFact.parseFact }, + {JSONManager.MMTURIs.RadiusCircleMetric, RadiusFact.parseFact }, + {JSONManager.MMTURIs.AreaCircle, AreaCircleFact.parseFact }, + {JSONManager.MMTURIs.OrthoCircleLine, OrthogonalCircleLineFact.parseFact }, + {JSONManager.MMTURIs.VolumeCone ,ConeVolumeFact.parseFact }, + {JSONManager.MMTURIs.TruncatedVolumeCone ,TruncatedConeVolumeFact.parseFact }, + {JSONManager.MMTURIs.RightAngle, RightAngleFact.parseFact }, + {JSONManager.MMTURIs.CylinderVolume, CylinderVolumeFact.parseFact }, + {JSONManager.MMTURIs.TestType, TestFact.parseFact }, + {JSONManager.MMTURIs.EqualityCircles, EqualCirclesFact.parseFact }, + {JSONManager.MMTURIs.UnEqualityCircles, UnEqualCirclesFact.parseFact } + + + + }; + /// Current solution to retrieve the fact ID from + + public static string MMTermToString (MMTTerm term){ + if(term == null) + return null; + // case for OMA + if( term is OMA){ + OMA term_casted = (OMA) term; + string applicant = ((OMS)term_casted.applicant).uri; + string argument = ""; + for (int i = 0; i < term_casted.arguments.Count; i++) { + argument = argument+ " " + MMTermToString(term_casted.arguments[i]); + } + return " " + applicant + " "+ argument; + + } + // case for OMS + if (term is OMS) + { + OMS term_casted = (OMS)term; + return term_casted.uri; + + } + + // case for OMF + if (term is OMF) { + OMF term_casted = (OMF)term; + return term_casted.f.ToString(); + + } + + + + return "couldn't understand the type"; + + + } + + public static Dictionary<string, string> parseTermsToId = new Dictionary<string, string>(); + } @@ -89,6 +153,23 @@ public static bool sendAdd(string path, string body, out string uri) [JsonSubtypes.KnownSubType(typeof(RayFact), "RayFact")] [JsonSubtypes.KnownSubType(typeof(OnLineFact), "OnLineFact")] [JsonSubtypes.KnownSubType(typeof(AngleFact), "AngleFact")] +[JsonSubtypes.KnownSubType(typeof(CircleFact), "CircleFact")] +[JsonSubtypes.KnownSubType(typeof(ParallelLineFact), "ParallelLine")] +[JsonSubtypes.KnownSubType(typeof(OnCircleFact), "OnCircleFact")] +[JsonSubtypes.KnownSubType(typeof(AngleCircleLineFact), "AnglePlaneLineFact")] +[JsonSubtypes.KnownSubType(typeof(AreaCircleFact), "AreaCircle")] +[JsonSubtypes.KnownSubType(typeof(RadiusFact), "RadiusCircleMetric")] +[JsonSubtypes.KnownSubType(typeof(OrthogonalCircleLineFact), "OrthogonalCircleLineFact")] +[JsonSubtypes.KnownSubType(typeof(ConeVolumeFact), "ConeVolumeFact")] +[JsonSubtypes.KnownSubType(typeof(TruncatedConeVolumeFact), "TruncatedConeVolumeFact")] +[JsonSubtypes.KnownSubType(typeof(RightAngleFact), "RightAngleFact")] +[JsonSubtypes.KnownSubType(typeof(CylinderVolumeFact), "CylinderVolumeFact")] +[JsonSubtypes.KnownSubType(typeof(TestFact), "TestFact")] +[JsonSubtypes.KnownSubType(typeof(EqualCirclesFact), "EqualCirclesFact")] +[JsonSubtypes.KnownSubType(typeof(UnEqualCirclesFact), "UnEqualCirclesFact")] + + + public abstract class Fact { /// <summary> @@ -545,8 +626,13 @@ private void init(Vector3 P, Vector3 N) MMTTerm tp = new OMS(JSONManager.MMTURIs.Point); MMTTerm df = new OMA(new OMS(JSONManager.MMTURIs.Tuple), arguments); + MMTSymbolDeclaration mmtDecl = new MMTSymbolDeclaration(this.Label, tp, df); AddFactResponse.sendAdd(mmtDecl, out this._URI); + string parse_id = ParsingDictionary.MMTermToString(df); + ParsingDictionary.parseTermsToId[parse_id] = this._URI; + + } /// <summary> @@ -570,16 +656,25 @@ public PointFact(float a, float b, float c, string uri, FactOrganizer organizer) public new static PointFact parseFact(Scroll.ScrollFact fact) { String uri = fact.@ref.uri; OMA df = (OMA)((Scroll.ScrollSymbolFact)fact).df; - if (df != null) - { - float a = (float)((OMF)df.arguments[0]).f; - float b = (float)((OMF)df.arguments[1]).f; - float c = (float)((OMF)df.arguments[2]).f; - return new PointFact(a, b, c, uri, StageStatic.stage.factState); - } - else { + + + + if (df == null) return null; - } + + + float a = (float)((OMF)df.arguments[0]).f; + float b = (float)((OMF)df.arguments[1]).f; + float c = (float)((OMF)df.arguments[2]).f; + + string parse_id = ParsingDictionary.MMTermToString(df); + + if(!ParsingDictionary.parseTermsToId.ContainsKey(parse_id)) + ParsingDictionary.parseTermsToId[parse_id] = uri; + + + return new PointFact(a, b, c, uri, StageStatic.stage.factState); + } /// \copydoc Fact.hasDependentFacts @@ -612,6 +707,7 @@ protected override bool EquivalentWrapped(PointFact f1, PointFact f2) return Math3d.IsApproximatelyEqual(f1.Point, f2.Point); } + } /// <summary> @@ -795,30 +891,40 @@ private void init(string pid1, string pid2) MMTSymbolDeclaration mmtDecl = new MMTSymbolDeclaration(this.Label, tp, df); AddFactResponse.sendAdd(mmtDecl, out this._URI); + string parse_id = ParsingDictionary.MMTermToString(df); + ParsingDictionary.parseTermsToId[parse_id] = this._URI; + + } /// \copydoc Fact.parseFact(Scroll.ScrollFact) public new static RayFact parseFact(Scroll.ScrollFact fact) { string uri = fact.@ref.uri; - if ((OMA)((Scroll.ScrollSymbolFact)fact).df != null) - { - string pointAUri = ((OMS)((OMA)((Scroll.ScrollSymbolFact)fact).df).arguments[0]).uri; - string pointBUri = ((OMS)((OMA)((Scroll.ScrollSymbolFact)fact).df).arguments[1]).uri; - if (StageStatic.stage.factState.ContainsKey(pointAUri) + + + if ((OMA)((Scroll.ScrollSymbolFact)fact).df == null) + return null; + + string pointAUri = ((OMS)((OMA)((Scroll.ScrollSymbolFact)fact).df).arguments[0]).uri; + string pointBUri = ((OMS)((OMA)((Scroll.ScrollSymbolFact)fact).df).arguments[1]).uri; + + if (StageStatic.stage.factState.ContainsKey(pointAUri) && StageStatic.stage.factState.ContainsKey(pointBUri)) - return new RayFact(pointAUri, pointBUri, uri, StageStatic.stage.factState); + return new RayFact(pointAUri, pointBUri, uri, StageStatic.stage.factState); - //If dependent facts do not exist return null - } + //If dependent facts do not exist return null + return null; } /// \copydoc Fact.generateLabel protected override string generateLabel() { - return "]" + _Facts[Pid1].Label + _Facts[Pid2].Label + "["; + // TODO this string is too large to properly depict on scrolls. + // return "]" + _Facts[Pid1].Label + _Facts[Pid2].Label + "["; + return _Facts[Pid1].Label + _Facts[Pid2].Label ; } /// \copydoc Fact.instantiateDisplay(GameObject, Transform) @@ -941,9 +1047,23 @@ public OnLineFact(string pid, string rid, string uri, FactOrganizer organizer) : public new static OnLineFact parseFact(Scroll.ScrollFact fact) { string uri = fact.@ref.uri; - string lineUri = ((OMS)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[0]).uri; - string pointUri = ((OMS)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[1]).uri; + string lineUri = ""; + string pointUri = ""; + + if (((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[0] is OMS) + { + // standard case + lineUri = ((OMS)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[0]).uri; + pointUri = ((OMS)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[1]).uri; + } + else { + // case when line Uri has a projl on the line Argument + lineUri = ((OMS)((OMA)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[0]).arguments[0]).uri; + pointUri = ((OMS)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[1]).uri; + + + } if (StageStatic.stage.factState.ContainsKey(pointUri) && StageStatic.stage.factState.ContainsKey(lineUri)) return new OnLineFact(pointUri, lineUri, uri, StageStatic.stage.factState); @@ -1075,10 +1195,8 @@ private void init(string pid1, string pid2, string pid3) string p1URI = pf1.Id; string p2URI = pf2.Id; string p3URI = pf3.Id; - if (is_right_angle) - mmtDecl = generate90DegreeAngleDeclaration(v, p1URI, p2URI, p3URI); - else - mmtDecl = generateNot90DegreeAngleDeclaration(v, p1URI, p2URI, p3URI); + + mmtDecl = generateNot90DegreeAngleDeclaration(v, p1URI, p2URI, p3URI); AddFactResponse.sendAdd(mmtDecl, out this._URI); } @@ -1097,12 +1215,23 @@ public AngleFact(string Pid1, string Pid2, string Pid3, string backendURI, FactO this.Pid2 = Pid2; this.Pid3 = Pid3; - GetAngle(); + float v = GetAngle(); + this._URI = backendURI; + _ = this.Label; + } + + public AngleFact(string Pid1, string Pid2, string Pid3,float angle, string backendURI, FactOrganizer organizer) : base(organizer) + { + this.Pid1 = Pid1; + this.Pid2 = Pid2; + this.Pid3 = Pid3; this._URI = backendURI; _ = this.Label; } + + /// \copydoc Fact.parseFact(Scroll.ScrollFact) public new static AngleFact parseFact(Scroll.ScrollFact fact) { @@ -1112,15 +1241,31 @@ public AngleFact(string Pid1, string Pid2, string Pid3, string backendURI, FactO pointBUri, pointCUri; + float angle = 0.0f; //If angle is not a 90Degree-Angle if (fact.GetType().Equals(typeof(Scroll.ScrollValueFact))) { + OMA df = (OMA)((Scroll.ScrollValueFact)fact).lhs; + + if (df == null) + return null; + + + + if (((Scroll.ScrollValueFact)fact).value != null) + angle = ((OMF)(((Scroll.ScrollValueFact)fact).value)).f; + + pointAUri = ((OMS)((OMA)((Scroll.ScrollValueFact)fact).lhs).arguments[0]).uri; pointBUri = ((OMS)((OMA)((Scroll.ScrollValueFact)fact).lhs).arguments[1]).uri; pointCUri = ((OMS)((OMA)((Scroll.ScrollValueFact)fact).lhs).arguments[2]).uri; + } + // this should never happen anymore //If angle is a 90Degree-Angle else { + Debug.Log("Angle 90 degrees parsed. This shouldn't happen anymore"); + pointAUri = ((OMS)((OMA)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[1]).arguments[0]).uri; pointBUri = ((OMS)((OMA)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[1]).arguments[1]).uri; pointCUri = ((OMS)((OMA)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[1]).arguments[2]).uri; @@ -1129,11 +1274,14 @@ public AngleFact(string Pid1, string Pid2, string Pid3, string backendURI, FactO if (StageStatic.stage.factState.ContainsKey(pointAUri) && StageStatic.stage.factState.ContainsKey(pointBUri) && StageStatic.stage.factState.ContainsKey(pointCUri)) - - return new AngleFact(pointAUri, pointBUri, pointCUri, uri, StageStatic.stage.factState); - - else //If dependent facts do not exist return null + { +// return new AngleFact(pointAUri, pointBUri, pointCUri, uri, StageStatic.stage.factState); + return new AngleFact(pointAUri, pointBUri, pointCUri,angle, uri, StageStatic.stage.factState); + } + else + { //If dependent facts do not exist return null return null; + } } /// \copydoc Fact.generateLabel @@ -1258,7 +1406,2778 @@ protected override bool EquivalentWrapped(AngleFact f1, AngleFact f2) PointFact p2f2 = (PointFact)_Facts[f2.Pid2]; PointFact p3f2 = (PointFact)_Facts[f2.Pid3]; - return (p1f1.Equivalent(p1f2) && p2f1.Equivalent(p2f2) && p3f1.Equivalent(p3f2)) - ;//|| (p1f1.Equivalent(p3f2) && p2f1.Equivalent(p2f2) && p1f1.Equivalent(p3f2)); + return (p1f1.Equivalent(p1f2) && p2f1.Equivalent(p2f2) && p3f1.Equivalent(p3f2)); + //|| (p1f1.Equivalent(p3f2) && p2f1.Equivalent(p2f2) && p1f1.Equivalent(p3f2)); + } +} + + + +/// <summary> +/// Two parallel Lines comprised of two <see cref="LineFact">LineFacts</see> +/// </summary> +public class ParallelLineFact : FactWrappedCRTP<ParallelLineFact> +{ + /// @{ <summary> + /// One <see cref="Fact.Id">Id</see> of thwo <see cref="LineFact">PointFacts</see> defining Angle [<see cref="Lid1"/>, <see cref="Lid2"/>]. + /// </summary> + public string Lid1, Lid2; + /// @} + + + + + /// <summary> \copydoc Fact.Fact </summary> + public ParallelLineFact() : base() + { + this.Lid1 = null; + this.Lid2 = null; + } + + /// <summary> + /// Copies <paramref name="fact"/> by initiating new MMT %Fact. + /// </summary> + /// <param name="fact">Fact to be copied</param> + /// <param name="old_to_new"><c>Dictionary</c> mapping <paramref name="fact"/>.<see cref="getDependentFactIds"/> in <paramref name="fact"/>.<see cref="Fact._Facts"/> to corresponding <see cref="Fact.Id"/> in <paramref name="organizer"/> </param> + /// <param name="organizer">sets <see cref="_Facts"/></param> + public ParallelLineFact(ParallelLineFact fact, Dictionary<string, string> old_to_new, FactOrganizer organizer) : base(fact, organizer) + { + init(old_to_new[fact.Lid1], old_to_new[fact.Lid2]); + } + + /// <summary> + /// Standard Constructor + /// </summary> + /// <param name="lid1">sets <see cref="Lid1"/></param> + /// <param name="lid2">sets <see cref="Lid2"/></param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public ParallelLineFact(string lid1, string lid2, FactOrganizer organizer) : base(organizer) + { + init(lid1, lid2); + } + + /// <summary> + /// Initiates <see cref="Lid1"/>, <see cref="Lid2"/>, <see cref="Fact._URI"/> and creates MMT %Fact Server-Side + /// </summary> + /// <param name="lid1">sets <see cref="Lid1"/></param> + /// <param name="lid2">sets <see cref="Lid2"/></param> + private void init(string lid1, string lid2) + { + + this.Lid1 = lid1; + this.Lid2 = lid2; + + RayFact lf1 = _Facts[lid1] as RayFact; + RayFact lf2 = _Facts[lid2] as RayFact; + + MMTDeclaration mmtDecl; + string l1URI = lf1.Id; + string l2URI = lf2.Id; + mmtDecl = generateParallelLineDeclaration( l1URI, l2URI); + + AddFactResponse.sendAdd(mmtDecl, out this._URI); + } + + /// <summary> + /// Bypasses initialization of new MMT %Fact by using existend URI, _which is not checked for existence_. + /// </summary> + /// <param name="Lid1">sets <see cref="Lid1"/></param> + /// <param name="Lid2">sets <see cref="Lid2"/></param> + /// <param name="backendURI">MMT URI</param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public ParallelLineFact(string Lid1, string Lid2, string backendURI, FactOrganizer organizer) : base(organizer) + { + this.Lid1 = Lid1; + this.Lid2 = Lid2; + + this._URI = backendURI; + _ = this.Label; + } + + /// \copydoc Fact.parseFact(Scroll.ScrollFact) + public new static ParallelLineFact parseFact(Scroll.ScrollFact fact) + { + OMA tp = (OMA)((Scroll.ScrollSymbolFact)fact).tp; + if (tp == null) + return null; + + string lineAUri = ""; + string lineBUri = ""; + + string uri = fact.@ref.uri; + OMA proof_OMA = (OMA)((Scroll.ScrollSymbolFact)fact).tp; // proof DED + + + OMA parallel_lines_OMA = (OMA) proof_OMA.arguments[0]; // parallel + + if (parallel_lines_OMA.arguments[0] is OMS) { + // Normaler Fall + lineAUri = ((OMS)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[0]).uri; + lineBUri = ((OMS)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[1]).uri; + + } + // Second case might be redundant by now + else { + OMA Projl_line_A_OMA = (OMA)parallel_lines_OMA.arguments[0]; // ProjectL + lineAUri = ((OMS)Projl_line_A_OMA.arguments[0]).uri; + OMA Projl_line_B_OMA = (OMA)parallel_lines_OMA.arguments[1]; // ProjectL + lineBUri = ((OMS)Projl_line_B_OMA.arguments[0]).uri; + + + } + + + if (StageStatic.stage.factState.ContainsKey(lineAUri) + && StageStatic.stage.factState.ContainsKey(lineBUri)) + + return new ParallelLineFact(lineAUri,lineBUri, uri, StageStatic.stage.factState); + + else //If dependent facts do not exist return null + return null; + } + + /// \copydoc Fact.generateLabel + protected override string generateLabel() + { + return "||" + _Facts[Lid1].Label + _Facts[Lid2].Label; + } + + + + /// <summary> + /// Constructs struct for right-angled MMT %Fact <see cref="AddFactResponse"/> + /// </summary> + /// <param name="l1URI"><see cref="Lid1"/></param> + /// <param name="l2URI"><see cref="Lid2"/></param> + /// <returns>struct for <see cref="AddFactResponse"/></returns> + private MMTDeclaration generateParallelLineDeclaration(string l1URI, string l2URI) + { + + List<MMTTerm> innerArguments = new List<MMTTerm> + { + new OMS(l1URI), + new OMS(l2URI) + }; + + List<MMTTerm> outerArguments = new List<MMTTerm> + { + new OMA(new OMS(MMTURIs.ParallelLine), innerArguments) + }; + + //OMS constructor generates full URI + MMTTerm tp = new OMA(new OMS(MMTURIs.Ded), outerArguments); + MMTTerm df = null; + + MMTSymbolDeclaration mmtDecl = new MMTSymbolDeclaration(this.Label, tp, df); + AddFactResponse.sendAdd(mmtDecl, out this._URI); + + + return mmtDecl; + } + + + /// \copydoc Fact.hasDependentFacts + public override Boolean hasDependentFacts() + { + return true; + } + + /// \copydoc Fact.getDependentFactIds + public override string[] getDependentFactIds() + { + return new string[] { Lid1, Lid2 }; + } + + /// \copydoc Fact.instantiateDisplay(GameObject, Transform) + public override GameObject instantiateDisplay(GameObject prefab, Transform transform) + { + var obj = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity, transform); + obj.transform.GetChild(0).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Lid1].Label; + obj.transform.GetChild(1).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Lid2].Label; + obj.GetComponent<FactWrapper>().fact = this; + return obj; + } + + /// \copydoc Fact.GetHashCode + public override int GetHashCode() + { + return this.Lid1.GetHashCode() ^ this.Lid2.GetHashCode() ; + } + + /// \copydoc Fact.Equivalent(Fact, Fact) + protected override bool EquivalentWrapped(ParallelLineFact f1, ParallelLineFact f2) + { + if ((f1.Lid1 == f2.Lid1 && f1.Lid2 == f2.Lid2)) + return true; + + RayFact r1f1 = (RayFact)_Facts[f1.Lid1]; + RayFact r2f1 = (RayFact)_Facts[f1.Lid2]; + RayFact r1f2 = (RayFact)_Facts[f2.Lid1]; + RayFact r2f2 = (RayFact)_Facts[f2.Lid2]; + + return (r1f1.Equivalent(r1f2) && r2f1.Equivalent(r2f2)) ; + } +} + + + + + + + +/// <summary> +/// A Circle that is made out of a middle point, a plane and a radius +/// </summary> +public class CircleFact : FactWrappedCRTP<CircleFact> +{ + + /// <summary> defining the middle point of the circle </summary> + public string Pid1; + /// <summary> defining the base point of the circle plane </summary> + public string Pid2; + /// <summary> radius of the circle </summary> + public float radius; + /// <summary> normal vector of the plane </summary> + public Vector3 normal; + + /// <summary> \copydoc Fact.Fact </summary> + public CircleFact() : base() + { + this.normal = Vector3.zero; + this.Pid1 = null; + this.Pid2 = null; + this.radius = 0; + } + + /// <summary> + /// Copies <paramref name="fact"/> by initiating new MMT %Fact. + /// </summary> + /// <param name="fact">Fact to be copied</param> + /// <param name="old_to_new"><c>Dictionary</c> mapping <paramref name="fact"/>.<see cref="getDependentFactIds"/> in <paramref name="fact"/>.<see cref="Fact._Facts"/> to corresponding <see cref="Fact.Id"/> in <paramref name="organizer"/> </param> + /// <param name="organizer">sets <see cref="_Facts"/></param> + public CircleFact(CircleFact fact, Dictionary<string, string> old_to_new, FactOrganizer organizer) : base(fact, organizer) + { + init(old_to_new[fact.Pid1], old_to_new[fact.Pid2], fact.radius, fact.normal); + } + + /// <summary> + /// Standard Constructor + /// </summary> + /// <param name="pid1">sets <see cref="Pid1"/></param> + /// <param name="pid2">sets <see cref="Pid2"/></param> + /// <param name="radius">sets <see cref="radius"/></param> + /// <param name="normal">sets <see cref="normal"/></param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public CircleFact(string pid1, string pid2, float radius, Vector3 normal, FactOrganizer organizer) : base(organizer) + { + init(pid1, pid2, radius, normal); + } + + /// <summary> + /// Initiates <see cref="Pid1"/>, <see cref="Pid2"/>, <see cref="radius"/>,<see cref="dir1"/>,<see cref="dir2"/>, <see cref="Fact._URI"/> and creates MMT %Fact Server-Side + /// </summary> + /// <param name="pid1">sets <see cref="Pid1"/></param> + /// <param name="pid2">sets <see cref="Pid2"/></param> + /// <param name="radius">sets <see cref="radius"/></param> + /// <param name="normal">sets <see cref="normal"/></param> + private void init(string pid1, string pid2, float radius, Vector3 normal) + { + this.Pid1 = pid1; + this.Pid2 = pid2; + + PointFact pf1 = _Facts[pid1] as PointFact; + PointFact pf2 = _Facts[pid2] as PointFact; + + + this.radius = radius; + this.normal = normal; + + MMTDeclaration mmtDecl; + string p1URI = pf1.Id; + string p2URI = pf2.Id; + + mmtDecl = generateCircleFactDeclaration(p1URI, p2URI, radius, normal); + + AddFactResponse.sendAdd(mmtDecl, out this._URI); + } + + /// <summary> + /// Bypasses initialization of new MMT %Fact by using existend URI, _which is not checked for existence_. + /// </summary> + /// <param name="Pid1">sets <see cref="Pid1"/></param> + /// <param name="Pid2">sets <see cref="Pid2"/></param> + /// <param name="radius">sets <see cref="radius"/></param> + /// <param name="normal">sets <see cref="normal"/></param> + /// <param name="backendURI">MMT URI</param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public CircleFact(string Pid1, string Pid2, float radius, Vector3 normal, string backendURI, FactOrganizer organizer) : base(organizer) + { + this.Pid1 = Pid1; + this.Pid2 = Pid2; + + this.radius = radius; + this.normal = normal; + + this._URI = backendURI; + _ = this.Label; + } + + /// <summary> + /// parses the Circlefact response of the MMT-Server + /// </summary> + /// \copydoc Fact.parseFact(Scroll.ScrollFact) + public new static CircleFact parseFact(Scroll.ScrollFact fact) + { + string uri = fact.@ref.uri; + string M_uri = ""; + string A_uri = ""; + float radius = 0.0f; + Vector3 normal = Vector3.zero; + OMA df = (OMA)((Scroll.ScrollSymbolFact)fact).df; + + if (df == null) + return null; + + Scroll.ScrollSymbolFact casted_fact = (Scroll.ScrollSymbolFact)fact; + + + + // get the mid point uri + string parse_id_M = ParsingDictionary.MMTermToString(((OMA)casted_fact.df).arguments[1]); + + M_uri = ParsingDictionary.parseTermsToId[parse_id_M]; + + + // get the radius + radius = ((OMF)((OMA)casted_fact.df).arguments[2]).f; + + OMA planeOMA = (OMA)((OMA)casted_fact.df).arguments[0]; + string planeApplicant = ((OMS)planeOMA.applicant).uri; + + + // Getting the plane + // IN case of a normale plane + if (planeApplicant.Equals(MMTURIs.pointNormalPlane)) + { + + + OMA pointAOMA = (OMA)planeOMA.arguments[0]; + + string parse_id_A = ParsingDictionary.MMTermToString(planeOMA.arguments[0]); + A_uri = ParsingDictionary.parseTermsToId[parse_id_A]; + + OMA n = (OMA)planeOMA.arguments[1]; + normal = new Vector3(((OMF)n.arguments[0]).f, ((OMF)n.arguments[1]).f, ((OMF)n.arguments[2]).f); + + + + } + // In case of parametrized plane + else if(planeApplicant.Equals(MMTURIs.ParametrizedPlane)) + { + + + OMA pointAOMA = (OMA)planeOMA.arguments[0]; + string parse_id_A = ParsingDictionary.MMTermToString(planeOMA.arguments[0]); + A_uri = ParsingDictionary.parseTermsToId[parse_id_A]; + + + OMA vOMA = (OMA)planeOMA.arguments[1]; + OMA wOMA = (OMA)planeOMA.arguments[2]; + + Vector3 v = new Vector3(((OMF)vOMA.arguments[0]).f, ((OMF)vOMA.arguments[1]).f, ((OMF)vOMA.arguments[2]).f); + Vector3 w = new Vector3(((OMF)wOMA.arguments[0]).f, ((OMF)wOMA.arguments[1]).f, ((OMF)wOMA.arguments[2]).f); + + normal = Vector3.Cross(v, w).normalized; + + + + } + // incase of smth else. Shouldn't hapepen unless there is an error + else { + Debug.Log("planeApplicant" + planeApplicant); + Debug.Log("?? " + MMTURIs.pointNormalPlane); + + return null; + } + + + + if (StageStatic.stage.factState.ContainsKey(M_uri) + && StageStatic.stage.factState.ContainsKey(A_uri)) + return new CircleFact(M_uri,A_uri,radius,normal, uri, StageStatic.stage.factState); + + else //If dependent facts do not exist return null + return null; + } + + /// \copydoc Fact.generateLabel + protected override string generateLabel() + { + + return "○"+_Facts[Pid1].Label; + } + + + + /// <summary> + /// Constructs struct for right-angled MMT %Fact <see cref="AddFactResponse"/> + /// </summary> + /// <param name="p1URI"> <see cref="Pid1"/></param> + /// <param name="p2URI"> <see cref="Pid2"/></param> + /// <param name="radius"> <see cref="radius"/></param> + /// <returns>struct for <see cref="AddFactResponse"/></returns> + private MMTDeclaration generateCircleFactDeclaration( string p1URI, string p2URI, float radius, Vector3 normal) + { + PointFact p1 = _Facts[p1URI] as PointFact; + PointFact p2 = _Facts[p2URI] as PointFact; + + + List<MMTTerm> normalArgs = new List<MMTTerm> + { + new OMF(normal.x), + new OMF(normal.y), + new OMF(normal.z) + }; + OMA NormalVector = new OMA(new OMS(MMTURIs.Tuple), normalArgs); + + + + List<MMTTerm> planeArgs = new List<MMTTerm> + { + new OMS(p2URI), + NormalVector //n + }; + + OMA CirclePlane = new OMA(new OMS(MMTURIs.pointNormalPlane), planeArgs); + OMS middlePoint = new OMS(p1URI); + OMF Radius = new OMF(radius); + + List<MMTTerm> outerArguments = new List<MMTTerm> + { + CirclePlane, + middlePoint, + Radius + }; + + //OMS constructor generates full URI + // Do i need this here? doubt + MMTTerm tp = new OMS(MMTURIs.CircleType3d); + MMTTerm df = new OMA(new OMS(MMTURIs.MkCircle3d), outerArguments); + + MMTSymbolDeclaration mmtDecl = new MMTSymbolDeclaration(this.Label, tp, df); + AddFactResponse.sendAdd(mmtDecl, out this._URI); + + + return mmtDecl; + } + + + /// \copydoc Fact.hasDependentFacts + public override Boolean hasDependentFacts() + { + return true; + } + + public Vector3 getNormal() + { + return normal; + } + + + /// \copydoc Fact.getDependentFactIds + public override string[] getDependentFactIds() + { + return new string[] { Pid1,Pid2 }; + } + + /// \copydoc Fact.instantiateDisplay(GameObject, Transform) + public override GameObject instantiateDisplay(GameObject prefab, Transform transform) + { + var obj = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity, transform); + obj.transform.GetChild(0).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Pid1].Label; + + // obj.transform.GetChild(1).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Lid2].Label; + + obj.GetComponent<FactWrapper>().fact = this; + return obj; + } + + /// \copydoc Fact.GetHashCode + public override int GetHashCode() + { + return this.Pid1.GetHashCode() ^ this.Pid2.GetHashCode() ; + } + + /// \copydoc Fact.Equivalent(Fact, Fact) + protected override bool EquivalentWrapped(CircleFact f1, CircleFact f2) + { + if ( f1.Pid1 == f2.Pid1 && f1.normal == f2.normal && f1.radius == f2.radius) + return true; + + PointFact p1f1 = (PointFact)_Facts[f1.Pid1]; + PointFact p1f2 = (PointFact)_Facts[f2.Pid1]; + + return (p1f1.Equivalent(p1f2) && f1.normal == f2.normal && f1.radius == f2.radius); + } +} + + +/// <summary> +/// A <see cref="PointFact"/> on a <see cref="CircleFact"/> +/// </summary> +public class OnCircleFact : FactWrappedCRTP<OnCircleFact> +{ + /// <summary> the point on the circle </summary> + public string Pid; + /// <summary> the circle, which the point is on </summary> + public string Cid; + + /// <summary> \copydoc Fact.Fact </summary> + public OnCircleFact() : base() + { + this.Pid = null; + this.Cid = null; + } + + /// <summary> + /// Copies <paramref name="fact"/> by initiating new MMT %Fact. + /// </summary> + /// <param name="fact">Fact to be copied</param> + /// <param name="old_to_new"><c>Dictionary</c> mapping <paramref name="fact"/>.<see cref="getDependentFactIds"/> in <paramref name="fact"/>.<see cref="Fact._Facts"/> to corresponding <see cref="Fact.Id"/> in <paramref name="organizer"/> </param> + /// <param name="organizer">sets <see cref="_Facts"/></param> + public OnCircleFact(OnCircleFact fact, Dictionary<string, string> old_to_new, FactOrganizer organizer) : base(fact, organizer) + { + init(old_to_new[fact.Pid], old_to_new[fact.Cid]); + } + + /// <summary> + /// Standard Constructor + /// </summary> + /// <param name="pid">sets <see cref="Pid"/></param> + /// <param name="cid">sets <see cref="Cid"/></param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public OnCircleFact(string pid, string cid, FactOrganizer organizer) : base(organizer) + { + init(pid, cid); + } + + /// <summary> + /// Initiates <see cref="Pid"/>, <see cref="Rid"/>, <see cref="Fact._URI"/> and creates MMT %Fact Server-Side + /// </summary> + /// <param name="pid">sets <see cref="Pid"/></param> + /// <param name="cid">sets <see cref="Cid"/></param> + private void init(string pid, string cid) + { + this.Pid = pid; + this.Cid = cid; + + PointFact pf = _Facts[pid] as PointFact; + CircleFact cf = _Facts[cid] as CircleFact; + string pURI = pf.Id; + string cURI = cf.Id; + + List<MMTTerm> innerArguments = new List<MMTTerm> + { + new OMS(cURI), + new OMS(pURI) + }; + + List<MMTTerm> outerArguments = new List<MMTTerm> + { + new OMA(new OMS(MMTURIs.OnCircle), innerArguments) + }; + + //OMS constructor generates full URI + MMTTerm tp = new OMA(new OMS(MMTURIs.Ded), outerArguments); + MMTTerm df = null; + + MMTSymbolDeclaration mmtDecl = new MMTSymbolDeclaration(this.Label, tp, df); + AddFactResponse.sendAdd(mmtDecl, out this._URI); + } + + /// <summary> + /// Bypasses initialization of new MMT %Fact by using existend URI, _which is not checked for existence_. + /// </summary> + /// <param name="pid">sets <see cref="Pid"/></param> + /// <param name="cid">sets <see cref="Cid"/></param> + /// <param name="uri">MMT URI</param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public OnCircleFact(string pid, string cid, string uri, FactOrganizer organizer) : base(organizer) + { + this.Pid = pid; + this.Cid = cid; + this._URI = uri; + _ = this.Label; + } + + /// \copydoc Fact.parseFact(Scroll.ScrollFact) + public new static OnCircleFact parseFact(Scroll.ScrollFact fact) + { + string uri = fact.@ref.uri; + + OMA tp = (OMA)((Scroll.ScrollSymbolFact)fact).tp; + if (tp == null) + return null; + + string circleUri = ((OMS)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[0]).uri; + string pointUri = ((OMS)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[1]).uri; + + if (StageStatic.stage.factState.ContainsKey(pointUri) + && StageStatic.stage.factState.ContainsKey(circleUri)) + return new OnCircleFact(pointUri, circleUri, uri, StageStatic.stage.factState); + + //If dependent facts do not exist return null + else + return null; + } + + /// \copydoc Fact.generateLabel + protected override string generateLabel() + { + return _Facts[Pid].Label + "∈" + _Facts[Cid].Label; + } + + /// \copydoc Fact.hasDependentFacts + public override Boolean hasDependentFacts() + { + return true; + } + + /// \copydoc Fact.getDependentFactIds + public override string[] getDependentFactIds() + { + return new string[] { Pid, Cid }; + } + + /// \copydoc Fact.instantiateDisplay(GameObject, Transform) + public override GameObject instantiateDisplay(GameObject prefab, Transform transform) + { + var obj = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity, transform); + obj.transform.GetChild(0).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Pid].Label + "∈" + _Facts[this.Cid].Label; + obj.GetComponent<FactWrapper>().fact = this; + + return obj; + } + + /// \copydoc Fact.GetHashCode + public override int GetHashCode() + { + return this.Pid.GetHashCode() ^ this.Cid.GetHashCode(); + } + + /// \copydoc Fact.Equivalent(Fact, Fact) + protected override bool EquivalentWrapped(OnCircleFact c1, OnCircleFact c2) + { + if (c1.Pid == c2.Pid && c1.Cid == c2.Pid) + return true; + + PointFact pc1 = (PointFact)_Facts[c1.Pid]; + CircleFact cc1 = (CircleFact)_Facts[c1.Cid]; + + PointFact pc2 = (PointFact)_Facts[c2.Pid]; + CircleFact cc2 = (CircleFact)_Facts[c2.Cid]; + + return pc1.Equivalent(pc2) && cc1.Equivalent(cc2); + } +} + + + +/// <summary> +/// Angle comprised of a line and a circle +/// </summary> +public class AngleCircleLineFact : FactWrappedCRTP<AngleCircleLineFact> +{ + /// @{ <summary> + /// One <see cref="Fact.Id">Id</see> of a <see cref="RayFact">RayFact</see> and a <see cref="CircleFact">CircleFact</see> defining Angle [<see cref="Cid1"/>, <see cref="Rid2"/>]. + /// </summary> + public string Cid1, Rid2; + /// @} + public float angle; + + /// <summary> \copydoc Fact.Fact </summary> + public AngleCircleLineFact() : base() + { + this.Cid1 = null; + this.Rid2 = null; + this.angle = 0.0f; + } + + /// <summary> + /// Copies <paramref name="fact"/> by initiating new MMT %Fact. + /// </summary> + /// <param name="fact">Fact to be copied</param> + /// <param name="old_to_new"><c>Dictionary</c> mapping <paramref name="fact"/>.<see cref="getDependentFactIds"/> in <paramref name="fact"/>.<see cref="Fact._Facts"/> to corresponding <see cref="Fact.Id"/> in <paramref name="organizer"/> </param> + /// <param name="organizer">sets <see cref="_Facts"/></param> + public AngleCircleLineFact(AngleCircleLineFact fact, Dictionary<string, string> old_to_new, FactOrganizer organizer) : base(fact, organizer) + { + init(old_to_new[fact.Cid1], old_to_new[fact.Rid2], fact.angle); + } + + /// <summary> + /// Standard Constructor + /// </summary> + /// <param name="cid1">sets <see cref="Cid1"/></param> + /// <param name="rid2">sets <see cref="Rid2"/></param> + /// <param name="angle"> sets the angle </param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public AngleCircleLineFact(string cid1, string rid2, float angle, FactOrganizer organizer) : base(organizer) + { + init(cid1, rid2, angle); + } + + /// <summary> + /// Initiates <see cref="Cid1"/>, <see cref="Rid2"/>, <see cref="angle"/> <see cref="Fact._URI"/> and creates MMT %Fact Server-Side + /// </summary> + /// <param name="cid1">sets <see cref="Cid1"/></param> + /// <param name="rid2">sets <see cref="Rid2"/></param> + /// <param name="angle"> sets the angle </param> + private void init(string cid1, string rid2, float angle) + { + this.Cid1 = cid1; + this.Rid2 = rid2; + this.angle = angle; + + CircleFact cf1 = _Facts[cid1] as CircleFact; + RayFact rf2 = _Facts[rid2] as RayFact; + MMTDeclaration mmtDecl; + string c1URI = cf1.Id; + string r2URI = rf2.Id; + + mmtDecl = generateMMTDeclaration(angle, c1URI, r2URI); + + AddFactResponse.sendAdd(mmtDecl, out this._URI); + } + + /// <summary> + /// Bypasses initialization of new MMT %Fact by using existend URI, _which is not checked for existence_. + /// </summary> + /// <param name="Cid1">sets <see cref="Cid1"/></param> + /// <param name="´Rid2">sets <see cref="Rid2"/></param> + /// <param name="angle"> sets the angle </param> + /// <param name="backendURI">MMT URI</param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public AngleCircleLineFact(string Cid1, string Rid2, float angle, string backendURI, FactOrganizer organizer) : base(organizer) + { + this.Cid1 = Cid1; + this.Rid2 = Rid2; + this.angle = angle; + + this._URI = backendURI; + _ = this.Label; + } + + /// \copydoc Fact.parseFact(Scroll.ScrollFact) + public new static AngleCircleLineFact parseFact(Scroll.ScrollFact fact) + { + string uri = fact.@ref.uri; + string + CircleUri, + RayUri; + + OMA df = (OMA)((Scroll.ScrollValueFact)fact).lhs; + + if (df == null) + return null; + + // init it with 0 degrees, so we don't accidentally generate orthogonalfacts + // and the parsing works correctly if smb ever adds a scroll for this + float angle = 0.0f; + + if((((Scroll.ScrollValueFact)fact).value)!=null) + angle = ((OMF)(((Scroll.ScrollValueFact)fact).value)).f; + + + CircleUri = ((OMS)((OMA)((Scroll.ScrollValueFact)fact).lhs).arguments[0]).uri; + RayUri = ((OMS)((OMA)((Scroll.ScrollValueFact)fact).lhs).arguments[1]).uri; + + if (StageStatic.stage.factState.ContainsKey(CircleUri) + && StageStatic.stage.factState.ContainsKey(RayUri)) + { + return new AngleCircleLineFact(CircleUri, RayUri, angle, uri, StageStatic.stage.factState); + } + else + { + //If dependent facts do not exist return null + return null; + } + } + + /// \copydoc Fact.generateLabel + protected override string generateLabel() + { + return "∠" + _Facts[Cid1].Label + _Facts[Rid2].Label; + } + + /// <summary> + /// Constructs struct for not-right-angled MMT %Fact <see cref="AddFactResponse"/> + /// </summary> + /// <param name="val">Angle != 90f, _not checked_</param> + /// <param name="c1URI"><see cref="Cid1"/></param> + /// <param name="R2URI"><see cref="Rid2"/></param> + /// <param name="val"><see cref="angle"/></param> + /// <returns>struct for <see cref="AddFactResponse"/></returns> + private MMTDeclaration generateMMTDeclaration(float val, string c1URI, string r2URI) + { + MMTTerm lhs = + new OMA( + new OMS(MMTURIs.AnglePlaneLine), + new List<MMTTerm> { + new OMS(c1URI), + new OMS(r2URI), + } + ); + + MMTTerm valueTp = new OMS(MMTURIs.RealLit); + MMTTerm value = new OMF(val); + + return new MMTValueDeclaration(this.Label, lhs, valueTp, value); + } + + /// \copydoc Fact.hasDependentFacts + public override Boolean hasDependentFacts() + { + return true; + } + + /// \copydoc Fact.getDependentFactIds + public override string[] getDependentFactIds() + { + return new string[] { Cid1, Rid2 }; + } + + /// \copydoc Fact.instantiateDisplay(GameObject, Transform) + public override GameObject instantiateDisplay(GameObject prefab, Transform transform) + { + var obj = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity, transform); + obj.transform.GetChild(0).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Cid1].Label; + obj.transform.GetChild(1).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Rid2].Label; + obj.GetComponent<FactWrapper>().fact = this; + return obj; + } + + /// \copydoc Fact.GetHashCode + public override int GetHashCode() + { + return this.Cid1.GetHashCode() ^ this.Rid2.GetHashCode(); + } + + /// \copydoc Fact.Equivalent(Fact, Fact) + protected override bool EquivalentWrapped(AngleCircleLineFact f1, AngleCircleLineFact f2) + { + if (f1.Cid1 == f2.Cid1 && f1.Rid2 == f2.Rid2 ) + return true; + + CircleFact c1f1 = (CircleFact)_Facts[f1.Cid1]; + RayFact r2f1 = (RayFact)_Facts[f1.Rid2]; + + CircleFact c1f2 = (CircleFact)_Facts[f2.Cid1]; + RayFact r2f2 = (RayFact)_Facts[f2.Rid2]; + + return (c1f1.Equivalent(c1f2) && r2f1.Equivalent(r2f2)); + } +} + + +/// <summary> +/// A RadiusFact that corresponds to a <see cref="CircleFact">PointFacts</see> and has a float value (the actual radius). +/// </summary> +public class RadiusFact : FactWrappedCRTP<RadiusFact> +{ + /// <summary> The circle corresponding to the radius </summary> + public string Cid1; + /// <summary> The radius as a float </summary> + public float rad; + + /// <summary> \copydoc Fact.Fact </summary> + public RadiusFact() : base() + { + this.Cid1 = null; + this.rad = 0.0f; + + } + + /// <summary> + /// Copies <paramref name="fact"/> by initiating new MMT %Fact. + /// </summary> + /// <param name="fact">Fact to be copied</param> + /// <param name="old_to_new"><c>Dictionary</c> mapping <paramref name="fact"/>.<see cref="getDependentFactIds"/> in <paramref name="fact"/>.<see cref="Fact._Facts"/> to corresponding <see cref="Fact.Id"/> in <paramref name="organizer"/> </param> + /// <param name="organizer">sets <see cref="_Facts"/></param> + public RadiusFact(RadiusFact fact, Dictionary<string, string> old_to_new, FactOrganizer organizer) : base(fact, organizer) + { + init(old_to_new[fact.Cid1]); + } + + /// <summary> + /// Standard Constructor + /// </summary> + /// <param name="cid1">sets <see cref="Cid1"/></param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public RadiusFact(string cid1, FactOrganizer organizer) : base(organizer) + { + init(cid1); + } + + /// <summary> + /// Initiates <see cref="Cid1"/> and <see cref="rad"/> + /// </summary> + /// <param name="cid1">sets <see cref="Cid1"/></param> + private void init(string cid1) + { + this.Cid1 = cid1; + + CircleFact cf1 = _Facts[cid1] as CircleFact; + this.rad = cf1.radius; + + + MMTDeclaration mmtDecl; + string c1URI = cf1.Id; + + + mmtDecl = generateMMTDeclaration(c1URI,this.rad); + + AddFactResponse.sendAdd(mmtDecl, out this._URI); + } + + /// <summary> + /// Bypasses initialization of new MMT %Fact by using existend URI, _which is not checked for existence_. + /// </summary> + /// <param name="Cid1">sets <see cref="Cid1"/></param> + /// <param name="backendURI">MMT URI</param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public RadiusFact(string Cid1, string backendURI, FactOrganizer organizer) : base(organizer) + { + this.Cid1 = Cid1; + + this._URI = backendURI; + _ = this.Label; + } + + /// \copydoc Fact.parseFact(Scroll.ScrollFact) + public new static RadiusFact parseFact(Scroll.ScrollFact fact) + { + string uri = fact.@ref.uri; + string CircleUri = ((OMS)((OMA)((Scroll.ScrollValueFact)fact).lhs).arguments[0]).uri; + + if (StageStatic.stage.factState.ContainsKey(CircleUri)) + + return new RadiusFact(CircleUri, uri, StageStatic.stage.factState); + + else //If dependent facts do not exist return null + return null; + } + + /// \copydoc Fact.generateLabel + protected override string generateLabel() + { + return "r "+ _Facts[Cid1].Label; + } + + /// <summary> + /// Constructs struct for not-right-angled MMT %Fact <see cref="AddFactResponse"/> + /// </summary> + /// <param name="rad"> see <see cref="rad"/></param> + /// <param name="c1URI"> see <see cref="Cid1"/></param> + + /// <returns>struct for <see cref="AddFactResponse"/></returns> + private MMTDeclaration generateMMTDeclaration( string c1URI, float rad) + { + MMTTerm lhs = + new OMA( + new OMS(MMTURIs.RadiusCircleMetric), + new List<MMTTerm> { + new OMS(c1URI), + } + ); + + MMTTerm valueTp = new OMS(MMTURIs.RealLit); + MMTTerm value = new OMF(rad); + + return new MMTValueDeclaration(this.Label, lhs, valueTp, value); + } + + /// \copydoc Fact.hasDependentFacts + public override Boolean hasDependentFacts() + { + return true; + } + + /// \copydoc Fact.getDependentFactIds + public override string[] getDependentFactIds() + { + return new string[] { Cid1}; + } + + /// \copydoc Fact.instantiateDisplay(GameObject, Transform) + public override GameObject instantiateDisplay(GameObject prefab, Transform transform) + { + var obj = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity, transform); + obj.transform.GetChild(0).gameObject.GetComponent<TextMeshProUGUI>().text = "r: "+_Facts[this.Cid1].Label; + obj.GetComponent<FactWrapper>().fact = this; + return obj; + } + + /// \copydoc Fact.GetHashCode + public override int GetHashCode() + { + return this.Cid1.GetHashCode(); + } + + /// \copydoc Fact.Equivalent(Fact, Fact) + protected override bool EquivalentWrapped(RadiusFact f1, RadiusFact f2) + { + if (f1.Cid1 == f2.Cid1) + return true; + + CircleFact c1f1 = (CircleFact)_Facts[f1.Cid1]; + + CircleFact c1f2 = (CircleFact)_Facts[f2.Cid1]; + // if they correspond to the same circle, then automatically the radius has to be the same + + return (c1f1.Equivalent(c1f2)); + } +} + + +/// <summary> +/// Area of a <see cref="CircleFact">CircleFact</see> +/// </summary> +public class AreaCircleFact : FactWrappedCRTP<AreaCircleFact> +{ + /// <summary> the circle <see cref="CircleFact">CircleFact</see> </summary> + public string Cid1; + /// <summary> the area which is contained by the circle </summary> + public float A; + + + + /// <summary> \copydoc Fact.Fact </summary> + public AreaCircleFact() : base() + { + this.Cid1 = null; + this.A = 0.0f; + + } + + /// <summary> + /// Copies <paramref name="fact"/> by initiating new MMT %Fact. + /// </summary> + /// <param name="fact">Fact to be copied</param> + /// <param name="old_to_new"><c>Dictionary</c> mapping <paramref name="fact"/>.<see cref="getDependentFactIds"/> in <paramref name="fact"/>.<see cref="Fact._Facts"/> to corresponding <see cref="Fact.Id"/> in <paramref name="organizer"/> </param> + /// <param name="organizer">sets <see cref="_Facts"/></param> + public AreaCircleFact(AreaCircleFact fact, Dictionary<string, string> old_to_new, FactOrganizer organizer) : base(fact, organizer) + { + init(old_to_new[fact.Cid1]); + } + + /// <summary> + /// Standard Constructor + /// </summary> + /// <param name="cid1">sets <see cref="Cid1"/></param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public AreaCircleFact(string cid1, FactOrganizer organizer) : base(organizer) + { + init(cid1); + } + + /// <summary> + /// Initiates <see cref="Cid1"/> and creates MMT %Fact Server-Side + /// </summary> + /// <param name="cid1">sets <see cref="Cid1"/></param> + + private void init(string cid1) + { + this.Cid1 = cid1; + + CircleFact cf1 = _Facts[cid1] as CircleFact; + this.A = cf1.radius * cf1.radius * ( (float) Math.PI ); + + + MMTDeclaration mmtDecl; + string c1URI = cf1.Id; + + + mmtDecl = generateMMTDeclaration(c1URI, this.A); + + AddFactResponse.sendAdd(mmtDecl, out this._URI); + } + + /// <summary> + /// Bypasses initialization of new MMT %Fact by using existend URI, _which is not checked for existence_. + /// </summary> + /// <param name="Cid1">sets <see cref="Cid1"/></param> + /// <param name="backendURI">MMT URI</param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public AreaCircleFact(string Cid1, string backendURI, FactOrganizer organizer) : base(organizer) + { + this.Cid1 = Cid1; + + this._URI = backendURI; + _ = this.Label; + } + + /// \copydoc Fact.parseFact(Scroll.ScrollFact) + public new static AreaCircleFact parseFact(Scroll.ScrollFact fact) + { + string uri = fact.@ref.uri; + string CircleUri = ((OMS)((OMA)((Scroll.ScrollValueFact)fact).lhs).arguments[0]).uri; + + if (StageStatic.stage.factState.ContainsKey(CircleUri)) + return new AreaCircleFact(CircleUri, uri, StageStatic.stage.factState); + else //If dependent facts do not exist return null + return null; + } + + /// \copydoc Fact.generateLabel + protected override string generateLabel() + { + return "A(" + _Facts[Cid1].Label+")"; + } + + + /// <summary> + /// Constructs a response, that is sent to the MMT-Server + /// </summary> + /// <param name="area"> area of the circle </param> + /// <param name="c1URI"> <see cref="Cid1"/></param> + /// <returns>struct for <see cref="AddFactResponse"/></returns> + private MMTDeclaration generateMMTDeclaration(string c1URI, float area) + { + MMTTerm lhs = + new OMA( + new OMS(MMTURIs.AreaCircle), + new List<MMTTerm> { + new OMS(c1URI), + } + ); + + MMTTerm valueTp = new OMS(MMTURIs.RealLit); + MMTTerm value = new OMF(area); + + return new MMTValueDeclaration(this.Label, lhs, valueTp, value); + } + + /// \copydoc Fact.hasDependentFacts + public override Boolean hasDependentFacts() + { + return true; + } + + /// \copydoc Fact.getDependentFactIds + public override string[] getDependentFactIds() + { + return new string[] { Cid1 }; + } + + /// \copydoc Fact.instantiateDisplay(GameObject, Transform) + public override GameObject instantiateDisplay(GameObject prefab, Transform transform) + { + var obj = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity, transform); + obj.transform.GetChild(0).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Cid1].Label; + obj.GetComponent<FactWrapper>().fact = this; + return obj; + } + + /// \copydoc Fact.GetHashCode + /// is this a problem? + public override int GetHashCode() + { + return this.Cid1.GetHashCode(); + } + + /// \copydoc Fact.Equivalent(Fact, Fact) + protected override bool EquivalentWrapped(AreaCircleFact f1, AreaCircleFact f2) + { + if (f1.Cid1 == f2.Cid1) + return true; + CircleFact c1f1 = (CircleFact)_Facts[f1.Cid1]; + CircleFact c1f2 = (CircleFact)_Facts[f2.Cid1]; + + return (c1f1.Equivalent(c1f2) && f1.A == f2.A); + } +} + + +/// <summary> +/// The volume of a cone A defined by a base area <see cref="CircleFact">CircleFact</see>, an apex <see cref="PointFact">PointFact</see> and the volume as float +/// </summary> +public class ConeVolumeFact : FactWrappedCRTP<ConeVolumeFact> +{ + /// <summary> a <see cref="CircleFact">CircleFact</see> describing the base area </summary> + public string Cid1; + /// <summary> a <see cref="PointFact">PointFact</see> describing the apex point </summary> + public string Pid1; + /// <summary> the volume of the cone as a float </summary> + public float vol; + + /// <summary> \copydoc Fact.Fact </summary> + public ConeVolumeFact() : base() + { + this.Cid1 = null; + this.Pid1 = null; + this.vol = 0.0f; + + } + + /// <summary> + /// Copies <paramref name="fact"/> by initiating new MMT %Fact. + /// </summary> + /// <param name="fact">Fact to be copied</param> + /// <param name="old_to_new"><c>Dictionary</c> mapping <paramref name="fact"/>.<see cref="getDependentFactIds"/> in <paramref name="fact"/>.<see cref="Fact._Facts"/> to corresponding <see cref="Fact.Id"/> in <paramref name="organizer"/> </param> + /// <param name="organizer">sets <see cref="_Facts"/></param> + public ConeVolumeFact(ConeVolumeFact fact, Dictionary<string, string> old_to_new, FactOrganizer organizer) : base(fact, organizer) + { + init(old_to_new[fact.Cid1], old_to_new[fact.Pid1], fact.vol); + } + + /// <summary> + /// Standard Constructor + /// </summary> + /// <param name="cid1">sets <see cref="Cid1"/></param> + /// <param name="pid1">sets <see cref="Pid1"/></param> + /// <param name="vol">sets <see cref="vol"/></param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public ConeVolumeFact(string cid1,string pid1, float vol, FactOrganizer organizer) : base(organizer) + { + init(cid1,pid1,vol); + } + + /// <summary> + /// Initiates <see cref="Cid1"/>, <see cref="Pid1"/>, <see cref="vol"/>, <see cref="Fact._URI"/> and creates MMT %Fact Server-Side + /// </summary> + /// <param name="cid1">sets <see cref="Cid1"/></param> + /// <param name="pid1">sets <see cref="Pid1"/></param> + /// <param name="vol">sets <see cref="vol"/></param> + private void init(string cid1,string pid1, float vol) + { + this.Cid1 = cid1; + this.Pid1 = pid1; + + CircleFact cf1 = _Facts[cid1] as CircleFact; + PointFact pf1 = _Facts[pid1] as PointFact; + this.vol = vol; + + + MMTDeclaration mmtDecl; + string c1URI = cf1.Id; + string p1URI = pf1.Id; + + + mmtDecl = generateMMTDeclaration(c1URI, p1URI, vol); + + AddFactResponse.sendAdd(mmtDecl, out this._URI); + } + + /// <summary> + /// Bypasses initialization of new MMT %Fact by using existend URI, _which is not checked for existence_. + /// </summary> + /// <param name="Cid1">sets <see cref="Cid1"/></param> + /// <param name="Pid1">sets <see cref="Pid1"/></param> + /// <param name="volume">sets <see cref="vol"/></param> + /// <param name="backendURI">MMT URI</param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public ConeVolumeFact(string Cid1,string Pid1, float volume, string backendURI, FactOrganizer organizer) : base(organizer) + { + this.Cid1 = Cid1; + this.Pid1 = Pid1; + this.vol = volume; + + this._URI = backendURI; + _ = this.Label; + } + + /// \copydoc Fact.parseFact(Scroll.ScrollFact) + public new static ConeVolumeFact parseFact(Scroll.ScrollFact fact) + { + string uri = fact.@ref.uri; + + if (((Scroll.ScrollValueFact)fact).lhs == null) + return null; + + string CircleUri = ((OMS)((OMA)((OMA)((Scroll.ScrollValueFact)fact).lhs).arguments[0]).arguments[0]).uri; + string PointUri = ((OMS)((OMA)((OMA)((Scroll.ScrollValueFact)fact).lhs).arguments[0]).arguments[1]).uri; + float volume = 0.0f; + if( (((Scroll.ScrollValueFact)fact).value) !=null ) + volume = ((OMF) ((Scroll.ScrollValueFact)fact).value).f ; + + if (StageStatic.stage.factState.ContainsKey(CircleUri)&& StageStatic.stage.factState.ContainsKey(PointUri)) + + return new ConeVolumeFact(CircleUri,PointUri,volume, uri, StageStatic.stage.factState); + + else //If dependent facts do not exist return null + return null; + } + + /// \copydoc Fact.generateLabel + protected override string generateLabel() + { + return "V(" + _Facts[Cid1].Label +"," + _Facts[Pid1].Label+")"; + } + + /// <summary> + /// Constructs struct for not-right-angled MMT %Fact <see cref="AddFactResponse"/> + /// </summary> + /// <param name="c1URI"> Uri for <see cref="Cid1"/></param> + /// <param name="p1URI"> Uri for <see cref="Pid1"/></param> + /// <param name="val"> <see cref="vol"/></param> + /// <returns>struct for <see cref="AddFactResponse"/></returns> + private MMTDeclaration generateMMTDeclaration(string c1URI, string p1URI, float val) + { + MMTTerm lhs = + new OMA( + new OMS(MMTURIs.VolumeCone), + + new List<MMTTerm> { + new OMA(new OMS(MMTURIs.ConeOfCircleApex), + new List<MMTTerm> { + new OMS(c1URI), + new OMS(p1URI), + } + ), + } + ); + + MMTTerm valueTp = new OMS(MMTURIs.RealLit); + MMTTerm value = new OMF(val); + + return new MMTValueDeclaration(this.Label, lhs, valueTp, value); + } + + /// \copydoc Fact.hasDependentFacts + public override Boolean hasDependentFacts() + { + return true; + } + + /// \copydoc Fact.getDependentFactIds + public override string[] getDependentFactIds() + { + return new string[] { Cid1, Pid1 }; + } + + /// \copydoc Fact.instantiateDisplay(GameObject, Transform) + public override GameObject instantiateDisplay(GameObject prefab, Transform transform) + { + var obj = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity, transform); + obj.transform.GetChild(0).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Cid1].Label+ _Facts[this.Pid1].Label; + obj.GetComponent<FactWrapper>().fact = this; + + return obj; + } + + /// \copydoc Fact.GetHashCode + /// uhhh is this a problem? + public override int GetHashCode() + { + return this.Cid1.GetHashCode()^this.Pid1.GetHashCode(); + } + + /// \copydoc Fact.Equivalent(Fact, Fact) + protected override bool EquivalentWrapped(ConeVolumeFact f1, ConeVolumeFact f2) + { + if (f1.Cid1 == f2.Cid1 && f1.Pid1 == f2.Pid1) + return true; + + CircleFact c1f1 = (CircleFact)_Facts[f1.Cid1]; + CircleFact c1f2 = (CircleFact)_Facts[f2.Cid1]; + + PointFact p1f1 = (PointFact)_Facts[f1.Pid1]; + PointFact p1f2 = (PointFact)_Facts[f2.Pid1]; + + return (c1f1.Equivalent(c1f2)&& p1f1.Equivalent(p1f2) && (Mathf.Abs(f1.vol - f2.vol) < 0.001) ); + + } +} + + +/// <summary> +/// The fact that the plane of a <see cref="CircleFact">CircleFact</see> and the line <see cref="RayFact>RayFact</see> are orthogonal +/// </summary> +public class OrthogonalCircleLineFact : FactWrappedCRTP<OrthogonalCircleLineFact> +{ + /// <summary> a <see cref="CircleFact">CircleFact</see> describing the base area </summary> + public string Cid1; + /// <summary> a <see cref="RayFact">Rayfact</see> describing the line </summary> + public string Lid1; + + + /// <summary> \copydoc Fact.Fact </summary> + public OrthogonalCircleLineFact() : base() + { + this.Cid1 = null; + this.Lid1 = null; + + } + + /// <summary> + /// Copies <paramref name="fact"/> by initiating new MMT %Fact. + /// </summary> + /// <param name="fact">Fact to be copied</param> + /// <param name="old_to_new"><c>Dictionary</c> mapping <paramref name="fact"/>.<see cref="getDependentFactIds"/> in <paramref name="fact"/>.<see cref="Fact._Facts"/> to corresponding <see cref="Fact.Id"/> in <paramref name="organizer"/> </param> + /// <param name="organizer">sets <see cref="_Facts"/></param> + public OrthogonalCircleLineFact(OrthogonalCircleLineFact fact, Dictionary<string, string> old_to_new, FactOrganizer organizer) : base(fact, organizer) + { + init(old_to_new[fact.Cid1], old_to_new[fact.Lid1]); + } + + /// <summary> + /// Standard Constructor + /// </summary> + /// <param name="cid1">sets <see cref="Cid1"/></param> + /// <param name="lid1">sets <see cref="Lid1"/></param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public OrthogonalCircleLineFact(string cid1, string lid1, FactOrganizer organizer) : base(organizer) + { + init(cid1, lid1); + } + + /// <summary> + /// Initiates <see cref="Pid1"/>, <see cref="Pid2"/>, <see cref="Pid3"/>, <see cref="is_right_angle"/>, <see cref="Fact._URI"/> and creates MMT %Fact Server-Side + /// </summary> + /// <param name="cid1">sets <see cref="Cid1"/></param> + /// <param name="lid1">sets <see cref="Lid1"/></param> + private void init(string cid1, string lid1) + { + this.Cid1 = cid1; + this.Lid1 = lid1; + + CircleFact cf1 = _Facts[cid1] as CircleFact; + RayFact lf1 = _Facts[lid1] as RayFact; + + + MMTDeclaration mmtDecl; + string c1URI = cf1.Id; + string l1URI = lf1.Id; + + + mmtDecl = generateMMTDeclaration(c1URI, l1URI); + + AddFactResponse.sendAdd(mmtDecl, out this._URI); + } + + /// <summary> + /// Bypasses initialization of new MMT %Fact by using existend URI, _which is not checked for existence_. + /// </summary> + /// <param name="Cid1">sets <see cref="Cid1"/></param> + /// <param name="Lid1">sets <see cref="Lid1"/></param> + /// <param name="backendURI">MMT URI</param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public OrthogonalCircleLineFact(string Cid1, string Lid1, string backendURI, FactOrganizer organizer) : base(organizer) + { + this.Cid1 = Cid1; + this.Lid1 = Lid1; + + this._URI = backendURI; + _ = this.Label; + } + + /// \copydoc Fact.parseFact(Scroll.ScrollFact) + public new static OrthogonalCircleLineFact parseFact(Scroll.ScrollFact fact) + { + OMA tp = (OMA)((Scroll.ScrollSymbolFact)fact).tp; + if (tp == null) + return null; + + string uri = fact.@ref.uri; + + string CircleUri = ((OMS)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[0]).uri; + string LineUri = ((OMS)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[1]).uri; + + if (StageStatic.stage.factState.ContainsKey(CircleUri) + && StageStatic.stage.factState.ContainsKey(LineUri)) + + return new OrthogonalCircleLineFact(CircleUri, LineUri, uri, StageStatic.stage.factState); + + else //If dependent facts do not exist return null + return null; + } + + /// \copydoc Fact.generateLabel + protected override string generateLabel() + { + return _Facts[Cid1].Label + "⊥" + _Facts[Lid1].Label; + } + + /// <summary> + /// Constructs struct for not-right-angled MMT %Fact <see cref="AddFactResponse"/> + /// </summary> + /// <param name="c1URI"> Uri for <see cref="Cid1"/></param> + /// <param name="l1URI"> Uri for <see cref="Lid1"/></param> + /// <returns>struct for <see cref="AddFactResponse"/></returns> + private MMTDeclaration generateMMTDeclaration(string c1URI, string l1URI) + { + List<MMTTerm> innerArguments = new List<MMTTerm> + { + new OMS(c1URI), + new OMS(l1URI) + }; + + List<MMTTerm> outerArguments = new List<MMTTerm> + { + new OMA(new OMS(MMTURIs.OrthoCircleLine), innerArguments) + }; + MMTTerm tp = new OMA(new OMS(MMTURIs.Ded), outerArguments); + MMTTerm df = null; + + return new MMTSymbolDeclaration(this.Label, tp, df); + } + + /// \copydoc Fact.hasDependentFacts + public override Boolean hasDependentFacts() + { + return true; + } + + /// \copydoc Fact.getDependentFactIds + public override string[] getDependentFactIds() + { + return new string[] { Cid1, Lid1 }; + } + + /// \copydoc Fact.instantiateDisplay(GameObject, Transform) + public override GameObject instantiateDisplay(GameObject prefab, Transform transform) + { + var obj = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity, transform); + obj.transform.GetChild(0).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Cid1].Label; + obj.transform.GetChild(1).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Lid1].Label; + + obj.GetComponent<FactWrapper>().fact = this; + return obj; + } + + /// \copydoc Fact.GetHashCode + /// uhhh is this a problem? + public override int GetHashCode() + { + return this.Cid1.GetHashCode() ^ this.Lid1.GetHashCode(); + } + + /// \copydoc Fact.Equivalent(Fact, Fact) + protected override bool EquivalentWrapped(OrthogonalCircleLineFact f1, OrthogonalCircleLineFact f2) + { + if (f1.Cid1 == f2.Cid1 && f1.Lid1 == f2.Lid1) + return true; + + CircleFact c1f1 = (CircleFact)_Facts[f1.Cid1]; + CircleFact c1f2 = (CircleFact)_Facts[f2.Cid1]; + + RayFact l1f1 = (RayFact)_Facts[f1.Lid1]; + RayFact l1f2 = (RayFact)_Facts[f2.Lid1]; + + return (c1f1.Equivalent(c1f2) && l1f1.Equivalent(l1f2)); + + } +} + +/// <summary> +/// The volume of a cone A defined by a base area <see cref="CircleFact">CircleFact</see>, a top area <see cref="CircleFact">CircleFact</see> and the volume as float +/// </summary> +public class TruncatedConeVolumeFact : FactWrappedCRTP<TruncatedConeVolumeFact> +{ + /// <summary> a <see cref="CircleFact">CircleFact</see> describing the base area </summary> + public string Cid1; + /// <summary> a <see cref="CircleFact">CircleFact</see> describing the top area </summary> + public string Cid2; + /// <summary> the volume of Truncated the cone as a float </summary> + public float vol; + /// <summary> a proof that both circles have not the same size </summary> + public string unequalCirclesProof; + /// <summary> OMA proof that the two circles are parallel </summary> + public OMA proof; + + + /// <summary> \copydoc Fact.Fact </summary> + public TruncatedConeVolumeFact() : base() + { + this.Cid1 = null; + this.Cid2 = null; + this.vol = 0.0f; + this.unequalCirclesProof = null; + this.proof = null; + + } + + /// <summary> + /// Copies <paramref name="fact"/> by initiating new MMT %Fact. + /// </summary> + /// <param name="fact">Fact to be copied</param> + /// <param name="old_to_new"><c>Dictionary</c> mapping <paramref name="fact"/>.<see cref="getDependentFactIds"/> in <paramref name="fact"/>.<see cref="Fact._Facts"/> to corresponding <see cref="Fact.Id"/> in <paramref name="organizer"/> </param> + /// <param name="organizer">sets <see cref="_Facts"/></param> + public TruncatedConeVolumeFact(TruncatedConeVolumeFact fact, Dictionary<string, string> old_to_new, FactOrganizer organizer) : base(fact, organizer) + { + init(old_to_new[fact.Cid1], old_to_new[fact.Cid2], fact.vol, old_to_new[fact.unequalCirclesProof], fact.proof); + } + + /// <summary> + /// Standard Constructor + /// </summary> + /// <param name="cid1">sets <see cref="Cid1"/></param> + /// <param name="cid2">sets <see cref="Cid2"/></param> + /// <param name="vol">sets <see cref="vol"/></param> + /// <param name="proof">sets <see cref="proof"/></param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public TruncatedConeVolumeFact(string cid1, string cid2, float vol, string unequalproof, OMA proof, FactOrganizer organizer) : base(organizer) + { + init(cid1, cid2, vol,unequalproof, proof); + } + + /// <summary> + /// sets variables and generates MMT Declaration + /// </summary> + /// <param name="cid1">sets <see cref="Cid1"/></param> + /// <param name="cid2">sets <see cref="Cid2"/></param> + /// <param name="vol">sets <see cref="vol"/></param> + /// <param name="proof">sets <see cref="proof"/></param> + private void init(string cid1, string cid2, float vol, string unequalproof, OMA proof) + { + this.Cid1 = cid1; + this.Cid2 = cid2; + this.proof = proof; + this.unequalCirclesProof = unequalproof; + + CircleFact cf1 = _Facts[cid1] as CircleFact; + CircleFact cf2 = _Facts[cid2] as CircleFact; + this.vol = vol; + UnEqualCirclesFact unEqualProof = _Facts[unequalproof] as UnEqualCirclesFact; + + MMTDeclaration mmtDecl; + string c1URI = cf1.Id; + string c2URI = cf2.Id; + string pURI = unEqualProof.Id; + + mmtDecl = generateMMTDeclaration(c1URI, c2URI, vol, pURI, proof); + + AddFactResponse.sendAdd(mmtDecl, out this._URI); + } + + /// <summary> + /// Bypasses initialization of new MMT %Fact by using existend URI, _which is not checked for existence_. + /// </summary> + /// <param name="Cid1">sets <see cref="Cid1"/></param> + /// <param name="Cid2">sets <see cref="Cid2"/></param> + /// <param name="volume">sets <see cref="vol"/></param> + /// <param name="proof">sets <see cref="proof"/></param> + /// <param name="backendURI">MMT URI</param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public TruncatedConeVolumeFact(string Cid1, string Cid2, float volume, string unequalproof, OMA proof, string backendURI, FactOrganizer organizer) : base(organizer) + { + this.Cid1 = Cid1; + this.Cid2 = Cid2; + this.vol = volume; + this.proof = proof; + this.unequalCirclesProof = unequalproof; + + this._URI = backendURI; + _ = this.Label; + } + + /// \copydoc Fact.parseFact(Scroll.ScrollFact) + public new static TruncatedConeVolumeFact parseFact(Scroll.ScrollFact fact) + { + string uri = fact.@ref.uri; + + string Circle1Uri = ((OMS)((OMA)((OMA)((Scroll.ScrollValueFact)fact).lhs).arguments[0]).arguments[0]).uri; + string Circle2Uri = ((OMS)((OMA)((OMA)((Scroll.ScrollValueFact)fact).lhs).arguments[0]).arguments[1]).uri; + float volume = ((OMF)((Scroll.ScrollValueFact)fact).value).f; + + string UnEqualCirclesProof = ((OMS)(((OMA)((OMA)((Scroll.ScrollValueFact)fact).lhs).arguments[0]).arguments[2])).uri; + OMA proof = (OMA)(((OMA)((OMA)((Scroll.ScrollValueFact)fact).lhs).arguments[0]).arguments[3]); + + + if (StageStatic.stage.factState.ContainsKey(Circle1Uri) && StageStatic.stage.factState.ContainsKey(Circle2Uri)) + + return new TruncatedConeVolumeFact(Circle1Uri, Circle2Uri, volume, UnEqualCirclesProof , proof, uri, StageStatic.stage.factState); + + else //If dependent facts do not exist return null + return null; + } + + /// \copydoc Fact.generateLabel + protected override string generateLabel() + { + return "V(" + _Facts[Cid1].Label +"," + _Facts[Cid2].Label+")"; + } + + + + /// <summary> + /// Constructs struct for not-right-angled MMT %Fact <see cref="AddFactResponse"/> + /// </summary> + /// <param name="c1URI"> Uri for <see cref="Cid1"/></param> + /// <param name="c2URI"> Uri for <see cref="Cid2"/></param> + /// <param name="val"> <see cref="vol"/></param> + /// <returns>struct for <see cref="AddFactResponse"/></returns> + private MMTDeclaration generateMMTDeclaration(string c1URI, string c2URI, float val, string unequalproof, OMA proof) + { + MMTTerm lhs = + new OMA( + new OMS(MMTURIs.TruncatedVolumeCone), + + new List<MMTTerm> { + new OMS(c1URI), + new OMS(c2URI), + new OMS(unequalproof), + proof, + } + ); + + MMTTerm valueTp = new OMS(MMTURIs.RealLit); + MMTTerm value = new OMF(val); + + return new MMTValueDeclaration(this.Label, lhs, valueTp, value); + } + + /// \copydoc Fact.hasDependentFacts + public override Boolean hasDependentFacts() + { + return true; + } + + /// \copydoc Fact.getDependentFactIds + public override string[] getDependentFactIds() + { + return new string[] { Cid1, Cid2 }; + } + + /// \copydoc Fact.instantiateDisplay(GameObject, Transform) + public override GameObject instantiateDisplay(GameObject prefab, Transform transform) + { + var obj = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity, transform); + obj.transform.GetChild(0).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Cid1].Label + _Facts[this.Cid2].Label; + obj.GetComponent<FactWrapper>().fact = this; + + return obj; + } + + /// \copydoc Fact.GetHashCode + /// uhhh is this a problem? + public override int GetHashCode() + { + return this.Cid1.GetHashCode() ^ this.Cid2.GetHashCode(); + } + + /// \copydoc Fact.Equivalent(Fact, Fact) + protected override bool EquivalentWrapped(TruncatedConeVolumeFact f1, TruncatedConeVolumeFact f2) + { + if (f1.Cid1 == f2.Cid1 && f1.Cid2 == f2.Cid2) + return true; + + CircleFact c1f1 = (CircleFact)_Facts[f1.Cid1]; + CircleFact c1f2 = (CircleFact)_Facts[f2.Cid1]; + + CircleFact c2f1 = (CircleFact)_Facts[f1.Cid2]; + CircleFact c2f2 = (CircleFact)_Facts[f2.Cid2]; + + return (c1f1.Equivalent(c1f2) && c2f1.Equivalent(c2f2) && (Mathf.Abs(f1.vol - f2.vol) < 0.001) ); + + } +} + + +/// <summary> +/// A RightAngleFact defined by 3 <see cref="PointFact">Pointfact</see> +/// </summary> +public class RightAngleFact : FactWrappedCRTP<RightAngleFact> +{ + /// <summary> three <see cref="PointFact">Pointfacts</see> defining the right angle </summary> + public string Pid1, Pid2, Pid3; + + + + /// <summary> \copydoc Fact.Fact </summary> + public RightAngleFact() : base() + { + this.Pid1 = null; + this.Pid2 = null; + this.Pid3 = null; + } + + /// <summary> + /// Copies <paramref name="fact"/> by initiating new MMT %Fact. + /// </summary> + /// <param name="fact">Fact to be copied</param> + /// <param name="old_to_new"><c>Dictionary</c> mapping <paramref name="fact"/>.<see cref="getDependentFactIds"/> in <paramref name="fact"/>.<see cref="Fact._Facts"/> to corresponding <see cref="Fact.Id"/> in <paramref name="organizer"/> </param> + /// <param name="organizer">sets <see cref="_Facts"/></param> + public RightAngleFact(RightAngleFact fact, Dictionary<string, string> old_to_new, FactOrganizer organizer) : base(fact, organizer) + { + init(old_to_new[fact.Pid1], old_to_new[fact.Pid2],old_to_new[fact.Pid3]); + } + + /// <summary> + /// Standard Constructor + /// </summary> + /// <param name="pid1">sets <see cref="Pid1"/></param> + /// <param name="pid2">sets <see cref="Pid2"/></param> + /// <param name="pid3">sets <see cref="Pid3"/></param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public RightAngleFact(string pid1, string pid2, string pid3, FactOrganizer organizer) : base(organizer) + { + init(pid1, pid2, pid3); + } + + /// <summary> + /// Initiates <see cref="Pid1"/>, <see cref="Pid2"/>, <see cref="Pid3"/>, <see cref="is_right_angle"/>, <see cref="Fact._URI"/> and creates MMT %Fact Server-Side + /// </summary> + /// <param name="pid1">sets <see cref="Pid1"/></param> + /// <param name="pid2">sets <see cref="Pid2"/></param> + /// <param name="pid3">sets <see cref="Pid3"/></param> + private void init(string pid1, string pid2, string pid3) + { + this.Pid1 = pid1; + this.Pid2 = pid2; + this.Pid3 = pid3; + + PointFact pf1 = _Facts[pid1] as PointFact; + PointFact pf2 = _Facts[pid2] as PointFact; + PointFact pf3 = _Facts[pid3] as PointFact; + + + MMTDeclaration mmtDecl; + string p1URI = pf1.Id; + string p2URI = pf2.Id; + string p3URI = pf3.Id; + + + mmtDecl = generateMMTDeclaration(p1URI, p2URI, p3URI); + + AddFactResponse.sendAdd(mmtDecl, out this._URI); + } + + /// <summary> + /// Bypasses initialization of new MMT %Fact by using existend URI, _which is not checked for existence_. + /// </summary> + /// <param name="Pid1">sets <see cref="Pid1"/></param> + /// <param name="Pid2">sets <see cref="Pid2"/></param> + /// <param name="Pid3">sets <see cref="Pid3"/></param> + /// <param name="backendURI">MMT URI</param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public RightAngleFact(string Pid1, string Pid2, string Pid3, string backendURI, FactOrganizer organizer) : base(organizer) + { + this.Pid1 = Pid1; + this.Pid2 = Pid2; + this.Pid3 = Pid3; + + this._URI = backendURI; + _ = this.Label; + } + + /// \copydoc Fact.parseFact(Scroll.ScrollFact) + public new static RightAngleFact parseFact(Scroll.ScrollFact fact) + { + OMA tp = (OMA)((Scroll.ScrollSymbolFact)fact).tp; + if (tp == null) + return null; + + string Point1Uri = ""; + string Point2Uri = ""; + string Point3Uri = ""; + + string uri = fact.@ref.uri; + OMA proof_OMA = (OMA)((Scroll.ScrollSymbolFact)fact).tp; // proof DED + OMA rightAngleOMA = (OMA)proof_OMA.arguments[0]; // rightAngle OMA + + if (rightAngleOMA.arguments[0] is OMS) + { + Point1Uri = ((OMS)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[0]).uri; + Point2Uri = ((OMS)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[1]).uri; + Point3Uri = ((OMS)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[2]).uri; + } + + if (StageStatic.stage.factState.ContainsKey(Point1Uri) + && StageStatic.stage.factState.ContainsKey(Point2Uri) + && StageStatic.stage.factState.ContainsKey(Point3Uri)) + + return new RightAngleFact(Point1Uri, Point2Uri, Point3Uri, uri, StageStatic.stage.factState); + + else //If dependent facts do not exist return null + return null; + } + + + /// \copydoc Fact.generateLabel + protected override string generateLabel() + { + return _Facts[Pid1].Label + _Facts[Pid2].Label + _Facts[Pid3].Label + "⊥"; + } + + + /// <summary> + /// Constructs struct for not-right-angled MMT %Fact <see cref="AddFactResponse"/> + /// </summary> + /// <param name="p1URI"> Uri for <see cref="Pid1"/></param> + /// <param name="p2URI"> Uri for <see cref="Pid2"/></param> + /// <param name="p3URI"> Uri for <see cref="Pid3"/></param> + /// <returns>struct for <see cref="AddFactResponse"/></returns> + private MMTDeclaration generateMMTDeclaration(string p1URI, string p2URI, string p3URI) + { + List<MMTTerm> innerArguments = new List<MMTTerm> + { + new OMS(p1URI), + new OMS(p2URI), + new OMS(p3URI) + }; + + List<MMTTerm> outerArguments = new List<MMTTerm> + { + new OMA(new OMS(MMTURIs.RightAngle), innerArguments) + }; + MMTTerm tp = new OMA(new OMS(MMTURIs.Ded), outerArguments); + MMTTerm df = null; + + return new MMTSymbolDeclaration(this.Label, tp, df); + } + + /// \copydoc Fact.hasDependentFacts + public override Boolean hasDependentFacts() + { + return true; + } + + /// \copydoc Fact.getDependentFactIds + public override string[] getDependentFactIds() + { + return new string[] { Pid1, Pid2, Pid3 }; + } + + /// \copydoc Fact.instantiateDisplay(GameObject, Transform) + public override GameObject instantiateDisplay(GameObject prefab, Transform transform) + { + var obj = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity, transform); + obj.transform.GetChild(0).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Pid1].Label; + obj.transform.GetChild(1).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Pid2].Label; + obj.transform.GetChild(2).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Pid3].Label; + + + obj.GetComponent<FactWrapper>().fact = this; + return obj; + } + + /// \copydoc Fact.GetHashCode + /// uhhh is this a problem? + public override int GetHashCode() + { + return this.Pid1.GetHashCode() ^ this.Pid2.GetHashCode() ^ this.Pid3.GetHashCode(); + } + + /// \copydoc Fact.Equivalent(Fact, Fact) + protected override bool EquivalentWrapped(RightAngleFact f1, RightAngleFact f2) + { + if (f1.Pid1 == f2.Pid1 && f1.Pid2 == f2.Pid2 && f1.Pid3 == f2.Pid3) + return true; + + PointFact p1f1 = (PointFact)_Facts[f1.Pid1]; + PointFact p2f1 = (PointFact)_Facts[f1.Pid2]; + PointFact p3f1 = (PointFact)_Facts[f1.Pid3]; + + PointFact p1f2 = (PointFact)_Facts[f2.Pid1]; + PointFact p2f2 = (PointFact)_Facts[f2.Pid2]; + PointFact p3f2 = (PointFact)_Facts[f2.Pid3]; + + + + + return (p1f1.Equivalent(p1f2) && p2f1.Equivalent(p2f2) && p3f1.Equivalent(p3f2) ); + + } +} + + + + +/// <summary> +/// The volume of a cylinder defined by a base area <see cref="CircleFact">CircleFact</see>, a top area <see cref="CircleFact">CircleFact</see> and the volume as float +/// </summary> +public class CylinderVolumeFact : FactWrappedCRTP<CylinderVolumeFact> +{ + /// <summary> a <see cref="CircleFact">CircleFact</see> describing the base area </summary> + public string Cid1; + /// <summary> a <see cref="CircleFact">CircleFact</see> describing the top area </summary> + public string Cid2; + /// <summary> the volume of the cylinder as a float </summary> + public float vol; + /// <summary> a proof that both circles have the same size </summary> + public string equalCirclesProof; + /// <summary> OMA proof that the two circles are parallel </summary> + public OMA proof; + + /// <summary> \copydoc Fact.Fact </summary> + public CylinderVolumeFact() : base() + { + this.Cid1 = null; + this.Cid2 = null; + this.vol = 0.0f; + this.proof = null; + this.equalCirclesProof = null; + + } + + /// <summary> + /// Copies <paramref name="fact"/> by initiating new MMT %Fact. + /// </summary> + /// <param name="fact">Fact to be copied</param> + /// <param name="old_to_new"><c>Dictionary</c> mapping <paramref name="fact"/>.<see cref="getDependentFactIds"/> in <paramref name="fact"/>.<see cref="Fact._Facts"/> to corresponding <see cref="Fact.Id"/> in <paramref name="organizer"/> </param> + /// <param name="organizer">sets <see cref="_Facts"/></param> + public CylinderVolumeFact(CylinderVolumeFact fact, Dictionary<string, string> old_to_new, FactOrganizer organizer) : base(fact, organizer) + { + init(old_to_new[fact.Cid1], old_to_new[fact.Cid2], fact.vol, old_to_new[fact.equalCirclesProof], fact.proof); + } + + /// <summary> + /// Standard Constructor + /// </summary> + /// <param name="cid1">sets <see cref="Cid1"/></param> + /// <param name="cid2">sets <see cref="Cid2"/></param> + /// <param name="vol">sets <see cref="vol"/></param> + /// <param name="proof">sets <see cref="proof"/></param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public CylinderVolumeFact(string cid1, string cid2, float vol, string eqProof, OMA proof, FactOrganizer organizer) : base(organizer) + { + init(cid1, cid2, vol, eqProof, proof); + } + + /// <summary> + /// sets variables and generates MMT Declaration + /// </summary> + /// <param name="cid1">sets <see cref="Cid1"/></param> + /// <param name="cid2">sets <see cref="Cid2"/></param> + /// <param name="vol">sets <see cref="vol"/></param> + /// <param name="proof">sets <see cref="proof"/></param> + private void init(string cid1, string cid2, float vol, string eqProof, OMA proof) + { + this.Cid1 = cid1; + this.Cid2 = cid2; + this.proof = proof; + this.equalCirclesProof = eqProof; + + CircleFact cf1 = _Facts[cid1] as CircleFact; + CircleFact cf2 = _Facts[cid2] as CircleFact; + EqualCirclesFact pf1 = _Facts[eqProof] as EqualCirclesFact; + this.vol = vol; + + + MMTDeclaration mmtDecl; + string c1URI = cf1.Id; + string c2URI = cf2.Id; + string p1Uri = pf1.Id; + + + mmtDecl = generateMMTDeclaration(c1URI, c2URI, vol,p1Uri, proof); + + AddFactResponse.sendAdd(mmtDecl, out this._URI); + } + + /// <summary> + /// Bypasses initialization of new MMT %Fact by using existend URI, _which is not checked for existence_. + /// </summary> + /// <param name="Cid1">sets <see cref="Cid1"/></param> + /// <param name="Cid2">sets <see cref="Cid2"/></param> + /// <param name="volume">sets <see cref="vol"/></param> + /// <param name="proof">sets <see cref="proof"/></param> + /// <param name="backendURI">MMT URI</param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public CylinderVolumeFact(string Cid1, string Cid2, float volume, string eqProof, OMA proof, string backendURI, FactOrganizer organizer) : base(organizer) + { + this.Cid1 = Cid1; + this.Cid2 = Cid2; + this.vol = volume; + this.proof = proof; + this.equalCirclesProof = eqProof; + + this._URI = backendURI; + _ = this.Label; + } + + /// \copydoc Fact.parseFact(Scroll.ScrollFact) + public new static CylinderVolumeFact parseFact(Scroll.ScrollFact fact) + { + string uri = fact.@ref.uri; + + string Circle1Uri = ((OMS)((OMA)((OMA)((Scroll.ScrollValueFact)fact).lhs).arguments[0]).arguments[0]).uri; + string Circle2Uri = ((OMS)((OMA)((OMA)((Scroll.ScrollValueFact)fact).lhs).arguments[0]).arguments[1]).uri; + float volume = ((OMF)((Scroll.ScrollValueFact)fact).value).f; + string EqualCirclesProof = ((OMS)(((OMA)((OMA)((Scroll.ScrollValueFact)fact).lhs).arguments[0]).arguments[2])).uri; + + + + OMA proof = (OMA)(((OMA)((OMA)((Scroll.ScrollValueFact)fact).lhs).arguments[0]).arguments[3]); + + if (StageStatic.stage.factState.ContainsKey(Circle1Uri) && StageStatic.stage.factState.ContainsKey(Circle2Uri)) + + return new CylinderVolumeFact(Circle1Uri, Circle2Uri, volume, EqualCirclesProof, proof, uri, StageStatic.stage.factState); + + else //If dependent facts do not exist return null + return null; + } + + /// \copydoc Fact.generateLabel + protected override string generateLabel() + { + return "V(" + _Facts[Cid1].Label + "," + _Facts[Cid2].Label + ")"; + } + + + + /// <summary> + /// Constructs struct for not-right-angled MMT %Fact <see cref="AddFactResponse"/> + /// </summary> + /// <param name="c1URI"> Uri for <see cref="Cid1"/></param> + /// <param name="c2URI"> Uri for <see cref="Cid2"/></param> + /// <param name="val"> <see cref="vol"/></param> + /// <returns>struct for <see cref="AddFactResponse"/></returns> + private MMTDeclaration generateMMTDeclaration(string c1URI, string c2URI, float val, string p1URI, OMA proof) + { + MMTTerm lhs = + new OMA( + new OMS(MMTURIs.CylinderVolume), + + new List<MMTTerm> { + new OMS(c1URI), + new OMS(c2URI), + new OMS(p1URI), + proof, + } + ); + + MMTTerm valueTp = new OMS(MMTURIs.RealLit); + MMTTerm value = new OMF(val); + + return new MMTValueDeclaration(this.Label, lhs, valueTp, value); + } + + /// \copydoc Fact.hasDependentFacts + public override Boolean hasDependentFacts() + { + return true; + } + + /// \copydoc Fact.getDependentFactIds + public override string[] getDependentFactIds() + { + return new string[] { Cid1, Cid2, equalCirclesProof }; + } + + /// \copydoc Fact.instantiateDisplay(GameObject, Transform) + public override GameObject instantiateDisplay(GameObject prefab, Transform transform) + { + var obj = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity, transform); + obj.transform.GetChild(0).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Cid1].Label + _Facts[this.Cid2].Label; + obj.GetComponent<FactWrapper>().fact = this; + + return obj; + } + + /// \copydoc Fact.GetHashCode + /// uhhh is this a problem? + public override int GetHashCode() + { + return this.Cid1.GetHashCode() ^ this.Cid2.GetHashCode(); + } + + /// \copydoc Fact.Equivalent(Fact, Fact) + protected override bool EquivalentWrapped(CylinderVolumeFact f1, CylinderVolumeFact f2) + { + if (f1.Cid1 == f2.Cid1 && f1.Cid2 == f2.Cid2) + return true; + + CircleFact c1f1 = (CircleFact)_Facts[f1.Cid1]; + CircleFact c1f2 = (CircleFact)_Facts[f2.Cid1]; + + CircleFact c2f1 = (CircleFact)_Facts[f1.Cid2]; + CircleFact c2f2 = (CircleFact)_Facts[f2.Cid2]; + + return (c1f1.Equivalent(c1f2) && c2f1.Equivalent(c2f2) && (Mathf.Abs(f1.vol - f2.vol) < 0.001) ); + + } +} + + + + +/// <summary> +/// A fact that describes, that two circles have the same size and is comprised of two <see cref="CircleFact">CircleFacts</see> +/// </summary> +public class EqualCirclesFact : FactWrappedCRTP<EqualCirclesFact> +{ + /// @{ <summary> + /// two circles that are meant to be equal in area + /// </summary> + public string Cid1, Cid2; + /// @} + + + + + /// <summary> \copydoc Fact.Fact </summary> + public EqualCirclesFact() : base() + { + this.Cid1 = null; + this.Cid2 = null; + } + + /// <summary> + /// Copies <paramref name="fact"/> by initiating new MMT %Fact. + /// </summary> + /// <param name="fact">Fact to be copied</param> + /// <param name="old_to_new"><c>Dictionary</c> mapping <paramref name="fact"/>.<see cref="getDependentFactIds"/> in <paramref name="fact"/>.<see cref="Fact._Facts"/> to corresponding <see cref="Fact.Id"/> in <paramref name="organizer"/> </param> + /// <param name="organizer">sets <see cref="_Facts"/></param> + public EqualCirclesFact(EqualCirclesFact fact, Dictionary<string, string> old_to_new, FactOrganizer organizer) : base(fact, organizer) + { + init(old_to_new[fact.Cid1], old_to_new[fact.Cid2]); + } + + /// <summary> + /// Standard Constructor + /// </summary> + /// <param name="cid1">sets <see cref="Cid1"/></param> + /// <param name="cid2">sets <see cref="Cid2"/></param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public EqualCirclesFact(string cid1, string cid2, FactOrganizer organizer) : base(organizer) + { + init(cid1, cid2); + } + + /// <summary> + /// Initiates <see cref="Cid1"/>, <see cref="Cid2"/>, <see cref="Fact._URI"/> and creates MMT %Fact Server-Side + /// </summary> + /// <param name="cid1">sets <see cref="Cid1"/></param> + /// <param name="cid2">sets <see cref="Cid2"/></param> + private void init(string cid1, string cid2) + { + this.Cid1 = cid1; + this.Cid2 = cid2; + + CircleFact cf1 = _Facts[cid1] as CircleFact; + CircleFact cf2 = _Facts[cid2] as CircleFact; + + MMTDeclaration mmtDecl; + string c1URI = cf1.Id; + string c2URI = cf2.Id; + mmtDecl = generateEqualCirclesFactDeclaration(c1URI, c2URI); + + AddFactResponse.sendAdd(mmtDecl, out this._URI); + } + + /// <summary> + /// Bypasses initialization of new MMT %Fact by using existend URI, _which is not checked for existence_. + /// </summary> + /// <param name="Cid1">sets <see cref="Cid1"/></param> + /// <param name="Cid2">sets <see cref="Cid2"/></param> + /// <param name="backendURI">MMT URI</param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public EqualCirclesFact(string Cid1, string Cid2, string backendURI, FactOrganizer organizer) : base(organizer) + { + this.Cid1 = Cid1; + this.Cid2 = Cid2; + + this._URI = backendURI; + _ = this.Label; + } + + /// \copydoc Fact.parseFact(Scroll.ScrollFact) + public new static EqualCirclesFact parseFact(Scroll.ScrollFact fact) + { + OMA tp = (OMA)((Scroll.ScrollSymbolFact)fact).tp; + if (tp == null) + return null; + + string circleAUri = ""; + string circleBUri = ""; + + string uri = fact.@ref.uri; + OMA proof_OMA = (OMA)((Scroll.ScrollSymbolFact)fact).tp; // proof DED + + + OMA parallel_circles_OMA = (OMA)proof_OMA.arguments[0]; // parallel + + if (parallel_circles_OMA.arguments[0] is OMS) + { + // Normaler Fall + circleAUri = ((OMS)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[0]).uri; + circleBUri = ((OMS)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[1]).uri; + + } + + + + if (StageStatic.stage.factState.ContainsKey(circleAUri) + && StageStatic.stage.factState.ContainsKey(circleBUri)) + + return new EqualCirclesFact(circleAUri, circleBUri, uri, StageStatic.stage.factState); + + else //If dependent facts do not exist return null + return null; + } + + /// \copydoc Fact.generateLabel + protected override string generateLabel() + { + return _Facts[Cid1].Label + " ≠" + _Facts[Cid2].Label; + } + + + + /// <summary> + /// Constructs struct for equalCirclesFact <see cref="AddFactResponse"/> + /// </summary> + /// <param name="c1URI"><see cref="Cid1"/></param> + /// <param name="c2URI"><see cref="Cid2"/></param> + /// <returns>struct for <see cref="AddFactResponse"/></returns> + private MMTDeclaration generateEqualCirclesFactDeclaration(string c1URI, string c2URI) + { + + List<MMTTerm> innerArguments = new List<MMTTerm> + { + new OMS(c1URI), + new OMS(c2URI) + }; + + List<MMTTerm> outerArguments = new List<MMTTerm> + { + new OMA(new OMS(MMTURIs.EqualityCircles), innerArguments) + }; + + //OMS constructor generates full URI + MMTTerm tp = new OMA(new OMS(MMTURIs.Ded), outerArguments); + MMTTerm df = null; + + MMTSymbolDeclaration mmtDecl = new MMTSymbolDeclaration(this.Label, tp, df); + AddFactResponse.sendAdd(mmtDecl, out this._URI); + + + return mmtDecl; + } + + + /// \copydoc Fact.hasDependentFacts + public override Boolean hasDependentFacts() + { + return true; + } + + /// \copydoc Fact.getDependentFactIds + public override string[] getDependentFactIds() + { + return new string[] { Cid1, Cid2 }; + } + + /// \copydoc Fact.instantiateDisplay(GameObject, Transform) + public override GameObject instantiateDisplay(GameObject prefab, Transform transform) + { + var obj = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity, transform); + obj.transform.GetChild(0).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Cid1].Label; + obj.transform.GetChild(1).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Cid2].Label; + obj.GetComponent<FactWrapper>().fact = this; + return obj; + } + + /// \copydoc Fact.GetHashCode + public override int GetHashCode() + { + return this.Cid1.GetHashCode() ^ this.Cid2.GetHashCode(); + } + + /// \copydoc Fact.Equivalent(Fact, Fact) + protected override bool EquivalentWrapped(EqualCirclesFact f1, EqualCirclesFact f2) + { + if ((f1.Cid1 == f2.Cid1 && f1.Cid2 == f2.Cid2)) + return true; + + CircleFact e1f1 = (CircleFact)_Facts[f1.Cid1]; + CircleFact e2f1 = (CircleFact)_Facts[f1.Cid2]; + CircleFact e1f2 = (CircleFact)_Facts[f2.Cid1]; + CircleFact e2f2 = (CircleFact)_Facts[f2.Cid2]; + + return (e1f1.Equivalent(e1f2) && e2f1.Equivalent(e2f2)); + } +} + + +/// <summary> +/// A fact that describes, that two circles have not the same size and is comprised of two <see cref="CircleFact">CircleFacts</see> +/// </summary> +public class UnEqualCirclesFact : FactWrappedCRTP<UnEqualCirclesFact> +{ + /// @{ <summary> + /// two circles that are meant to be unequal in area + /// </summary> + public string Cid1, Cid2; + /// @} + + + + + /// <summary> \copydoc Fact.Fact </summary> + public UnEqualCirclesFact() : base() + { + this.Cid1 = null; + this.Cid2 = null; + } + + /// <summary> + /// Copies <paramref name="fact"/> by initiating new MMT %Fact. + /// </summary> + /// <param name="fact">Fact to be copied</param> + /// <param name="old_to_new"><c>Dictionary</c> mapping <paramref name="fact"/>.<see cref="getDependentFactIds"/> in <paramref name="fact"/>.<see cref="Fact._Facts"/> to corresponding <see cref="Fact.Id"/> in <paramref name="organizer"/> </param> + /// <param name="organizer">sets <see cref="_Facts"/></param> + public UnEqualCirclesFact(UnEqualCirclesFact fact, Dictionary<string, string> old_to_new, FactOrganizer organizer) : base(fact, organizer) + { + init(old_to_new[fact.Cid1], old_to_new[fact.Cid2]); + } + + /// <summary> + /// Standard Constructor + /// </summary> + /// <param name="cid1">sets <see cref="Cid1"/></param> + /// <param name="cid2">sets <see cref="Cid2"/></param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public UnEqualCirclesFact(string cid1, string cid2, FactOrganizer organizer) : base(organizer) + { + init(cid1, cid2); + } + + /// <summary> + /// Initiates <see cref="Cid1"/>, <see cref="Cid2"/>, <see cref="Fact._URI"/> and creates MMT %Fact Server-Side + /// </summary> + /// <param name="cid1">sets <see cref="Cid1"/></param> + /// <param name="cid2">sets <see cref="Cid2"/></param> + private void init(string cid1, string cid2) + { + + this.Cid1 = cid1; + this.Cid2 = cid2; + + CircleFact cf1 = _Facts[cid1] as CircleFact; + CircleFact cf2 = _Facts[cid2] as CircleFact; + + MMTDeclaration mmtDecl; + string c1URI = cf1.Id; + string c2URI = cf2.Id; + mmtDecl = generateUnEqualCirclesFactDeclaration(c1URI, c2URI); + + AddFactResponse.sendAdd(mmtDecl, out this._URI); + } + + /// <summary> + /// Bypasses initialization of new MMT %Fact by using existend URI, _which is not checked for existence_. + /// </summary> + /// <param name="Cid1">sets <see cref="Cid1"/></param> + /// <param name="Cid2">sets <see cref="Cid2"/></param> + /// <param name="backendURI">MMT URI</param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public UnEqualCirclesFact(string Cid1, string Cid2, string backendURI, FactOrganizer organizer) : base(organizer) + { + this.Cid1 = Cid1; + this.Cid2 = Cid2; + + this._URI = backendURI; + _ = this.Label; + } + + /// \copydoc Fact.parseFact(Scroll.ScrollFact) + public new static UnEqualCirclesFact parseFact(Scroll.ScrollFact fact) + { + OMA tp = (OMA)((Scroll.ScrollSymbolFact)fact).tp; + if (tp == null) + return null; + + string circleAUri = ""; + string circleBUri = ""; + + string uri = fact.@ref.uri; + OMA proof_OMA = (OMA)((Scroll.ScrollSymbolFact)fact).tp; // proof DED + + + OMA unequal_circles_OMA = (OMA)proof_OMA.arguments[0]; // unequal + + if (unequal_circles_OMA.arguments[0] is OMS) + { + // Normaler Fall + circleAUri = ((OMS)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[0]).uri; + circleBUri = ((OMS)((OMA)((OMA)((Scroll.ScrollSymbolFact)fact).tp).arguments[0]).arguments[1]).uri; + + } + + + + if (StageStatic.stage.factState.ContainsKey(circleAUri) + && StageStatic.stage.factState.ContainsKey(circleBUri)) + + return new UnEqualCirclesFact(circleAUri, circleBUri, uri, StageStatic.stage.factState); + + else //If dependent facts do not exist return null + return null; + } + + /// \copydoc Fact.generateLabel + protected override string generateLabel() + { + return _Facts[Cid1].Label + " = " + _Facts[Cid2].Label; + } + + + + /// <summary> + /// Constructs struct for equalCirclesFact <see cref="AddFactResponse"/> + /// </summary> + /// <param name="c1URI"><see cref="Cid1"/></param> + /// <param name="c2URI"><see cref="Cid2"/></param> + /// <returns>struct for <see cref="AddFactResponse"/></returns> + private MMTDeclaration generateUnEqualCirclesFactDeclaration(string c1URI, string c2URI) + { + + List<MMTTerm> innerArguments = new List<MMTTerm> + { + new OMS(c1URI), + new OMS(c2URI) + }; + + List<MMTTerm> outerArguments = new List<MMTTerm> + { + new OMA(new OMS(MMTURIs.UnEqualityCircles), innerArguments) + }; + + //OMS constructor generates full URI + MMTTerm tp = new OMA(new OMS(MMTURIs.Ded), outerArguments); + MMTTerm df = null; + + MMTSymbolDeclaration mmtDecl = new MMTSymbolDeclaration(this.Label, tp, df); + AddFactResponse.sendAdd(mmtDecl, out this._URI); + + + return mmtDecl; + } + + + /// \copydoc Fact.hasDependentFacts + public override Boolean hasDependentFacts() + { + return true; + } + + /// \copydoc Fact.getDependentFactIds + public override string[] getDependentFactIds() + { + return new string[] { Cid1, Cid2 }; + } + + /// \copydoc Fact.instantiateDisplay(GameObject, Transform) + public override GameObject instantiateDisplay(GameObject prefab, Transform transform) + { + var obj = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity, transform); + obj.transform.GetChild(0).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Cid1].Label; + obj.transform.GetChild(1).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Cid2].Label; + obj.GetComponent<FactWrapper>().fact = this; + return obj; + } + + /// \copydoc Fact.GetHashCode + public override int GetHashCode() + { + return this.Cid1.GetHashCode() ^ this.Cid2.GetHashCode(); + } + + /// \copydoc Fact.Equivalent(Fact, Fact) + protected override bool EquivalentWrapped(UnEqualCirclesFact f1, UnEqualCirclesFact f2) + { + if ((f1.Cid1 == f2.Cid1 && f1.Cid2 == f2.Cid2)) + return true; + + CircleFact e1f1 = (CircleFact)_Facts[f1.Cid1]; + CircleFact e2f1 = (CircleFact)_Facts[f1.Cid2]; + CircleFact e1f2 = (CircleFact)_Facts[f2.Cid1]; + CircleFact e2f2 = (CircleFact)_Facts[f2.Cid2]; + + return (e1f1.Equivalent(e1f2) && e2f1.Equivalent(e2f2)); + } +} + + + + + + +/// TEST FACT +/// use this if you need to test certain implementations of facts. + +/// <summary> +/// just for testing purposes +/// </summary> +public class TestFact : FactWrappedCRTP<TestFact> +{ + + + + /// <summary> \copydoc Fact.Fact </summary> + public TestFact() : base() + { + + } + + /// <summary> + /// Copies <paramref name="fact"/> by initiating new MMT %Fact. + /// </summary> + /// <param name="fact">Fact to be copied</param> + /// <param name="old_to_new"><c>Dictionary</c> mapping <paramref name="fact"/>.<see cref="getDependentFactIds"/> in <paramref name="fact"/>.<see cref="Fact._Facts"/> to corresponding <see cref="Fact.Id"/> in <paramref name="organizer"/> </param> + /// <param name="organizer">sets <see cref="_Facts"/></param> + public TestFact(TestFact fact, Dictionary<string, string> old_to_new, FactOrganizer organizer) : base(fact, organizer) + { + init(); + } + + /// <summary> + /// Standard Constructor + /// </summary> + /// <param name="pid1">sets <see cref="Pid1"/></param> + /// <param name="pid2">sets <see cref="Pid2"/></param> + /// <param name="radius">sets <see cref="radius"/></param> + /// <param name="normal">sets <see cref="normal"/></param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public TestFact( FactOrganizer organizer) : base(organizer) + { + init(); + } + + /// <summary> + /// Initiates <see cref="Pid1"/>, <see cref="Pid2"/>, <see cref="radius"/>,<see cref="dir1"/>,<see cref="dir2"/>, <see cref="Fact._URI"/> and creates MMT %Fact Server-Side + /// </summary> + /// <param name="pid1">sets <see cref="Pid1"/></param> + /// <param name="pid2">sets <see cref="Pid2"/></param> + /// <param name="radius">sets <see cref="radius"/></param> + /// <param name="normal">sets <see cref="normal"/></param> + private void init() + { + + + // mmtDecl = generateCircleFactDeclaration(p1URI, p2URI, radius, normal); + + // AddFactResponse.sendAdd(mmtDecl, out this._URI); + } + + /// <summary> + /// Bypasses initialization of new MMT %Fact by using existend URI, _which is not checked for existence_. + /// </summary> + /// <param name="Pid1">sets <see cref="Pid1"/></param> + /// <param name="Pid2">sets <see cref="Pid2"/></param> + /// <param name="radius">sets <see cref="radius"/></param> + /// <param name="normal">sets <see cref="normal"/></param> + /// <param name="backendURI">MMT URI</param> + /// <param name="organizer">sets <see cref="Fact._Facts"/></param> + public TestFact( string backendURI, FactOrganizer organizer) : base(organizer) + { + + this._URI = backendURI; + _ = this.Label; + } + + /// <summary> + /// parses the Circlefact response of the MMT-Server + /// </summary> + /// \copydoc Fact.parseFact(Scroll.ScrollFact) + public new static TestFact parseFact(Scroll.ScrollFact fact) + { + string uri = fact.@ref.uri; + Debug.Log("TestFact Uri:" + uri); + return new TestFact(uri, StageStatic.stage.factState); + + } + + /// \copydoc Fact.generateLabel + protected override string generateLabel() + { + + return "test" ; + } + + + + /// <summary> + /// Constructs struct for right-angled MMT %Fact <see cref="AddFactResponse"/> + /// </summary> + /// <param name="p1URI"> <see cref="Pid1"/></param> + /// <param name="p2URI"> <see cref="Pid2"/></param> + /// <param name="radius"> <see cref="radius"/></param> + /// <returns>struct for <see cref="AddFactResponse"/></returns> + private MMTDeclaration generateCircleFactDeclaration(string p1URI, string p2URI, float radius, Vector3 normal) + { + PointFact p1 = _Facts[p1URI] as PointFact; + PointFact p2 = _Facts[p2URI] as PointFact; + + + List<MMTTerm> normalArgs = new List<MMTTerm> + { + new OMF(normal.x), + new OMF(normal.y), + new OMF(normal.z) + }; + OMA NormalVector = new OMA(new OMS(MMTURIs.Tuple), normalArgs); + + + + List<MMTTerm> planeArgs = new List<MMTTerm> + { + new OMS(p2URI), + NormalVector //n + }; + + OMA CirclePlane = new OMA(new OMS(MMTURIs.pointNormalPlane), planeArgs); + OMS middlePoint = new OMS(p1URI); + OMF Radius = new OMF(radius); + + List<MMTTerm> outerArguments = new List<MMTTerm> + { + CirclePlane, + middlePoint, + Radius + }; + + //OMS constructor generates full URI + // Do i need this here? doubt + MMTTerm tp = new OMS(MMTURIs.CircleType3d); + MMTTerm df = new OMA(new OMS(MMTURIs.MkCircle3d), outerArguments); + + MMTSymbolDeclaration mmtDecl = new MMTSymbolDeclaration(this.Label, tp, df); + AddFactResponse.sendAdd(mmtDecl, out this._URI); + + + return mmtDecl; + } + + + /// \copydoc Fact.hasDependentFacts + public override Boolean hasDependentFacts() + { + return false; + } + + + + /// \copydoc Fact.getDependentFactIds + public override string[] getDependentFactIds() + { + return new string[] { }; + } + + /// \copydoc Fact.instantiateDisplay(GameObject, Transform) + public override GameObject instantiateDisplay(GameObject prefab, Transform transform) + { + var obj = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity, transform); + + // obj.transform.GetChild(1).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Lid2].Label; + + obj.GetComponent<FactWrapper>().fact = this; + return obj; + } + + /// \copydoc Fact.GetHashCode + public override int GetHashCode() + { + return 112315414;// this.Pid1.GetHashCode() ^ this.Pid2.GetHashCode(); + } + + /// \copydoc Fact.Equivalent(Fact, Fact) + protected override bool EquivalentWrapped(TestFact f1, TestFact f2) + { + return false; } } \ No newline at end of file diff --git a/Assets/Scripts/InteractionEngine/FactHandling/FactManager.cs b/Assets/Scripts/InteractionEngine/FactHandling/FactManager.cs index 45c260ccfa78105e108a55797d7a58df864e97d5..aaa31a2ea0f3a73ba8c3852158418ea2f0c48df7 100644 --- a/Assets/Scripts/InteractionEngine/FactHandling/FactManager.cs +++ b/Assets/Scripts/InteractionEngine/FactHandling/FactManager.cs @@ -136,4 +136,12 @@ public static AngleFact AddAngleFact(string pid1, string pid2, string pid3, bool , out _, samestep, gadget, scroll_label); } + public static EqualCirclesFact AddEqualCirclesFact(string cid1, string cid2, bool samestep = false) + { + return (EqualCirclesFact)AddFactIfNotFound(new EqualCirclesFact(cid1, cid2, StageStatic.stage.factState), out _, samestep); + } + public static UnEqualCirclesFact AddUnEqualCirclesFact(string cid1, string cid2, bool samestep = false) + { + return (UnEqualCirclesFact)AddFactIfNotFound(new UnEqualCirclesFact(cid1, cid2, StageStatic.stage.factState), out _, samestep); + } } diff --git a/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs b/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs index 780cb4a902976c6898238ff88549dad026e7875f..632bfe42e79187d67f7ec61eeb98a1b59bb65d30 100644 --- a/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs +++ b/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs @@ -11,7 +11,9 @@ public GameObject Sphere, Line, Ray, - Angle; + Angle, + Ring, + Circle; void Start() { @@ -31,10 +33,23 @@ public Fact SpawnFactRepresentation(Fact fact) LineFact => SpawnLine, AngleFact => SpawnAngle, RayFact => SpawnRay, + CircleFact => SpawnRingAndCircle, _ => null, }; return func?.Invoke(fact); + + //TODO check if the above breaks anything + //return fact switch + //{ + // PointFact pointFact => SpawnPoint, + // LineFact lineFact => SpawnLine, + // AngleFact angleFact => SpawnAngle, + // RayFact rayFact => SpawnRay, + // CircleFact circleFact => SpawnRingAndCircle, + // _ => null, + //}; + } @@ -175,9 +190,106 @@ public Fact SpawnAngle(Fact fact) return angleFact; } + public Fact SpawnRingAndCircle(Fact fact) + { + var ringAndCircleGO = new GameObject("RingAndCircle"); + _ = SpawnRing(fact, ringAndCircleGO.transform); + var circleFact = SpawnCircle(fact, ringAndCircleGO.transform); + + //TODO check whether this is necessary? + // this.FactRepresentation = ringAndCircleGO; + circleFact.Representation = ringAndCircleGO; + + return circleFact; + } + + public Fact SpawnRing(Fact fact, Transform parent = null) + { + CircleFact circleFact = (CircleFact)fact; + + PointFact middlePointFact = StageStatic.stage.factState[circleFact.Pid1] as PointFact; + PointFact basePointFact = StageStatic.stage.factState[circleFact.Pid2] as PointFact; + + Vector3 middlePoint = middlePointFact.Point; + Vector3 normal = circleFact.normal; + float radius = circleFact.radius; + + //Change FactRepresentation to Ring + //TODO check whether this is necessary? + + //this.FactRepresentation = Ring; + //GameObject ring = Instantiate(FactRepresentation, parent); + GameObject ring = GameObject.Instantiate(Ring,parent); + + var tori = ring.GetComponentsInChildren<TorusGenerator>(); + var tmpText = ring.GetComponentInChildren<TextMeshPro>(); + var FactObj = ring.GetComponentInChildren<FactObject>(); + + //Move Ring to middlePoint + ring.transform.position = middlePoint; + + //Rotate Ring according to normal + if (normal.y < 0) // if normal faces downwards use inverted normal instead + ring.transform.up = -normal; + else + ring.transform.up = normal; + + //Set radii + foreach (var torus in tori) + torus.torusRadius = radius; + + string text = $"○{middlePointFact.Label}"; + tmpText.text = text; + ////move TMP Text so it is on the edge of the circle + //tmpText.rectTransform.position = tmpText.rectTransform.position - new Vector3(0, 0, -radius); + + FactObj.URI = circleFact.Id; + circleFact.Representation = ring; + + return circleFact; + } + + public Fact SpawnCircle(Fact fact, Transform parent = null) + { + CircleFact circleFact = (CircleFact)fact; + + PointFact middlePointFact = StageStatic.stage.factState[circleFact.Pid1] as PointFact; + PointFact basePointFact = StageStatic.stage.factState[circleFact.Pid2] as PointFact; + + Vector3 middlePoint = middlePointFact.Point; + Vector3 normal = circleFact.normal; + float radius = circleFact.radius; + + //TODO check whether this is necessary + //Change FactRepresentation to Ring + // this.FactRepresentation = Circle; + GameObject circle = Instantiate(Circle, parent); + + var FactObj = circle.GetComponentInChildren<FactObject>(); + + //Move Circle to middlePoint + circle.transform.position = middlePoint; + + //Rotate Circle according to normal + if (normal.y < 0) // if normal faces downwards use inverted normal instead + circle.transform.up = -normal; + else + circle.transform.up = normal; + + //Set radius + circle.transform.localScale = new Vector3(radius * 2, circle.transform.localScale.y, radius * 2); + + FactObj.URI = circleFact.Id; + circleFact.Representation = circle; + + return circleFact; + } + + public void DeleteObject(Fact fact) { GameObject factRepresentation = fact.Representation; + print("Deleting: " + fact.Representation?.name); GameObject.Destroy(factRepresentation); } diff --git a/Assets/Scripts/InteractionEngine/Gadgets/AngleTool.cs b/Assets/Scripts/InteractionEngine/Gadgets/AngleTool.cs index 49966cb40dda4747b324478aa8599ac6e13a4608..26dab0b3bbecafc69b712bfe7edb2bd1479c910b 100644 --- a/Assets/Scripts/InteractionEngine/Gadgets/AngleTool.cs +++ b/Assets/Scripts/InteractionEngine/Gadgets/AngleTool.cs @@ -14,29 +14,31 @@ public class AngleTool : Gadget private const int curveDrawingVertexCount = 36; private float curveRadius; - public override void _Hit(RaycastHit hit) + public override void _Hit(RaycastHit[] hit) { - if (hit.transform.gameObject.layer != LayerMask.NameToLayer("Point")) + if (hit[0].transform.gameObject.layer != LayerMask.NameToLayer("Point")) return; - string tempFactId = hit.transform.GetComponent<FactObject>().URI; + string tempFactId = hit[0].transform.GetComponent<FactObject>().URI; if (!Workflow.Contains(tempFactId)) Workflow.Add(tempFactId); + switch (Workflow.Count) { case 1: - AnglePoints[0] = hit.transform.position; + AnglePoints[0] = hit[0].transform.position; break; case 2: - AnglePoints[1] = hit.transform.position; + AnglePoints[1] = hit[0].transform.position; AnglePoints[2] = AnglePoints[0] - AnglePoints[1]; // cache for _UpdateLineDrawing() ActivateLineDrawing(); break; case 3: FactManager.AddAngleFact(Workflow[0], Workflow[1], Workflow[2], gadget: this); + ResetGadget(); return; } diff --git a/Assets/Scripts/InteractionEngine/Gadgets/EqualCircleGadget.cs b/Assets/Scripts/InteractionEngine/Gadgets/EqualCircleGadget.cs new file mode 100644 index 0000000000000000000000000000000000000000..ca737b7532db87783dc72ad97e14f052b8e2a33b --- /dev/null +++ b/Assets/Scripts/InteractionEngine/Gadgets/EqualCircleGadget.cs @@ -0,0 +1,111 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using static CommunicationEvents; + +/// <summary> +/// a Gadget that checks whether two given circles have equal size and if yes it returns an EqualCirclesFact +/// </summary> +public class EqualCircleGadget : Gadget +{ + + //Variables to safe if one circle has already been selected + private bool FirstCircleSelected = false; + private CircleFact FirstCircle = null; + + + + + new void Awake() + { + base.Awake(); + UiName = "EqualCircles Mode"; + if (MaxRange == 0) + MaxRange = GlobalBehaviour.GadgetLaserDistance; + } + + //Initialize Gadget when enabled AND activated + new void OnEnable() + { + base.OnEnable(); + this.ResetGadget(); + } + + void OnDisable() + { + this.ResetGadget(); + } + + public override void OnHit(RaycastHit[] hit) + { + if (!this.isActiveAndEnabled) return; + if (hit[0].transform.gameObject.layer == LayerMask.NameToLayer("Circle")) + { + CircleFact tempFact = (CircleFact)StageStatic.stage.factState[hit[0].transform.GetComponent<FactObject>().URI]; + + //If the first circle got already selected + if (this.FirstCircleSelected) + { + // Debug.Log("hit it"); + // Debug.Log("data: radius dif" + Mathf.Abs(this.FirstCircle.radius - tempFact.radius) +" ids: 1. "+ this.FirstCircle.Id+", 2."+ tempFact.Id); + //Create EqualCirclesFact + //Check if new Point is equal to one of the previous points -> if true -> cancel + if ((Mathf.Abs(this.FirstCircle.radius - tempFact.radius) < 0.01) && !(this.FirstCircle.Id == tempFact.Id)) + { + FactManager.AddEqualCirclesFact(((CircleFact)this.FirstCircle).Id, ((CircleFact)tempFact).Id); + } + else { + if(!(this.FirstCircle.Id == tempFact.Id)) + FactManager.AddUnEqualCirclesFact(((CircleFact)this.FirstCircle).Id, ((CircleFact)tempFact).Id); + + } + + ResetGadget(); + } + //If no circle was selected before + else + { + //Save the first point selected + this.FirstCircleSelected = true; + this.FirstCircle= tempFact; + } + } + //No Circles were hit + else + { + ResetGadget(); + + } + } + + void Update() + { + if (!this.isActiveAndEnabled) return; + + UpdateCurveDrawing(this.Cursor.transform.position); + } + + private void ResetGadget() + { + this.FirstCircleSelected= false; + this.FirstCircle = null; + + DeactivateCurveDrawing(); + } + + public void ActivateCurveDrawing() + { + + } + + public void UpdateCurveDrawing(Vector3 currentPosition) + { + + } + + public void DeactivateCurveDrawing() + { + + } + +} diff --git a/Assets/Scripts/InteractionEngine/Gadgets/EqualCircleGadget.cs.meta b/Assets/Scripts/InteractionEngine/Gadgets/EqualCircleGadget.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..7c8763a640783de01544c2050ec50f5ef2011d2e --- /dev/null +++ b/Assets/Scripts/InteractionEngine/Gadgets/EqualCircleGadget.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3d26ac5cd1e235148b7c35538c429335 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/InteractionEngine/Gadgets/Gadget.cs b/Assets/Scripts/InteractionEngine/Gadgets/Gadget.cs index ba704d48f91dd3ade60cd784238e46ec54f375fe..3a50271c82a89f39079713655867f8f156b5e2d7 100644 --- a/Assets/Scripts/InteractionEngine/Gadgets/Gadget.cs +++ b/Assets/Scripts/InteractionEngine/Gadgets/Gadget.cs @@ -19,6 +19,7 @@ [JsonSubtypes.KnownSubType(typeof(Pendulum), "Pendulum")] [JsonSubtypes.KnownSubType(typeof(PoleTool), "PoleTool")] [JsonSubtypes.KnownSubType(typeof(Remover), "Remover")] +[JsonSubtypes.KnownSubType(typeof(EqualCircleGadget), "EqualCircles")] [JsonSubtypes.FallBackSubType(typeof(UndefinedGadget))] public abstract class Gadget { @@ -43,6 +44,7 @@ public enum GadgetIDs Pendulum = 5, PoleTool = 6, Remover = 7, + EqualCircles = 8, } public static Dictionary<Type, GadgetIDs> GadgetTypeToIDs = new(){ @@ -55,6 +57,7 @@ public enum GadgetIDs {typeof(Pendulum) , GadgetIDs.Pendulum }, {typeof(PoleTool) , GadgetIDs.PoleTool }, {typeof(Remover) , GadgetIDs.Remover }, + {typeof(EqualCircleGadget) , GadgetIDs.EqualCircles }, }; /// <summary> Position in tool belt. </summary> @@ -117,7 +120,7 @@ public void Init(bool overrite) return; } var GadgetID = GadgetTypeToIDs[this_type]; - + if (!GadgetBehaviour.DataContainerGadgetDict.ContainsKey(GadgetID)) { Debug.LogError("No " + GadgetID.ToString() + "in assigned " + typeof(DataContainerGadgetCollection).Name + "!"); @@ -183,10 +186,11 @@ public void Update() _Update(); } - public void Hit(RaycastHit hit) - { + public void Hit(RaycastHit[] hit) + { if (!CommunicationEvents.GadgetCanBeUsed - || hit.transform.position.y > MaxHeight) + //TODO: We should probably check all hits and sort out the "bad" ones + || hit[0].transform.position.y > MaxHeight) return; _Hit(hit); @@ -201,7 +205,7 @@ public virtual void _Update() { } /// Called when <see cref="CommunicationEvents.TriggerEvent"/> is invoked, a.k.a. when Player clicks in GameWorld. /// </summary> /// <param name="hit">the position where it was clicked</param> - public virtual void _Hit(RaycastHit hit) { } + public virtual void _Hit(RaycastHit[] hit) { } protected void ActivateLineDrawing() { @@ -245,4 +249,4 @@ public void ResetGadget() protected virtual void _ResetGadget() { } public class UndefinedGadget : Gadget { } -} \ No newline at end of file +} diff --git a/Assets/Scripts/InteractionEngine/Gadgets/LineTool.cs b/Assets/Scripts/InteractionEngine/Gadgets/LineTool.cs index 0cc4d828b4d51b4c1a443e621fc0bf5890e7a30a..2682c8ccdb30d5035ef5ea9e7e7112a7a2ae48ad 100644 --- a/Assets/Scripts/InteractionEngine/Gadgets/LineTool.cs +++ b/Assets/Scripts/InteractionEngine/Gadgets/LineTool.cs @@ -13,19 +13,22 @@ public class LineTool : Gadget //Cache for drawing Line private readonly Vector3[] LineOrigin = new Vector3[1]; - public override void _Hit(RaycastHit hit) + + + public override void _Hit(RaycastHit[] hit) { - if (hit.transform.gameObject.layer != LayerMask.NameToLayer("Point")) + + if (hit[0].transform.gameObject.layer != LayerMask.NameToLayer("Point")) return; - string tempFactId = hit.transform.GetComponent<FactObject>().URI; + string tempFactId = hit[0].transform.GetComponent<FactObject>().URI; if (!Workflow.Contains(tempFactId)) Workflow.Add(tempFactId); switch (Workflow.Count) { case 1: - LineOrigin[0] = hit.transform.position; + LineOrigin[0] = hit[0].transform.position; ActivateLineDrawing(); break; @@ -36,6 +39,7 @@ public override void _Hit(RaycastHit hit) } } + protected override void _ActivateLineDrawing() { GadgetBehaviour.LineRenderer.enabled = true; diff --git a/Assets/Scripts/InteractionEngine/Gadgets/LotTool.cs b/Assets/Scripts/InteractionEngine/Gadgets/LotTool.cs index 3bbe9476aa4a2653fa451ee101754c95f953595c..f643e57e9fca55146e685a6ccaf17e4147b1896c 100644 --- a/Assets/Scripts/InteractionEngine/Gadgets/LotTool.cs +++ b/Assets/Scripts/InteractionEngine/Gadgets/LotTool.cs @@ -18,7 +18,8 @@ public class LotTool : Gadget private Vector3 BaseLineHit; - public override void _Hit(RaycastHit hit) + + public override void _Hit(RaycastHit[] hit) { void CreateRayAndAngles(string IntersectionId, string LotPointId, bool samestep) { @@ -30,9 +31,10 @@ void CreateRayAndAngles(string IntersectionId, string LotPointId, bool samestep) , IntersectionId, LotPointId, samestep: true, gadget: this); } + string tempFactId = null; - if (!((LayerMask) hit.transform.gameObject.layer).IsAnyByName(new string[] { "Default", "Tree" }) - && (!hit.transform.TryGetComponent(out FactObject obj) + if (!((LayerMask) hit[0].transform.gameObject.layer).IsAnyByName(new string[] { "Default", "Tree" }) + && (!hit[0].transform.TryGetComponent(out FactObject obj) || Workflow.Contains(tempFactId = obj.URI))) return; @@ -47,7 +49,7 @@ void CreateRayAndAngles(string IntersectionId, string LotPointId, bool samestep) BaseLine = (AbstractLineFact) tempFact; BaseLineRoot = ((PointFact) StageStatic.stage.factState[BaseLine.Pid1]).Point; - BaseLineHit = hit.point; + BaseLineHit = hit[0].point; ActivateLineDrawing(); return; @@ -55,15 +57,15 @@ void CreateRayAndAngles(string IntersectionId, string LotPointId, bool samestep) if (tempFact is not PointFact) return; - IntersectionPoint = Math3d.ProjectPointOnLine(BaseLineRoot, BaseLine.Dir, hit.transform.position); - if (Math3d.IsApproximatelyEqual(IntersectionPoint, hit.transform.position)) + IntersectionPoint = Math3d.ProjectPointOnLine(BaseLineRoot, BaseLine.Dir, hit[0].transform.position); + if (Math3d.IsApproximatelyEqual(IntersectionPoint, hit[0].transform.position)) { // TempFact is on baseLine Workflow.Add(tempFactId); return; } else { // create perpendicular through existing Point off Line - Vector3 normal = Vector3.Cross(BaseLine.Dir, hit.transform.position - IntersectionPoint).normalized; + Vector3 normal = Vector3.Cross(BaseLine.Dir, hit[0].transform.position - IntersectionPoint).normalized; normal *= Mathf.Sign(Vector3.Dot(normal, Vector3.up)); // point up var intersectionId = FactManager.AddPointFact(IntersectionPoint, normal, gadget: this).Id; @@ -76,13 +78,14 @@ void CreateRayAndAngles(string IntersectionId, string LotPointId, bool samestep) break; case 2: // create perpendicular through new Point off Line - if (!((LayerMask) hit.transform.gameObject.layer).IsAnyByName(new string[] { "Default", "Tree" })) + if (!((LayerMask) hit[0].transform.gameObject.layer).IsAnyByName(new string[] { "Default", "Tree" })) return; - Vector3 LotPoint = Math3d.ProjectPointOnLine(hit.point, BaseLine.Dir, IntersectionPoint); - CreateRayAndAngles(Workflow[1], FactManager.AddPointFact(LotPoint, hit.normal, gadget: this).Id, true); + Vector3 LotPoint = Math3d.ProjectPointOnLine(hit[0].point, BaseLine.Dir, IntersectionPoint); + CreateRayAndAngles(Workflow[1], FactManager.AddPointFact(LotPoint, hit[0].normal, gadget: this).Id, true); ResetGadget(); return; + } } diff --git a/Assets/Scripts/InteractionEngine/Gadgets/Pendulum.cs b/Assets/Scripts/InteractionEngine/Gadgets/Pendulum.cs index a890d00aa66bebded17532c536ab8b9e51c71e72..8980cc4e9a17dd52acf0c761b054287472fd523e 100644 --- a/Assets/Scripts/InteractionEngine/Gadgets/Pendulum.cs +++ b/Assets/Scripts/InteractionEngine/Gadgets/Pendulum.cs @@ -15,18 +15,21 @@ public override void _Enable() ActivateLineDrawing(); } - public override void _Hit(RaycastHit hit) + + + public override void _Hit(RaycastHit[] hit) { - if (hit.transform.gameObject.layer != LayerMask.NameToLayer("Point")) + if (hit[0].transform.gameObject.layer != LayerMask.NameToLayer("Point")) return; //Raycast downwoard - if (Physics.Raycast(hit.transform.position, Vector3.down, out RaycastHit ground, Mathf.Infinity, this.SecondaryLayerMask.value)) + if (Physics.Raycast(hit[0].transform.position, Vector3.down, out RaycastHit ground, Mathf.Infinity, this.SecondaryLayerMask.value)) { - string tempFactId = hit.transform.GetComponent<FactObject>().URI; + string tempFactId = hit[0].transform.GetComponent<FactObject>().URI; Workflow.Add(tempFactId); FactManager.AddPointFact(ground, gadget: this); ResetGadget(); + } } diff --git a/Assets/Scripts/InteractionEngine/Gadgets/Pointer.cs b/Assets/Scripts/InteractionEngine/Gadgets/Pointer.cs index 8e84f00dade73a1cc6e6c462ddaba076d241dc2d..3b4fc008cc6a1fe37973e05fde68ababb125b7c3 100644 --- a/Assets/Scripts/InteractionEngine/Gadgets/Pointer.cs +++ b/Assets/Scripts/InteractionEngine/Gadgets/Pointer.cs @@ -9,21 +9,29 @@ public class Pointer : Gadget [Newtonsoft.Json.JsonProperty] protected static new string s_type = "Pointer"; - public override void _Hit(RaycastHit hit) - { - string pid = FactManager.AddPointFact(hit, gadget: this).Id; - if (hit.transform.gameObject.layer == LayerMask.NameToLayer("Ray")) + public override void _Hit(RaycastHit[] hit) + { + string pid = FactManager.AddPointFact(hit[0], gadget: this).Id; + for (int i = 0; i < hit.Length; i++) { - Workflow.Add(hit.transform.GetComponent<FactObject>().URI); - FactManager.AddOnLineFact - (pid - , Workflow[0] - , samestep: true - , gadget: this - , is_certain: false); + if (Mathf.Abs(hit[i].distance - hit[0].distance) > 0.03) + break; + + if (hit[i].transform.gameObject.layer == LayerMask.NameToLayer("Ray")) + { + Workflow.Add(hit[i].transform.GetComponent<FactObject>().URI); + FactManager.AddOnLineFact + (pid + , Workflow[0] + , samestep: true + , gadget: this + , is_certain: false); + } } + + ResetGadget(); } } diff --git a/Assets/Scripts/InteractionEngine/Gadgets/PoleTool.cs b/Assets/Scripts/InteractionEngine/Gadgets/PoleTool.cs index 13fcd4bbc5dbdd8f86dac776785e035d82c95040..a208558eea00f82cfb2150ef20ff3558d3ba5476 100644 --- a/Assets/Scripts/InteractionEngine/Gadgets/PoleTool.cs +++ b/Assets/Scripts/InteractionEngine/Gadgets/PoleTool.cs @@ -17,7 +17,8 @@ public override void _Enable() ActivateLineDrawing(); } - public override void _Hit(RaycastHit hit) + + public override void _Hit(RaycastHit[] hit) { if (!Physics.Raycast( GadgetBehaviour.Cursor.transform.position + Vector3.up * (float)Math3d.vectorPrecission @@ -27,15 +28,23 @@ public override void _Hit(RaycastHit hit) UpdateLineDrawing(); - if (hit.transform.gameObject.layer == LayerMask.NameToLayer("Point")) + + + if (hit[0].transform.gameObject.layer == LayerMask.NameToLayer("Point")) { - Workflow.Add(hit.transform.gameObject.GetComponent<FactObject>().URI); + + Workflow.Add(hit[0].transform.gameObject.GetComponent<FactObject>().URI); + //TODO check if below works else fix with the commented stuff + // var pid2 = FactManager.AddPointFact(linePositions[1], Vector3.up).Id; + // FactManager.AddLineFact(hit[0].transform.gameObject.GetComponent<FactObject>().URI, pid2, true); + var pid2 = FactManager.AddPointFact(GetPosition(1), Vector3.up, gadget: this).Id; FactManager.AddLineFact(Workflow[0], pid2, true, gadget: this); } else { - FactManager.AddPointFact(hit, gadget: this); + FactManager.AddPointFact(hit[0], gadget: this); + } ResetGadget(); @@ -53,6 +62,9 @@ protected override void _ActivateLineDrawing() //Updates the points of the Lines when baseLine was selected in LineMode protected override void _UpdateLineDrawing() { + + //TODO check whether this works else + // this.linePositions[0] = this.Cursor.transform.position; SetPosition(0, GadgetBehaviour.Cursor.transform.position); //Raycast upwoard diff --git a/Assets/Scripts/InteractionEngine/Gadgets/Remover.cs b/Assets/Scripts/InteractionEngine/Gadgets/Remover.cs index 355bedead12e5053d22275d3bf1cb6419632f83b..fe28c6689066565c9b9952459f3997db9edb1092 100644 --- a/Assets/Scripts/InteractionEngine/Gadgets/Remover.cs +++ b/Assets/Scripts/InteractionEngine/Gadgets/Remover.cs @@ -9,14 +9,18 @@ public class Remover : Gadget [Newtonsoft.Json.JsonProperty] protected static new string s_type = "Remover"; - public override void _Hit(RaycastHit hit) + + public override void _Hit(RaycastHit[] hit) { - string hid = hit.transform.GetComponent<FactObject>()?.URI; + // It's probably better to keep this only on the first hit and not multiple hits + string hid = hit[0].transform.GetComponent<FactObject>()?.URI; if (hid == null) return; Workflow.Add(hid); StageStatic.stage.factState.Remove(Workflow[0], samestep: false, gadget: this); + ResetGadget(); + } } diff --git a/Assets/Scripts/InteractionEngine/Gadgets/Tape.cs b/Assets/Scripts/InteractionEngine/Gadgets/Tape.cs index c7d40a617c63d902dc7d5ac7aa67a2290e81e152..9e3495458eaf6b8e9dc5f4df463d172cdfe01860 100644 --- a/Assets/Scripts/InteractionEngine/Gadgets/Tape.cs +++ b/Assets/Scripts/InteractionEngine/Gadgets/Tape.cs @@ -13,19 +13,19 @@ public class Tape : Gadget private readonly Vector3[] LineOrigin = new Vector3[1]; - public override void _Hit(RaycastHit hit) + public override void _Hit(RaycastHit[] hit) { - if (hit.transform.gameObject.layer != LayerMask.NameToLayer("Point")) + if (hit[0].transform.gameObject.layer != LayerMask.NameToLayer("Point")) return; - string tempFactId = hit.transform.GetComponent<FactObject>().URI; + string tempFactId = hit[0].transform.GetComponent<FactObject>().URI; if (!Workflow.Contains(tempFactId)) Workflow.Add(tempFactId); switch (Workflow.Count) { case 1: - LineOrigin[0] = hit.transform.position; + LineOrigin[0] = hit[0].transform.position; ActivateLineDrawing(); break; @@ -33,6 +33,7 @@ public override void _Hit(RaycastHit hit) FactManager.AddLineFact(Workflow[0], Workflow[1], gadget: this); ResetGadget(); return; + } } diff --git a/Assets/Scripts/InteractionEngine/WorldCursor.cs b/Assets/Scripts/InteractionEngine/WorldCursor.cs index ab79abbd80a6cea41ecb8f5ed9eb643aaf42283f..0a2e1c9d4b55a6f6e03d5b4b14a84e70eb4fb5f2 100644 --- a/Assets/Scripts/InteractionEngine/WorldCursor.cs +++ b/Assets/Scripts/InteractionEngine/WorldCursor.cs @@ -7,10 +7,16 @@ using UnityEngine.EventSystems; using static GadgetBehaviour; using UnityEngine.InputSystem; +//TODO check whether this can be deleted +//using System.Linq; +//using static GadgetManager; public class WorldCursor : MonoBehaviour { public RaycastHit Hit; + // TODO experimentell for multiple hits + public RaycastHit[] MultipleHits; + public string deactivateSnapKey; private Camera Cam; private int layerMask; @@ -40,6 +46,11 @@ public void setLayerMask(int layerMask) this.layerMask = layerMask; } + + + // working currently to include multiple hits + // TODO + void Update() { updateMaxRange(); @@ -64,37 +75,189 @@ void Update() && UIconfig.InputManagerVersion <= 3; //************************************************ - if (Physics.Raycast(ray, out Hit, MaxRange_, layerMask) - || (MaxRange_ <= GlobalBehaviour.GadgetPhysicalDistance - && Physics.Raycast(transform.position, Vector3.down, out Hit, GlobalBehaviour.GadgetPhysicalDistance, layerMask))) + + // in case we dont hit anything, just return + if (!(Physics.Raycast(ray, out Hit, MaxRange, layerMask) + || (MaxRange <= GlobalBehaviour.GadgetPhysicalDistance + && Physics.Raycast(transform.position, Vector3.down, out Hit, GlobalBehaviour.GadgetPhysicalDistance, layerMask)))) + return; + + if (UIconfig.InputManagerVersion == 1) + Input.GetButton(this.deactivateSnapKey); + + RaycastHit[] multipleHits = Physics.RaycastAll(ray, MaxRange, layerMask); + if (multipleHits.Length == 0) + multipleHits = Physics.RaycastAll(transform.position, Vector3.down, GlobalBehaviour.GadgetPhysicalDistance, layerMask); + + + + // sort multipleHits, so the first hit is still the closest + for (int i = 0; i < multipleHits.Length; i++) { - if (UIconfig.InputManagerVersion == 1) - Input.GetButton(this.deactivateSnapKey); + int minIdx = i; + float minValue = multipleHits[i].distance; - if ((Hit.collider.transform.CompareTag("SnapZone") || Hit.collider.transform.CompareTag("Selectable")) - && !deactSnapKey) - if (Hit.transform.TryGetComponent<FactObject>(out var obj) - && StageStatic.stage.factState[obj.URI] is AbstractLineFact lineFact) + for (int j = i; j < multipleHits.Length; j++) + { + if (multipleHits[j].distance < minValue) { - PointFact p1 = StageStatic.stage.factState[lineFact.Pid1] as PointFact; - Hit.point = Math3d.ProjectPointOnLine(p1.Point, lineFact.Dir, Hit.point); + minIdx = j; + minValue = multipleHits[j].distance; + } + + } + + RaycastHit buffer = multipleHits[minIdx]; + multipleHits[minIdx] = multipleHits[i]; + multipleHits[i] = buffer; + + } + + + for (int i = 0; i < multipleHits.Length; i++) + { + + // check whether we actually hit something + if (!((multipleHits[i].collider.transform.CompareTag("SnapZone") || multipleHits[i].collider.transform.CompareTag("Selectable")) + && (!deactSnapKey))) + continue; + + //TODO see whether the conditions needs to be adjusted + //if (Hit.transform.TryGetComponent<FactObject>(out var obj) + // && StageStatic.stage.factState[obj.URI] is AbstractLineFact lineFact) + + if (multipleHits[i].collider.gameObject.layer == LayerMask.NameToLayer("Ray") + || multipleHits[i].collider.gameObject.layer == LayerMask.NameToLayer("Line")) + { + var id = multipleHits[i].collider.gameObject.GetComponent<FactObject>().URI; + AbstractLineFact lineFact = StageStatic.stage.factState[id] as AbstractLineFact; + PointFact p1 = StageStatic.stage.factState[lineFact.Pid1] as PointFact; + + multipleHits[i].point = Math3d.ProjectPointOnLine(p1.Point, lineFact.Dir, multipleHits[i].point); + } + else if (multipleHits[i].collider.gameObject.layer == LayerMask.NameToLayer("Ring")) + { + #region Ring + var id = multipleHits[i].transform.GetComponent<FactObject>().URI; + CircleFact circleFact = StageStatic.stage.factState[id] as CircleFact; + Vector3 middlePoint = ((PointFact)StageStatic.stage.factState[circleFact.Pid1]).Point; + Vector3 edgePoint = ((PointFact)StageStatic.stage.factState[circleFact.Pid2]).Point; + var normal = circleFact.normal; + var radius = circleFact.radius; + + // project p on circlePlane + var q = multipleHits[i].point - middlePoint; + var dist = Vector3.Dot(q, normal); + var pPlane = multipleHits[i].point - (normal * dist); // p on circlePlane + + // check if projectedPoint and circleCenter are identical + // should never happen in practice due to floating point precision + if (pPlane == middlePoint) + { + // can be set to any point on the ring -> set to edgePoint + multipleHits[i].point = edgePoint; + return; + } else { - Hit.point = Hit.collider.transform.position; - Hit.normal = Vector3.up; + var direction = (pPlane - middlePoint).normalized; + multipleHits[i].point = middlePoint + direction * radius; } - transform.up = Hit.normal; - transform.position = Hit.point + .01f * Hit.normal; - //Link to CheckMouseButtonHandler - if (whichCheckMouseButton == 0) { CheckMouseButtons(); } - if (whichCheckMouseButton == 1) { CheckMouseButtons1(); } + // cursor orientation should match circle orientation; dont face downwards + if (normal.y < 0) // if normal faces downwards use inverted normal instead + multipleHits[i].normal = -normal; + else + multipleHits[i].normal = normal; + #endregion Ring + } + else if (multipleHits[i].collider.gameObject.layer == LayerMask.NameToLayer("Circle")) + { + #region Circle + var id = multipleHits[i].transform.GetComponent<FactObject>().URI; + CircleFact circleFact = StageStatic.stage.factState[id] as CircleFact; + Vector3 middlePoint = ((PointFact)StageStatic.stage.factState[circleFact.Pid1]).Point; + Vector3 edgePoint = ((PointFact)StageStatic.stage.factState[circleFact.Pid2]).Point; + var normal = circleFact.normal; + var radius = circleFact.radius; + + // project p on circlePlane + var q = multipleHits[i].point - middlePoint; + var dist = Vector3.Dot(q, normal); + var pPlane = multipleHits[i].point - (normal * dist); // p on circlePlane + multipleHits[i].point = pPlane; + + // cursor orientation should match circle orientation; dont face downwards + if (normal.y < 0) // if normal faces downwards use inverted normal instead + multipleHits[i].normal = -normal; + else + multipleHits[i].normal = normal; + #endregion Circle + } + else + { + multipleHits[i].point = multipleHits[i].collider.transform.position; + multipleHits[i].normal = Vector3.up; + } + + // checking for 2 lines intersection point + if (!((Mathf.Abs(multipleHits[i].distance - multipleHits[0].distance) < 0.03) + && (multipleHits.Length > 1) + && (Mathf.Abs(multipleHits[1].distance - multipleHits[0].distance) < 0.03))) + continue; + // we probably have two objects intersecting + + + // check for line x line intersection and if they actually intersect adjust the points coordinates :) + if (multipleHits[i].collider.gameObject.layer == LayerMask.NameToLayer("Ray") + && multipleHits[0].collider.gameObject.layer == LayerMask.NameToLayer("Ray")) + { + + // case for two intersecting rays + var idLine0 = multipleHits[0].collider.gameObject.GetComponent<FactObject>().URI; + var id = multipleHits[i].collider.gameObject.GetComponent<FactObject>().URI; + + // get the two corresponding line facts + AbstractLineFact lineFactLine0 = StageStatic.stage.factState[idLine0] as AbstractLineFact; + AbstractLineFact lineFact = StageStatic.stage.factState[id] as AbstractLineFact; + + // get a point on the line + PointFact p1Line0 = StageStatic.stage.factState[lineFactLine0.Pid1] as PointFact; + PointFact p1 = StageStatic.stage.factState[lineFact.Pid1] as PointFact; + + // get the intersection point and if it actually intersects set it + Vector3 intersectionPoint = Vector3.zero; + + if (Math3d.LineLineIntersection(out intersectionPoint, p1Line0.Point, lineFactLine0.Dir, p1.Point, lineFact.Dir)) + multipleHits[i].point = intersectionPoint; + + + } + //check for other types of intersection. Future Work + + } + + transform.up = multipleHits[0].normal ; + //TODO check whether this is needed + //if (!((multipleHits[0].collider.transform.CompareTag("SnapZone") || multipleHits[0].collider.transform.CompareTag("Selectable")) + // && !Input.GetButton(this.deactivateSnapKey))) + // transform.position += .01f * multipleHits[0].normal; + + transform.position = multipleHits[0].point + .01f * multipleHits[0].normal; + this.MultipleHits = multipleHits; + + + //Link to CheckMouseButtonHandler + if (whichCheckMouseButton == 0) { CheckMouseButtons(); } + if (whichCheckMouseButton == 1) { CheckMouseButtons1(); } + } + void updateMaxRange() { switch (UIconfig.GameplayMode) @@ -111,6 +274,7 @@ void updateMaxRange() break; } + MaxRange_ = UIconfig.interactingRangeMode switch { UIconfig.InteractingRangeMode.fromObserverView => @@ -118,29 +282,38 @@ void updateMaxRange() UIconfig.InteractingRangeMode.fromCharacterView or _ => MaxRange, }; + } + + + + //Check if left Mouse-Button was pressed and handle it void CheckMouseButtons() { if (Input.GetMouseButtonDown(0) && !EventSystem.current.IsPointerOverGameObject() //this prevents rays from shooting through ui && Hit.transform.gameObject.layer != LayerMask.NameToLayer("Water")) // not allowed to meassure on water - CommunicationEvents.TriggerEvent.Invoke(Hit); + CommunicationEvents.TriggerEvent.Invoke(MultipleHits); } //Check if left Mouse-Button was pressed and handle it //Alternative Version void CheckMouseButtons1(bool OnSnap = false, bool onLine = false) { + //TODO edit for the multiple hits. Right now it only checks the first hit + if (Input.GetMouseButtonDown(0) && checkClickPermission()) - { + { + //other Things todo first? if (Hit.collider.transform.CompareTag("NPC1_text") && UIconfig.nextDialogPlease < 2) { UIconfig.nextDialogPlease++; } + //if (EventSystem.current.IsPointerOverGameObject()) return; //this prevents rays from shooting through ui if (IsPointerOverUIObject()) return; //Needed for Android @@ -148,14 +321,15 @@ void CheckMouseButtons1(bool OnSnap = false, bool onLine = false) //if (Hit.transform.gameObject.layer == LayerMask.NameToLayer("TransparentFX")) return; // not allowed to meassure on TransparentFX if (!OnSnap) { - CommunicationEvents.TriggerEvent.Invoke(Hit); + CommunicationEvents.TriggerEvent.Invoke(MultipleHits); } else if (GadgetBehaviour.ActiveGadget is Pointer) { if (!onLine) Hit.collider.enabled = false; - CommunicationEvents.TriggerEvent.Invoke(Hit); + CommunicationEvents.TriggerEvent.Invoke(MultipleHits); // CommunicationEvents.SnapEvent.Invoke(Hit); } + } } diff --git a/Assets/Scripts/InventoryStuff/DisplayFacts.cs b/Assets/Scripts/InventoryStuff/DisplayFacts.cs index d1bedf7667c2d8be6f0b66dd7fbf4608ce04c4a5..ebd985102ffd8b0fa2cd7b4b1fec075313c235c3 100644 --- a/Assets/Scripts/InventoryStuff/DisplayFacts.cs +++ b/Assets/Scripts/InventoryStuff/DisplayFacts.cs @@ -10,13 +10,38 @@ public class DisplayFacts : MonoBehaviour public Dictionary<string, GameObject> displayedFacts = new(); + public Transform factscreenContent; + + [Header("FactPrefabs")] public GameObject prefab_Point; public GameObject prefab_Distance; public GameObject prefab_Angle; public GameObject prefab_Default; public GameObject prefab_OnLine; public GameObject prefab_Line; + public GameObject prefab_ParallelLineFact; + public GameObject prefab_RectangleFact; + public GameObject prefab_RadiusFact; + public GameObject prefab_AreaCircle; + public GameObject prefab_ConeVolume; + public GameObject prefab_OrthogonalCircleLine; + public GameObject prefab_TruncatedConeVolume; + public GameObject prefab_RightAngle; + public GameObject prefab_CylinderVolume; + public GameObject prefab_EqualFact; + public GameObject prefab_UnEqualFact; + + public GameObject prefab_TestFact; + + + + + + public GameObject prefab_CircleFact; + public GameObject prefab_OnCircleFact; + public GameObject prefab_AngleCircleLineFact; + [Header("Visualisation")] public int x_Start; public int y_Start; public int X_Pacece_Between_Items; @@ -31,12 +56,31 @@ void Start() {typeof(LineFact), prefab_Distance}, {typeof(RayFact), prefab_Line}, {typeof(AngleFact), prefab_Angle}, - {typeof(OnLineFact), prefab_OnLine} + {typeof(OnLineFact), prefab_OnLine}, + {typeof(ParallelLineFact), prefab_ParallelLineFact}, + + {typeof(CircleFact), prefab_CircleFact}, + {typeof(OnCircleFact), prefab_OnCircleFact}, + {typeof(AngleCircleLineFact), prefab_AngleCircleLineFact}, + {typeof(RadiusFact), prefab_RadiusFact}, + {typeof(AreaCircleFact), prefab_AreaCircle}, + {typeof(ConeVolumeFact), prefab_ConeVolume}, + {typeof(OrthogonalCircleLineFact), prefab_OrthogonalCircleLine }, + {typeof(TruncatedConeVolumeFact), prefab_TruncatedConeVolume }, + {typeof(RightAngleFact), prefab_RightAngle }, + {typeof(CylinderVolumeFact), prefab_CylinderVolume}, + {typeof(EqualCirclesFact), prefab_EqualFact }, + {typeof(UnEqualCirclesFact), prefab_UnEqualFact }, + + {typeof(TestFact), prefab_TestFact }, + + + }; var rect = GetComponent<RectTransform>(); x_Start = (int)(rect.rect.x + X_Pacece_Between_Items * .5f); - y_Start = (int)(-rect.rect.y - y_Pacece_Between_Items * .5f);//); + y_Start = (int)(-y_Pacece_Between_Items * .5f); number_of_Column = Mathf.Max(1, (int)(rect.rect.width / prefab_Point.GetComponent<RectTransform>().rect.width) - 1); AddFactEvent.AddListener(AddFact); @@ -46,8 +90,12 @@ void Start() public void AddFact(Fact fact) { var obj = CreateDisplay(transform, fact); - obj.GetComponent<RectTransform>().localPosition = GetPosition(displayedFacts.Count); + var rect = obj.GetComponent<RectTransform>(); + rect.anchorMin = new Vector2(0.5f, 1); + rect.anchorMax = new Vector2(0.5f, 1); + rect.localPosition = GetPosition(displayedFacts.Count); displayedFacts.Add(fact.Id, obj); + AdjustFactscreenContentHeight(); } public void RemoveFact(Fact fact) @@ -55,6 +103,7 @@ public void RemoveFact(Fact fact) GameObject.Destroy(displayedFacts[fact.Id]); displayedFacts.Remove(fact.Id); UpdatePositions(); + AdjustFactscreenContentHeight(); } public void UpdatePositions() @@ -71,7 +120,7 @@ public void AnimateFact(Fact fact) { private GameObject CreateDisplay(Transform transform, Fact fact) { - return fact.instantiateDisplay(prefabDictionary[fact.GetType()], transform); + return fact.instantiateDisplay(prefabDictionary[fact.GetType()], factscreenContent); } public Vector3 GetPosition(int i) @@ -79,4 +128,10 @@ public Vector3 GetPosition(int i) return new Vector3(x_Start + (X_Pacece_Between_Items * (i % number_of_Column)), y_Start + (-y_Pacece_Between_Items * (i / number_of_Column)), 0f); } + private void AdjustFactscreenContentHeight() + { + var rect = factscreenContent.GetComponent<RectTransform>(); + var height = (float)(y_Pacece_Between_Items * Math.Ceiling(((float)displayedFacts.Count / number_of_Column))); + rect.sizeDelta = new Vector2(rect.sizeDelta.x, height); + } } diff --git a/Assets/Scripts/InventoryStuff/DisplayScrolls.cs b/Assets/Scripts/InventoryStuff/DisplayScrolls.cs index dce0623d38197a3227a8269923d2592512f75de3..06dd4383778fa70370f6329073dcfdb3b2056bd5 100644 --- a/Assets/Scripts/InventoryStuff/DisplayScrolls.cs +++ b/Assets/Scripts/InventoryStuff/DisplayScrolls.cs @@ -18,6 +18,11 @@ public class DisplayScrolls : MonoBehaviour public GameObject ScrollPrefab; public GameObject DetailScreen; + + public Transform scrollscreenContent; + + + public int x_Start; public int y_Start; public int X_Pacece_Between_Items; @@ -27,7 +32,8 @@ public class DisplayScrolls : MonoBehaviour public Vector3 GetPosition(int i) { - return new Vector3(x_Start + (X_Pacece_Between_Items * (i % number_of_Column)), y_Start + (-y_Pacece_Between_Items * (i / number_of_Column)), 0f); + //return new Vector3(x_Start + (X_Pacece_Between_Items * (i % number_of_Column)), y_Start + (-y_Pacece_Between_Items * (i / number_of_Column)), 0f); + return Vector3.zero; } // Start is called before the first frame update @@ -102,9 +108,10 @@ void BuildScrolls(string jsonString) ScrollButtons = new GameObject[AllowedScrolls.Count()]; //Build Selection-GUI of Scrolls + for (int i = 0; i < AllowedScrolls.Count; i++) - { - var obj = Instantiate(ScrollPrefab, Vector3.zero, Quaternion.identity, transform); + { + var obj = Instantiate(ScrollPrefab, Vector3.zero, Quaternion.identity, scrollscreenContent); obj.GetComponent<RectTransform>().localPosition = GetPosition(i); obj.GetComponent<ScrollClickedScript>().scroll = AllowedScrolls[i]; obj.GetComponent<ScrollClickedScript>().DetailScreen = this.DetailScreen; diff --git a/Assets/Scripts/InventoryStuff/DragHandling.cs b/Assets/Scripts/InventoryStuff/DragHandling.cs index 878cc591d30553d33a2737d37226339bf4411900..8b51c3751be844dceefc13090ebd7cdd47b7dab6 100644 --- a/Assets/Scripts/InventoryStuff/DragHandling.cs +++ b/Assets/Scripts/InventoryStuff/DragHandling.cs @@ -4,34 +4,30 @@ public class DragHandling : MonoBehaviour, IDragHandler, IEndDragHandler { private Vector3 StartingPosition; + private Transform StartingParent; private bool dragged = false; public void OnDrag(PointerEventData eventData) { if (!dragged) { StartingPosition = transform.localPosition; + StartingParent = transform.parent; GetComponent<CanvasGroup>().blocksRaycasts = false; dragged = true; } transform.position = Input.mousePosition; + + // display dragged object in front of all other ui + transform.SetParent(GetComponentInParent<Canvas>().transform, false); + transform.SetAsLastSibling(); } public void OnEndDrag(PointerEventData eventData) { + transform.SetParent(StartingParent, false); transform.localPosition = StartingPosition; GetComponent<CanvasGroup>().blocksRaycasts = true; dragged = false; - } - // Start is called before the first frame update - void Start() - { - - } - - // Update is called once per frame - void Update() - { - } } diff --git a/Assets/Scripts/InventoryStuff/DropHandling.cs b/Assets/Scripts/InventoryStuff/DropHandling.cs index ca5985ed1c3efe05528c4dd1b55886c8d06cf001..e912243aa183b6682d4353fe2dfa49bb3482e737 100644 --- a/Assets/Scripts/InventoryStuff/DropHandling.cs +++ b/Assets/Scripts/InventoryStuff/DropHandling.cs @@ -24,10 +24,16 @@ public void OnDrop(PointerEventData eventData) current.transform.SetParent(gameObject.transform, false); + var rect = current.GetComponent<RectTransform>(); + rect.anchorMin = new Vector2(0.5f, 0.5f); + rect.anchorMax = new Vector2(0.5f, 0.5f); + currentFact = eventData.pointerDrag.GetComponent<FactWrapper>().fact; Debug.Log("recieved Fact: " + currentFact.Id); CommunicationEvents.NewAssignmentEvent.Invoke(); + + } public void OnPointerClick(PointerEventData eventData) diff --git a/Assets/Scripts/InventoryStuff/Items/images/AreaCircle.png b/Assets/Scripts/InventoryStuff/Items/images/AreaCircle.png new file mode 100644 index 0000000000000000000000000000000000000000..9e3e4deaf1c17adc153f1dc196cffe1361057353 --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/AreaCircle.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e85ea7a99252d5223b9c74eac532fd64716199578d5eaec3977915ba89f3d595 +size 9080 diff --git a/Assets/Scripts/InventoryStuff/Items/images/AreaCircle.png.meta b/Assets/Scripts/InventoryStuff/Items/images/AreaCircle.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..4381388c8a780fd6ef58796a6ea0fda5a2d07e0a --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/AreaCircle.png.meta @@ -0,0 +1,160 @@ +fileFormatVersion: 2 +guid: d03f90cb79e6fba4fb25edaf74ffeadd +TextureImporter: + internalIDToNameTable: + - first: + 213: 7482667652216324306 + second: Square + 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 + 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: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 4, y: 4, z: 4, w: 4} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 0 + 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: iPhone + 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: Android + 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: + - serializedVersion: 2 + name: Square + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 256 + height: 256 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2d009a6b596c7d760800000000000000 + internalID: 7482667652216324306 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: + - - {x: -128, y: 128} + - {x: -128, y: -128} + - {x: 128, y: -128} + - {x: 128, y: 128} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/InventoryStuff/Items/images/Circle.png b/Assets/Scripts/InventoryStuff/Items/images/Circle.png new file mode 100644 index 0000000000000000000000000000000000000000..aae726f0f85bda8c999c466bbd4af2751a34e72e --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/Circle.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69791f0db2f6778048742adfd02de9d1e894b06ddcfe8fd35948155531d8f89d +size 4780 diff --git a/Assets/Scripts/InventoryStuff/Items/images/Circle.png.meta b/Assets/Scripts/InventoryStuff/Items/images/Circle.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..63ba70f33b10d6dd528aab8a2276cee3ee3b4a29 --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/Circle.png.meta @@ -0,0 +1,160 @@ +fileFormatVersion: 2 +guid: 65d7b0853e3ee4845afbb16904fd7e11 +TextureImporter: + internalIDToNameTable: + - first: + 213: 7482667652216324306 + second: Square + 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 + 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: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 4, y: 4, z: 4, w: 4} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 0 + 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: iPhone + 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: Android + 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: + - serializedVersion: 2 + name: Square + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 256 + height: 256 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2d009a6b596c7d760800000000000000 + internalID: 7482667652216324306 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: + - - {x: -128, y: 128} + - {x: -128, y: -128} + - {x: 128, y: -128} + - {x: 128, y: 128} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/InventoryStuff/Items/images/ConeVolume.png b/Assets/Scripts/InventoryStuff/Items/images/ConeVolume.png new file mode 100644 index 0000000000000000000000000000000000000000..bf50bf040408f881dac1de7382c5f5e84fcfc7dd --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/ConeVolume.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4af053404a9ea5d779c7609289aa90e853ed0c21b31d7e06ec935be67c877332 +size 9099 diff --git a/Assets/Scripts/InventoryStuff/Items/images/ConeVolume.png.meta b/Assets/Scripts/InventoryStuff/Items/images/ConeVolume.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..6b2fafcdb0be03998bb23f00b1c66556127379bf --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/ConeVolume.png.meta @@ -0,0 +1,160 @@ +fileFormatVersion: 2 +guid: f580ba9d4e3825d49a5a7907d2a3f0c1 +TextureImporter: + internalIDToNameTable: + - first: + 213: 7482667652216324306 + second: Square + 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 + 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: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 4, y: 4, z: 4, w: 4} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 0 + 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: iPhone + 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: Android + 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: + - serializedVersion: 2 + name: Square + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 256 + height: 256 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2d009a6b596c7d760800000000000000 + internalID: 7482667652216324306 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: + - - {x: -128, y: 128} + - {x: -128, y: -128} + - {x: 128, y: -128} + - {x: 128, y: 128} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/InventoryStuff/Items/images/CylinderVolume.png b/Assets/Scripts/InventoryStuff/Items/images/CylinderVolume.png new file mode 100644 index 0000000000000000000000000000000000000000..c9e8a3bed314715a92181a994eb1ba54a4edfb12 --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/CylinderVolume.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d87a4e68d06f0b893cac704db6dae0028e96f580973a64c51c7391be4060e348 +size 9110 diff --git a/Assets/Scripts/InventoryStuff/Items/images/CylinderVolume.png.meta b/Assets/Scripts/InventoryStuff/Items/images/CylinderVolume.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..968784df09d3e23fed88191f5a968216b38747b3 --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/CylinderVolume.png.meta @@ -0,0 +1,160 @@ +fileFormatVersion: 2 +guid: 352d7dd2edb65f542aba25be27d20d98 +TextureImporter: + internalIDToNameTable: + - first: + 213: 7482667652216324306 + second: Square + 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 + 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: 1 + 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: 4, y: 4, z: 4, w: 4} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 0 + 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: iPhone + 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: Android + 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: + - serializedVersion: 2 + name: Square + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 256 + height: 256 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2d009a6b596c7d760800000000000000 + internalID: 7482667652216324306 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: + - - {x: -128, y: 128} + - {x: -128, y: -128} + - {x: 128, y: -128} + - {x: 128, y: 128} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/InventoryStuff/Items/images/Equal circles.png b/Assets/Scripts/InventoryStuff/Items/images/Equal circles.png new file mode 100644 index 0000000000000000000000000000000000000000..4c7447ff8c20b06f4275c30cbfd4162fa23be354 --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/Equal circles.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:343b28be0e1236cd895db0cb649cdabc190184380c8d533ac8ed7b2e972547d9 +size 4195 diff --git a/Assets/Scripts/InventoryStuff/Items/images/Equal circles.png.meta b/Assets/Scripts/InventoryStuff/Items/images/Equal circles.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..5d644fd95fb514899322b12933ae8cde679ffc14 --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/Equal circles.png.meta @@ -0,0 +1,160 @@ +fileFormatVersion: 2 +guid: ad920a8c90fd4c74ba95809d3e14e6b7 +TextureImporter: + internalIDToNameTable: + - first: + 213: 7482667652216324306 + second: Square + 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 + 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: 1 + 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: 4, y: 4, z: 4, w: 4} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 0 + 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: iPhone + 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: Android + 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: + - serializedVersion: 2 + name: Square + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 256 + height: 256 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2d009a6b596c7d760800000000000000 + internalID: 7482667652216324306 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: + - - {x: -128, y: 128} + - {x: -128, y: -128} + - {x: 128, y: -128} + - {x: 128, y: 128} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/InventoryStuff/Items/images/EqualCircles.png b/Assets/Scripts/InventoryStuff/Items/images/EqualCircles.png new file mode 100644 index 0000000000000000000000000000000000000000..81f9e621388f46adac2e3c9ae62ca44cceb34717 --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/EqualCircles.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b070fe424d90287456de9336e3a0e24d0bcf641979ffd6461716ec33ef4a121 +size 5597 diff --git a/Assets/Scripts/InventoryStuff/Items/images/EqualCircles.png.meta b/Assets/Scripts/InventoryStuff/Items/images/EqualCircles.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..851ff575ff9508e6505069c1d41d800a2740af54 --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/EqualCircles.png.meta @@ -0,0 +1,160 @@ +fileFormatVersion: 2 +guid: e35797aede3d7bd449ca9195a409b0cc +TextureImporter: + internalIDToNameTable: + - first: + 213: 7482667652216324306 + second: Square + 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 + 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: 1 + 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: 4, y: 4, z: 4, w: 4} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 0 + 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: iPhone + 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: Android + 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: + - serializedVersion: 2 + name: Square + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 256 + height: 256 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2d009a6b596c7d760800000000000000 + internalID: 7482667652216324306 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: + - - {x: -128, y: 128} + - {x: -128, y: -128} + - {x: 128, y: -128} + - {x: 128, y: 128} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/InventoryStuff/Items/images/On Circle.png b/Assets/Scripts/InventoryStuff/Items/images/On Circle.png new file mode 100644 index 0000000000000000000000000000000000000000..1e18d6b82486f3e89fd580789e1ce8da0a686111 --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/On Circle.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:919d2f4899174eef5894ae5fbf4829a0e5d586bace0e91fd72d740be6d080151 +size 4889 diff --git a/Assets/Scripts/InventoryStuff/Items/images/On Circle.png.meta b/Assets/Scripts/InventoryStuff/Items/images/On Circle.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..911305b050211ac015e57944168adc30c92e14ba --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/On Circle.png.meta @@ -0,0 +1,160 @@ +fileFormatVersion: 2 +guid: 6c88ce550ca6bd043a12bf7604475ded +TextureImporter: + internalIDToNameTable: + - first: + 213: 7482667652216324306 + second: Square + 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 + 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: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 256 + spriteBorder: {x: 4, y: 4, z: 4, w: 4} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 0 + 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: iPhone + 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: Android + 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: + - serializedVersion: 2 + name: Square + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 200 + height: 200 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2d009a6b596c7d760800000000000000 + internalID: 7482667652216324306 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: + - - {x: -128, y: 128} + - {x: -128, y: -128} + - {x: 128, y: -128} + - {x: 128, y: 128} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/InventoryStuff/Items/images/OnLine.png.meta b/Assets/Scripts/InventoryStuff/Items/images/OnLine.png.meta index 87866e9850843eb42cd01230430fd75f0c0d93d7..3af22541626da43d6a87021f0b05a9b6308caf63 100644 --- a/Assets/Scripts/InventoryStuff/Items/images/OnLine.png.meta +++ b/Assets/Scripts/InventoryStuff/Items/images/OnLine.png.meta @@ -1,9 +1,9 @@ fileFormatVersion: 2 guid: 0b5fd1ea5a3b1a74588f605621176b6a TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 9 + serializedVersion: 11 mipmaps: mipMapMode: 0 enableMipMap: 0 @@ -23,6 +23,7 @@ TextureImporter: isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,12 +32,12 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 + filterMode: 1 + aniso: 1 + mipBias: 0 wrapU: 1 wrapV: 1 - wrapW: -1 + wrapW: 0 nPOTScale: 0 lightmap: 0 compressionQuality: 50 @@ -54,11 +55,15 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 1 platformSettings: - - serializedVersion: 2 + - serializedVersion: 3 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,7 +74,8 @@ TextureImporter: allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 - - serializedVersion: 2 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,6 +86,7 @@ TextureImporter: allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] @@ -87,10 +94,12 @@ TextureImporter: physicsShape: [] bones: [] spriteID: 70ef2cb5a2d7bb147968b109ffa4e6bf + internalID: 0 vertices: [] indices: edges: [] weights: [] + secondaryTextures: [] spritePackingTag: pSDRemoveMatte: 0 pSDShowRemoveMatteOption: 0 diff --git a/Assets/Scripts/InventoryStuff/Items/images/OrthogonalCircleLineAngle.png b/Assets/Scripts/InventoryStuff/Items/images/OrthogonalCircleLineAngle.png new file mode 100644 index 0000000000000000000000000000000000000000..57367c5d2bfa6e873feed5bae1b852d51be25e4b --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/OrthogonalCircleLineAngle.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d44ef6d2acf45c4f4da99f4ef4a6523b19b6b51ce3f8393d7a6378492287cff9 +size 3922 diff --git a/Assets/Scripts/InventoryStuff/Items/images/OrthogonalCircleLineAngle.png.meta b/Assets/Scripts/InventoryStuff/Items/images/OrthogonalCircleLineAngle.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..cacba56f161b4f1196fa4dbc8b8bb78e6f0d0a83 --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/OrthogonalCircleLineAngle.png.meta @@ -0,0 +1,160 @@ +fileFormatVersion: 2 +guid: 66ba1c16426bcaf49baab37f47c67b47 +TextureImporter: + internalIDToNameTable: + - first: + 213: 7482667652216324306 + second: Square + 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 + 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: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 4, y: 4, z: 4, w: 4} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 0 + 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: iPhone + 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: Android + 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: + - serializedVersion: 2 + name: Square + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 200 + height: 200 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 1} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2d009a6b596c7d760800000000000000 + internalID: 7482667652216324306 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: + - - {x: -128, y: 128} + - {x: -128, y: -128} + - {x: 128, y: -128} + - {x: 128, y: 128} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/InventoryStuff/Items/images/ParallelLineFact.png b/Assets/Scripts/InventoryStuff/Items/images/ParallelLineFact.png new file mode 100644 index 0000000000000000000000000000000000000000..948d2d376f42e0a63b718b0ef67d8f15fe63369d --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/ParallelLineFact.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cc4b1052ed71a0d5dfce97e5d38a15ee6fbfcc0efa9f23d26450e54fce87569 +size 2777 diff --git a/Assets/Scripts/InventoryStuff/Items/images/ParallelLineFact.png.meta b/Assets/Scripts/InventoryStuff/Items/images/ParallelLineFact.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..3b652cd520d3b5fcde7e726436194519e5a3b89f --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/ParallelLineFact.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: bd545eec2c7bdde42957def5c75b4de8 +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 + 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: 100 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/InventoryStuff/Items/images/RadiusFactpic.png b/Assets/Scripts/InventoryStuff/Items/images/RadiusFactpic.png new file mode 100644 index 0000000000000000000000000000000000000000..194b33d7a2b45170425f4ce361f190ab7acdc1e7 --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/RadiusFactpic.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1d35fc05096e4a16ed6f1b6937509f9016862cbd0c16dade9630a97f92af0d1 +size 4896 diff --git a/Assets/Scripts/InventoryStuff/Items/images/RadiusFactpic.png.meta b/Assets/Scripts/InventoryStuff/Items/images/RadiusFactpic.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..c1ac6ee7573d50bd3b39893cbaac24363323ad89 --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/RadiusFactpic.png.meta @@ -0,0 +1,160 @@ +fileFormatVersion: 2 +guid: b85e914ced337ad4bbc40ad74c37da14 +TextureImporter: + internalIDToNameTable: + - first: + 213: 7482667652216324306 + second: Square + 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 + 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: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 4, y: 4, z: 4, w: 4} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 0 + 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: iPhone + 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: Android + 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: + - serializedVersion: 2 + name: Square + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 256 + height: 256 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2d009a6b596c7d760800000000000000 + internalID: 7482667652216324306 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: + - - {x: -128, y: 128} + - {x: -128, y: -128} + - {x: 128, y: -128} + - {x: 128, y: 128} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/InventoryStuff/Items/images/RightAngle.png b/Assets/Scripts/InventoryStuff/Items/images/RightAngle.png new file mode 100644 index 0000000000000000000000000000000000000000..32499d04bc04533dbe25164c16a7dbc428ccffc4 --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/RightAngle.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17da7178bb5414afc5524d7ae48c3f897c6ddffe167e8805b11c02eb261e0715 +size 4990 diff --git a/Assets/Scripts/InventoryStuff/Items/images/RightAngle.png.meta b/Assets/Scripts/InventoryStuff/Items/images/RightAngle.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..8924249376195c4871fb4dfe857c836fcaa40de9 --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/RightAngle.png.meta @@ -0,0 +1,160 @@ +fileFormatVersion: 2 +guid: 2f972a9b017f79a43a7e95eeddebd66b +TextureImporter: + internalIDToNameTable: + - first: + 213: 7482667652216324306 + second: Square + 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 + 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: 1 + 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: 4, y: 4, z: 4, w: 4} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 0 + 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: iPhone + 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: Android + 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: + - serializedVersion: 2 + name: Square + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 256 + height: 256 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2d009a6b596c7d760800000000000000 + internalID: 7482667652216324306 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: + - - {x: -128, y: 128} + - {x: -128, y: -128} + - {x: 128, y: -128} + - {x: 128, y: 128} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/InventoryStuff/Items/images/Square 1.png b/Assets/Scripts/InventoryStuff/Items/images/Square 1.png new file mode 100644 index 0000000000000000000000000000000000000000..de8b287e5cdd1960d00e9ff29a3b04240b3096c2 --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/Square 1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44f9592db7d11d11ed58c7cad12e35925d9974d6576fb0951b4fa0cd7c6eaf10 +size 2097 diff --git a/Assets/Scripts/InventoryStuff/Items/images/Square 1.png.meta b/Assets/Scripts/InventoryStuff/Items/images/Square 1.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..bb617e1c47083117972bb9d5a7a601a7a608250d --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/Square 1.png.meta @@ -0,0 +1,160 @@ +fileFormatVersion: 2 +guid: 38e2fa15ef15b6443a43f2b04c6475e1 +TextureImporter: + internalIDToNameTable: + - first: + 213: 7482667652216324306 + second: Square + 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 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 256 + spriteBorder: {x: 4, y: 4, z: 4, w: 4} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 0 + 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: iPhone + 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: Android + 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: + - serializedVersion: 2 + name: Square + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 256 + height: 256 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2d009a6b596c7d760800000000000000 + internalID: 7482667652216324306 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: + - - {x: -128, y: 128} + - {x: -128, y: -128} + - {x: 128, y: -128} + - {x: 128, y: 128} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/InventoryStuff/Items/images/Square.png b/Assets/Scripts/InventoryStuff/Items/images/Square.png new file mode 100644 index 0000000000000000000000000000000000000000..1e18d6b82486f3e89fd580789e1ce8da0a686111 --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/Square.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:919d2f4899174eef5894ae5fbf4829a0e5d586bace0e91fd72d740be6d080151 +size 4889 diff --git a/Assets/Scripts/InventoryStuff/Items/images/Square.png.meta b/Assets/Scripts/InventoryStuff/Items/images/Square.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..e461df4f5ab762b50a67ca4414144142caf3e98c --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/Square.png.meta @@ -0,0 +1,160 @@ +fileFormatVersion: 2 +guid: 95d8fa087e815214dbf6e4d75891106f +TextureImporter: + internalIDToNameTable: + - first: + 213: 7482667652216324306 + second: Square + 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 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 256 + spriteBorder: {x: 4, y: 4, z: 4, w: 4} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 0 + 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: iPhone + 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: Android + 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: + - serializedVersion: 2 + name: Square + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 256 + height: 256 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2d009a6b596c7d760800000000000000 + internalID: 7482667652216324306 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: + - - {x: -128, y: 128} + - {x: -128, y: -128} + - {x: 128, y: -128} + - {x: 128, y: 128} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/InventoryStuff/Items/images/TruncatedConeVolume.png b/Assets/Scripts/InventoryStuff/Items/images/TruncatedConeVolume.png new file mode 100644 index 0000000000000000000000000000000000000000..2c9f437f21a4542bdca09cf0b6729794571bb7d9 --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/TruncatedConeVolume.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c21b505f16efe44a3ee171d3f386caf739609c3d289cb877879c16543abdeb18 +size 10296 diff --git a/Assets/Scripts/InventoryStuff/Items/images/TruncatedConeVolume.png.meta b/Assets/Scripts/InventoryStuff/Items/images/TruncatedConeVolume.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..1be7c88768c705ba2118c77b87b2d4d598f9c62c --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/TruncatedConeVolume.png.meta @@ -0,0 +1,160 @@ +fileFormatVersion: 2 +guid: fde0a14086151274a9d464a3d51c5e0f +TextureImporter: + internalIDToNameTable: + - first: + 213: 7482667652216324306 + second: Square + 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 + 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: 1 + 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: 4, y: 4, z: 4, w: 4} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 0 + 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: iPhone + 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: Android + 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: + - serializedVersion: 2 + name: Square + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 256 + height: 256 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2d009a6b596c7d760800000000000000 + internalID: 7482667652216324306 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: + - - {x: -128, y: 128} + - {x: -128, y: -128} + - {x: 128, y: -128} + - {x: 128, y: 128} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/InventoryStuff/Items/images/UnEqualCircles.png b/Assets/Scripts/InventoryStuff/Items/images/UnEqualCircles.png new file mode 100644 index 0000000000000000000000000000000000000000..e02ce064b42778cfbd2723ed74948444ae74559a --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/UnEqualCircles.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52c24e7bc4c60fe36a9ee12a15014f727118c73878924eb476910a510afcdbdf +size 4418 diff --git a/Assets/Scripts/InventoryStuff/Items/images/UnEqualCircles.png.meta b/Assets/Scripts/InventoryStuff/Items/images/UnEqualCircles.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..e2d5580e947f42d0ca4c8d1363f5d3fd6674a6de --- /dev/null +++ b/Assets/Scripts/InventoryStuff/Items/images/UnEqualCircles.png.meta @@ -0,0 +1,160 @@ +fileFormatVersion: 2 +guid: 269651011d5ec79458964edbef59ae70 +TextureImporter: + internalIDToNameTable: + - first: + 213: 7482667652216324306 + second: Square + 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 + 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: 1 + 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: 4, y: 4, z: 4, w: 4} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 0 + 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: iPhone + 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: Android + 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: + - serializedVersion: 2 + name: Square + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 256 + height: 256 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 2d009a6b596c7d760800000000000000 + internalID: 7482667652216324306 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: + - - {x: -128, y: 128} + - {x: -128, y: -128} + - {x: 128, y: -128} + - {x: 128, y: 128} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/InventoryStuff/Scroll.cs b/Assets/Scripts/InventoryStuff/Scroll.cs index 903564e8e1390442be7ce7f4d289079973c1e360..4b351ebd16a7778a9f73b2eb688015064db9b1cb 100644 --- a/Assets/Scripts/InventoryStuff/Scroll.cs +++ b/Assets/Scripts/InventoryStuff/Scroll.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using static JSONManager; + public class Scroll { public string @ref; @@ -40,6 +41,8 @@ public abstract class ScrollFact public string label; public abstract String getType(); + + public abstract String getApplicant(); } public class UriReference @@ -69,6 +72,18 @@ public override String getType() else return null; } + + public override String getApplicant() + { + //Debug.Log(" Check " + this.tp is OMS + " and " + this.tp is OMA + " and " + this.tp is OMSTR + " or " + this.tp is OMF); + // return ((OMS)((OMA)((OMA)this.tp).arguments[0]).arguments[0]).uri; + if (this.df is OMA && ((OMA)this.df).applicant is OMS) + return ((OMS)((OMA)this.df).applicant).uri; + + + return null ;// ((OMS)((OMA)((OMA)this.df).arguments[0]).applicant).uri; + + } } /** @@ -88,6 +103,14 @@ public override String getType() else return null; } + public override String getApplicant() + { + // TODO Test this + if (this.lhs is OMA & (((OMA)this.lhs).applicant is OMS)) + return ((OMS)((OMA)this.lhs).applicant).uri; + return null; + } + } public class ScrollAssignment diff --git a/Assets/Scripts/InventoryStuff/ScrollClickedScript.cs b/Assets/Scripts/InventoryStuff/ScrollClickedScript.cs index 2dbf5d8de8db58dd33ef908163df295d4329e08c..a4316586ebf78d736b22feede12b933375a9982e 100644 --- a/Assets/Scripts/InventoryStuff/ScrollClickedScript.cs +++ b/Assets/Scripts/InventoryStuff/ScrollClickedScript.cs @@ -1,11 +1,12 @@ using UnityEngine; +using UnityEngine.EventSystems; -public class ScrollClickedScript : MonoBehaviour +public class ScrollClickedScript : MonoBehaviour, IPointerDownHandler { public Scroll scroll; public GameObject DetailScreen; - public void onClick() + public void OnPointerDown(PointerEventData eventData) { this.DetailScreen.GetComponent<ScrollDetails>().setScroll(this.scroll); } diff --git a/Assets/Scripts/InventoryStuff/ScrollDetails.cs b/Assets/Scripts/InventoryStuff/ScrollDetails.cs index 8b99675fb6d120cdcee714dd48c7ada5eda6bdf4..4017be6b644d75c0d9265a8e55216095aac39d71 100644 --- a/Assets/Scripts/InventoryStuff/ScrollDetails.cs +++ b/Assets/Scripts/InventoryStuff/ScrollDetails.cs @@ -75,6 +75,7 @@ IEnumerator magicButton() } else { + Debug.Log(currentMmtAnswer); Scroll.ScrollApplicationInfo pushout = JsonConvert.DeserializeObject<Scroll.ScrollApplicationInfo>(currentMmtAnswer); readPushout(pushout.acquiredFacts); } @@ -93,9 +94,12 @@ IEnumerator newAssignment() if (currentMmtAnswer == null) { Debug.Log("DAS HAT NICHT GEKLAPPT"); + } else { + // Todo delte maybe + Debug.Log("Current mmt answer: "+currentMmtAnswer); Scroll.ScrollDynamicInfo scrollDynamicInfo = JsonConvert.DeserializeObject<Scroll.ScrollDynamicInfo>(currentMmtAnswer); processScrollDynamicInfo(scrollDynamicInfo); } @@ -104,11 +108,22 @@ IEnumerator newAssignment() IEnumerator sendView(string endpoint) { string body = prepareScrollAssignments(); + System.DateTime startTime = System.DateTime.UtcNow; using UnityWebRequest www = UnityWebRequest.Put(ServerAdress + endpoint, body); www.method = UnityWebRequest.kHttpVerbPOST; www.SetRequestHeader("Content-Type", "application/json"); yield return www.SendWebRequest(); + //TODO delete below if above works fine + // UnityWebRequest www = UnityWebRequest.Put(ServerAdress + endpoint, body); + // www.method = UnityWebRequest.kHttpVerbPOST; + // www.SetRequestHeader("Content-Type", "application/json"); + // var async = www.SendWebRequest(); + // while (!async.isDone) { + //Non blocking wait for one frame, for letting the game do other things + // yield return null; + // } + System.DateTime twoTime = System.DateTime.UtcNow; if (www.result == UnityWebRequest.Result.ConnectionError || www.result == UnityWebRequest.Result.ProtocolError) @@ -119,9 +134,14 @@ IEnumerator sendView(string endpoint) else { string answer = www.downloadHandler.text; - Debug.Log(answer); currentMmtAnswer = answer; } + System.DateTime endTime = System.DateTime.UtcNow; + + string diffInSeconds = (endTime -startTime).TotalMilliseconds.ToString(); + string diff = (twoTime - startTime).TotalMilliseconds.ToString(); + + } private string prepareScrollAssignments() @@ -155,6 +175,11 @@ private void readPushout(List<Scroll.ScrollFact> pushoutFacts) bool samestep = false; for (int i = 0; i < pushoutFacts.Count; i++, samestep = true) { + //TODO Delete + //Debug.Log(pushoutFacts.Count); + //Debug.Log("StartUri " +pushoutFacts[i].getType()+ " over"); + //Debug.Log("Applicant" + pushoutFacts[i].getApplicant() + " over"); + string type = pushoutFacts[i].getType(); Fact newFact = ParsingDictionary.parseFactDictionary[pushoutFacts[i].getType()].Invoke(pushoutFacts[i]); if (newFact != null) { @@ -214,6 +239,8 @@ public List<string> processRenderedScroll(Scroll rendered, List<string> hintUris //Check Hint Informations //If ScrollFact is assigned -> No Hint if (obj.transform.GetChild(0).GetComponent<DropHandling>().currentFact == null) { + + // Debug.Log(" print out " + rendered.requiredFacts[i].getType()); Fact currentFact = ParsingDictionary.parseFactDictionary[rendered.requiredFacts[i].getType()].Invoke(rendered.requiredFacts[i]); //If currentFact could be parsed: this fact maybe not yet exists in the global fact-list but there must be a fact // of the same type and the same dependent facts in the fact-list, otherwise currentFact could not have been parsed diff --git a/Assets/Scripts/JSONManager.cs b/Assets/Scripts/JSONManager.cs index 5c75e5ded434533311ccb5c95f347eb55a2b8def..1d9b3f3cfbf65a563a3fc505f874f83de8e81bf9 100644 --- a/Assets/Scripts/JSONManager.cs +++ b/Assets/Scripts/JSONManager.cs @@ -4,23 +4,58 @@ + public static class JSONManager { + + public static class MMTURIs { - public const string Tuple = "http://gl.mathhub.info/MMT/LFX/Sigma?Symbols?Tuple"; public const string Point = "http://mathhub.info/MitM/core/geometry?3DGeometry?point"; + public const string Tuple = "http://gl.mathhub.info/MMT/LFX/Sigma?Symbols?Tuple"; public const string LineType = "http://mathhub.info/MitM/core/geometry?Geometry/Common?line_type"; public const string LineOf = "http://mathhub.info/MitM/core/geometry?Geometry/Common?lineOf"; + public const string OnLine = "http://mathhub.info/MitM/core/geometry?Geometry/Common?onLine"; - public const string Metric = "http://mathhub.info/MitM/core/geometry?Geometry/Common?metric"; - public const string Angle = "http://mathhub.info/MitM/core/geometry?Geometry/Common?angle_between"; public const string Ded = "http://mathhub.info/MitM/Foundation?Logic?ded"; public const string Eq = "http://mathhub.info/MitM/Foundation?Logic?eq"; + public const string Metric = "http://mathhub.info/MitM/core/geometry?Geometry/Common?metric"; + public const string Angle = "http://mathhub.info/MitM/core/geometry?Geometry/Common?angle_between"; public const string Sketch = "http://mathhub.info/MitM/Foundation?InformalProofs?proofsketch"; public const string RealLit = "http://mathhub.info/MitM/Foundation?RealLiterals?real_lit"; + + public const string ParallelLine = "http://mathhub.info/MitM/core/geometry?Geometry/Common?parallelLine"; + // public string RectangleFact = "http://mathhub.info/FrameIT/frameworld?FrameITRectangles?rectangleType"; + // public string RectangleFactmk = "http://mathhub.info/FrameIT/frameworld?FrameITRectangles?mkRectangle"; + + public const string CircleType3d = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?circleType3D"; + public const string MkCircle3d = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?circle3D"; + public const string TriangleMiddlePoint = "http://mathhub.info/FrameIT/frameworld?FrameITTriangles?triangleMidPointWrapper"; + public const string RadiusCircleMetric = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?circleRadius"; + + public const string AreaCircle = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?areaCircle"; + public const string VolumeCone = "http://mathhub.info/FrameIT/frameworld?FrameITCone?volumeCone"; + public const string ConeOfCircleApex = "http://mathhub.info/FrameIT/frameworld?FrameITCone?circleConeOf"; + + public const string ParametrizedPlane = "http://mathhub.info/MitM/core/geometry?Planes?ParametrizedPlane"; + public const string pointNormalPlane = "http://mathhub.info/MitM/core/geometry?Planes?pointNormalPlane"; + public const string OnCircle = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?pointOnCircle"; + public const string AnglePlaneLine = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?angleCircleLine"; + public const string OrthoCircleLine = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?orthogonalCircleLine"; + + public const string TruncatedVolumeCone = "http://mathhub.info/FrameIT/frameworld?FrameITCone?truncatedConeVolume"; + public const string CylinderVolume = "http://mathhub.info/FrameIT/frameworld?FrameITCylinder?cylinderVolume"; + public const string EqualityCircles = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?equalityCircles"; + public const string UnEqualityCircles = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?unequalityCircles"; + + public const string ParallelCircles = "http://mathhub.info/FrameIT/frameworld?FrameITCone?parallelCircles"; + public const string RightAngle = "http://mathhub.info/FrameIT/frameworld?FrameITBasics?rightAngle"; + + public const string TestType = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?xcircleType3D"; + } + public class URI { public string uri; @@ -47,6 +82,8 @@ public OMA(MMTTerm applicant, List<MMTTerm> arguments) this.applicant = applicant; this.arguments = arguments; } + + } public class OMS : MMTTerm diff --git a/Assets/Scripts/MeshGenerator.meta b/Assets/Scripts/MeshGenerator.meta new file mode 100644 index 0000000000000000000000000000000000000000..89bb05c3cc8024bb76ff0c3f3adbd5e610971d52 --- /dev/null +++ b/Assets/Scripts/MeshGenerator.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5b58b5e5719ff2c42b415975c4c578f6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MeshGenerator/CircleGenerator.cs b/Assets/Scripts/MeshGenerator/CircleGenerator.cs new file mode 100644 index 0000000000000000000000000000000000000000..34dd152c59c69f8486739673340754355b2f41de --- /dev/null +++ b/Assets/Scripts/MeshGenerator/CircleGenerator.cs @@ -0,0 +1,54 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System.Linq; + +public class CircleGenerator : ShapeGenerator +{ + #region InspectorVariables + [Header("Circle values")] + [Range(0,100)] public Vector3 midPoint = Vector3.zero; + [Range(0,100)] public float radius = 1f; + + [Header("Technical")] + [Range(3,1000)] public int sideCount = 500; + + [Header("Parts")] + public MeshFilter circleMesh; + #endregion InspectorVariables + + #region Implementation + protected override void GenerateShape() + { + var circle = CreateCircle(radius, sideCount); + + if (circleMesh.sharedMesh != null) + circleMesh.sharedMesh.Clear(); + circleMesh.mesh = CreateMesh(circle); + + if (circleMesh.transform.TryGetComponent(out MeshCollider meshCol)) + meshCol.sharedMesh = circleMesh.sharedMesh; + } + + /// <summary> + /// Creates circle vertecies and triangles around the midPoint at (0,0,0) + /// </summary> + /// <param name="points"></param> + /// <param name="invert"></param> + /// <returns></returns> + static (Vector3[], int[]) CreateCircle(float radius, int sideCount, bool invert = false) + { + Vector3[] vertices = GetCirclePoints(radius, sideCount).Union(new Vector3[] { Vector3.zero }).ToArray(); + int[] triangles = new int[(vertices.Length - 1) * 3]; + int vertLen = vertices.Length; + for (int i = 0; i < vertLen-1; i++) + { + triangles[i * 3 + 0] = vertLen-1; // midPoint + triangles[i * 3 + 1] = i; + triangles[i * 3 + 2] = (i + 1) % (vertLen-1); + } + return (vertices, invert ? triangles.Reverse().ToArray() : triangles); + } + #endregion Implementation +} diff --git a/Assets/Scripts/MeshGenerator/CircleGenerator.cs.meta b/Assets/Scripts/MeshGenerator/CircleGenerator.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..541b038577a6b0b8128bdf423ee60d7ebe14a7f1 --- /dev/null +++ b/Assets/Scripts/MeshGenerator/CircleGenerator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 405087c38b8537e43bcc99727c5325ec +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/CircleSegmentGenerator.cs b/Assets/Scripts/MeshGenerator/CircleSegmentGenerator.cs similarity index 100% rename from Assets/Scripts/CircleSegmentGenerator.cs rename to Assets/Scripts/MeshGenerator/CircleSegmentGenerator.cs diff --git a/Assets/Scripts/CircleSegmentGenerator.cs.meta b/Assets/Scripts/MeshGenerator/CircleSegmentGenerator.cs.meta similarity index 100% rename from Assets/Scripts/CircleSegmentGenerator.cs.meta rename to Assets/Scripts/MeshGenerator/CircleSegmentGenerator.cs.meta diff --git a/Assets/Scripts/MeshGenerator/ConeGenerator.cs b/Assets/Scripts/MeshGenerator/ConeGenerator.cs new file mode 100644 index 0000000000000000000000000000000000000000..717cd56f47be2883e74198b4da2007083e828bdf --- /dev/null +++ b/Assets/Scripts/MeshGenerator/ConeGenerator.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System.Linq; + +public class ConeGenerator : ShapeGenerator +{ + #region InspectorVariables + [Header("Cone values")] + [Range(0,100)] public float bottomRadius = 1f; + [Range(0,100)] public float topRadius = 0f; + public Vector3 topPosition = new Vector3(0, 1f, 0); + + [Header("Technical")] + [Range(3,1000)] public int sideCount = 500; + public bool generateTop = true; + public bool generateBottom = false; + + [Header("Parts")] + public MeshFilter topMesh; + public MeshFilter sideMesh; + public MeshFilter bottomMesh; + #endregion InspectorVariables + + #region Implementation + protected override void GenerateShape() + { + Vector3[] bottomCircle = GetCirclePoints(bottomRadius, sideCount); + Vector3[] topCircle = GetCirclePoints(topRadius, sideCount, topPosition); + + //side + if (sideMesh.sharedMesh != null) + sideMesh.sharedMesh.Clear(); + sideMesh.mesh = CreateMesh(CreateConeSide(sideCount, bottomCircle, topCircle)); + + //top + if (topMesh.sharedMesh != null) + topMesh.sharedMesh.Clear(); + if (generateTop) + topMesh.mesh = CreateMesh(CreatePlane(topCircle, false)); + + //bottom + if (bottomMesh.sharedMesh != null) + bottomMesh.sharedMesh.Clear(); + if (generateBottom) + bottomMesh.mesh = CreateMesh(CreatePlane(bottomCircle, true)); + } + + private static (Vector3[], int[]) CreateConeSide(int sideCount, Vector3[] bottomCircle, Vector3[] topCircle) + { + Vector3[] vertices = new Vector3[sideCount * 4]; + int[] triangles = new int[sideCount * 6]; + + //generate vertices + for (int i = 0; i < sideCount; i++) + { + vertices[i * 4] = bottomCircle[i]; + vertices[i * 4 + 1] = bottomCircle[(i + 1) % sideCount]; + vertices[i * 4 + 2] = topCircle[i]; + vertices[i * 4 + 3] = topCircle[(i + 1) % sideCount]; + } + + //generate triangles + for (int t = 0, i = 0; t < triangles.Length; t += 6, i += 4) + { + triangles[t] = i; + triangles[t + 1] = i + 1; + triangles[t + 2] = i + 2; + + triangles[t + 3] = i + 1; + triangles[t + 4] = i + 3; + triangles[t + 5] = i + 2; + } + + return (vertices, triangles); + } + #endregion Implementation +} diff --git a/Assets/Scripts/MeshGenerator/ConeGenerator.cs.meta b/Assets/Scripts/MeshGenerator/ConeGenerator.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..051f14ed236df585c4974baea7529a8e48ec2114 --- /dev/null +++ b/Assets/Scripts/MeshGenerator/ConeGenerator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 171f36100fbf6384591cca35fc917317 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MeshGenerator/ShapeGenerator.cs b/Assets/Scripts/MeshGenerator/ShapeGenerator.cs new file mode 100644 index 0000000000000000000000000000000000000000..7bcddfc85be4f0d415d98016f6bc46114129cb28 --- /dev/null +++ b/Assets/Scripts/MeshGenerator/ShapeGenerator.cs @@ -0,0 +1,55 @@ +using System.Linq; +using UnityEngine; + +public abstract class ShapeGenerator : MonoBehaviour +{ + #region UnityMethods + void Start() => GenerateShape(); + + void OnValidate() => GenerateShape(); + #endregion UnityMethods + + protected abstract void GenerateShape(); + + #region Helper + protected static Mesh CreateMesh((Vector3[] vertices, int[] triangles) meshValues) + { + Mesh mesh = new Mesh(); + (mesh.vertices, mesh.triangles) = (meshValues.vertices, meshValues.triangles); + mesh.RecalculateNormals(); //fix lighting + return mesh; + } + + protected static Vector3[] GetCirclePoints(float circleRadius, int pointCount) => GetCirclePoints(circleRadius, pointCount, Vector3.zero); + protected static Vector3[] GetCirclePoints(float circleRadius, int pointCount, Vector3 offset) + { + Vector3[] circle = new Vector3[pointCount]; + float slice = (2f * Mathf.PI) / pointCount; + for (int i = 0; i < pointCount; i++) + { + float angle = i * slice; + circle[i] = new Vector3(circleRadius * Mathf.Sin(angle), 0, circleRadius * Mathf.Cos(angle)) + offset; + } + return circle; + } + + /// <summary> + /// Creates triangles for a set of vertecies of a flat, convex shape + /// </summary> + /// <param name="points"></param> + /// <param name="invert"></param> + /// <returns></returns> + protected static (Vector3[], int[]) CreatePlane(Vector3[] points, bool invert = false) + { + Vector3[] vertices = points; + int[] triangles = new int[(vertices.Length - 2) * 3]; + for (int i = 1; i < vertices.Length - 1; i++) + { + triangles[(i - 1) * 3 + 0] = 0; + triangles[(i - 1) * 3 + 1] = i; + triangles[(i - 1) * 3 + 2] = (i + 1); + } + return (vertices, invert ? triangles.Reverse().ToArray() : triangles); + } + #endregion Helper +} diff --git a/Assets/Scripts/MeshGenerator/ShapeGenerator.cs.meta b/Assets/Scripts/MeshGenerator/ShapeGenerator.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..801bbbe10d583d40817cf8fd256a9ae0e50875cf --- /dev/null +++ b/Assets/Scripts/MeshGenerator/ShapeGenerator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 931a85887ddf84f42879941013774a43 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MeshGenerator/TorusGenerator.cs b/Assets/Scripts/MeshGenerator/TorusGenerator.cs new file mode 100644 index 0000000000000000000000000000000000000000..95ef7746d9b72022d148fa987423136440778261 --- /dev/null +++ b/Assets/Scripts/MeshGenerator/TorusGenerator.cs @@ -0,0 +1,73 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System.Linq; +using System; + +public class TorusGenerator : ShapeGenerator +{ + #region InspectorVariables + [Header("Torus values")] + [Range(0, 100)] public float torusRadius = 1f; + [Range(0, 10)] public float ringRadius = 0.1f; + + [Header("Technical")] + [Range(8, 150)] public int ringSegmentCount = 50; + [Range(3, 100)] public int segmentSideCount = 30; + + [Header("Parts")] + public MeshFilter torusMesh; + #endregion InspectorVariables + + #region Implementation + protected override void GenerateShape() + { + if (torusMesh.sharedMesh != null) + torusMesh.sharedMesh.Clear(); + torusMesh.mesh = CreateMesh(CreateTorus(torusRadius, ringRadius, ringSegmentCount, segmentSideCount)); + + if (torusMesh.transform.TryGetComponent(out MeshCollider meshCol)) + meshCol.sharedMesh = torusMesh.sharedMesh; + } + + private static (Vector3[] vertices, int[] triangles) CreateTorus(float torusRadius, float ringRadius, int ringSegmentCount, int segmentSideCount) + { + Vector3[] vertices = new Vector3[ringSegmentCount * segmentSideCount * 4]; + int[] triangles = new int[ringSegmentCount * segmentSideCount * 6]; + + //generate vertices + float iStep = (2f * Mathf.PI) / ringSegmentCount; + float jStep = (2f * Mathf.PI) / segmentSideCount; + for (int i = 0; i < ringSegmentCount; i++) + { + for (int j = 0; j < segmentSideCount; j++) + { + vertices[(i * segmentSideCount + j) * 4] = GetPointOnTorus(torusRadius, ringRadius, i * iStep, j * jStep); + vertices[(i * segmentSideCount + j) * 4 + 1] = GetPointOnTorus(torusRadius, ringRadius, i * iStep, (j + 1) * jStep); + vertices[(i * segmentSideCount + j) * 4 + 2] = GetPointOnTorus(torusRadius, ringRadius, (i + 1) * iStep, j * jStep); + vertices[(i * segmentSideCount + j) * 4 + 3] = GetPointOnTorus(torusRadius, ringRadius, (i + 1) * iStep, (j + 1) * jStep); + } + } + + //generate triangles + for (int t = 0, i = 0; t < triangles.Length; t += 6, i += 4) + { + triangles[t] = i; + triangles[t+1] = i + 1; + triangles[t+2] = i + 2; + + triangles[t+3] = i + 1; + triangles[t+4] = i + 3; + triangles[t+5] = i + 2; + } + + return (vertices, triangles); + } + + private static Vector3 GetPointOnTorus(float torusRadius, float ringRadius, float u, float v) + { + float r = (torusRadius + ringRadius * Mathf.Sin(v)); + return new Vector3(r * Mathf.Sin(u), ringRadius * Mathf.Cos(v), r * Mathf.Cos(u)); + } + #endregion Implementation +} \ No newline at end of file diff --git a/Assets/Scripts/MeshGenerator/TorusGenerator.cs.meta b/Assets/Scripts/MeshGenerator/TorusGenerator.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..18b11716a25ffa239097fb1fb32c93fe67fdb3a8 --- /dev/null +++ b/Assets/Scripts/MeshGenerator/TorusGenerator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 35327f6b479454149a20587eb03337f8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectSettings/DynamicsManager.asset b/ProjectSettings/DynamicsManager.asset index c2c6328bf43ece96e5b08c363498dff89eb46237..2ce9d8ad1a63821b29b5ff6151cec16a44428113 100644 --- a/ProjectSettings/DynamicsManager.asset +++ b/ProjectSettings/DynamicsManager.asset @@ -18,7 +18,7 @@ PhysicsManager: m_ClothInterCollisionDistance: 0 m_ClothInterCollisionStiffness: 0 m_ContactsGeneration: 1 - m_LayerCollisionMatrix: fffffffffffdfffffffffffffffffffffffffffffffdfffffffffffffffffffffffdffffdd82fefffffdfffffffdfffffffdfffffffdfffffffdfffffffffffffffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + m_LayerCollisionMatrix: fffffffffffdfffffffffffffffffffffffffffffffdfffffffffffffffffffffffdffffdd02fefffffdfffffffdfffffffdfffffffdfffffffdfffffffdfffffffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff m_AutoSimulation: 1 m_AutoSyncTransforms: 0 m_ReuseCollisionCallbacks: 1 diff --git a/ProjectSettings/Packages/com.unity.probuilder/Settings.json b/ProjectSettings/Packages/com.unity.probuilder/Settings.json index a56b77880be1d3e77d5f693b25baa78b00a118d0..67d846e6efd8edc004a72e952269f029598016b8 100644 --- a/ProjectSettings/Packages/com.unity.probuilder/Settings.json +++ b/ProjectSettings/Packages/com.unity.probuilder/Settings.json @@ -33,80 +33,10 @@ "key": "lightmapping.autoUnwrapLightmapUV", "value": "{\"m_Value\":true}" }, - { - "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", - "key": "editor.stripProBuilderScriptsOnBuild", - "value": "{\"m_Value\":true}" - }, - { - "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", - "key": "editor.autoRecalculateCollisions", - "value": "{\"m_Value\":false}" - }, { "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", "key": "experimental.enabled", "value": "{\"m_Value\":false}" - }, - { - "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", - "key": "editor.toolbarIconGUI", - "value": "{\"m_Value\":false}" - }, - { - "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", - "key": "editor.showEditorNotifications", - "value": "{\"m_Value\":false}" - }, - { - "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", - "key": "editor.showSceneInfo", - "value": "{\"m_Value\":false}" - }, - { - "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", - "key": "mesh.meshColliderIsConvex", - "value": "{\"m_Value\":false}" - }, - { - "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", - "key": "mesh.newShapesSnapToGrid", - "value": "{\"m_Value\":true}" - }, - { - "type": "UnityEngine.ProBuilder.UnwrapParameters, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", - "key": "lightmapping.defaultLightmapUnwrapParameters", - "value": "{\"m_Value\":{\"m_HardAngle\":88.0,\"m_PackMargin\":20.0,\"m_AngleError\":8.0,\"m_AreaError\":15.0}}" - }, - { - "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", - "key": "uv.uvEditorGridSnapIncrement", - "value": "{\"m_Value\":0.125}" - }, - { - "type": "UnityEngine.Material, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", - "key": "mesh.userMaterial", - "value": "{\"m_Value\":{\"instanceID\":0}}" - }, - { - "type": "UnityEditor.StaticEditorFlags, UnityEditor.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", - "key": "mesh.defaultStaticEditorFlags", - "value": "{\"m_Value\":0}" - }, - { - "type": "UnityEngine.ProBuilder.PivotLocation, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", - "key": "mesh.newShapePivotLocation", - "value": "{\"m_Value\":1}" - }, - { - "type": "UnityEngine.Rendering.ShadowCastingMode, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", - "key": "mesh.shadowCastingMode", - "value": "{\"m_Value\":1}" - }, - { - "type": "UnityEngine.ProBuilder.ColliderType, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", - "key": "mesh.newShapeColliderType", - "value": "{\"m_Value\":2}" } ] } diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt index bdb3ba5f31d16bb415d08ed6decc3ac3f8e50cd9..4627c1babee4e2a52dfba5b95007b08ab7b25197 100644 --- a/ProjectSettings/ProjectVersion.txt +++ b/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,3 @@ m_EditorVersion: 2021.3.5f1 m_EditorVersionWithRevision: 2021.3.5f1 (40eb3a945986) + diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index b8f2d4b3f3f3f864be8bab244615a00d245eddf2..408e5aa981a3d2e4738e6a4b162f9d15d919ff8d 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -26,6 +26,10 @@ TagManager: - Line - Angle - Ray + - Ring + - Circle + - + - - TalkingZone - Tree - SnapZone @@ -40,10 +44,6 @@ TagManager: - - - - - - - - - - - m_SortingLayers: - name: Default uniqueID: 0 diff --git a/UpgradeLog.htm b/UpgradeLog.htm new file mode 100644 index 0000000000000000000000000000000000000000..7090219fb91f706de6a3ab63064490e1cd4a3e76 Binary files /dev/null and b/UpgradeLog.htm differ diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset new file mode 100644 index 0000000000000000000000000000000000000000..8938eb318bb43ddcedec33549da5fbd3497d84f9 --- /dev/null +++ b/UserSettings/EditorUserSettings.asset @@ -0,0 +1,39 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!162 &1 +EditorUserSettings: + m_ObjectHideFlags: 0 + serializedVersion: 4 + m_ConfigSettings: + RecentlyUsedScenePath-0: + value: 22424703114646680e0b0227036c681f041b1c39631c3435281e1221eee47a2decee22f0 + flags: 0 + RecentlyUsedScenePath-1: + value: 22424703114646680e0b0227036c721518021d396304293129201334d1e33136e7a923e7ee2e26 + flags: 0 + RecentlyUsedScenePath-2: + value: 22424703114646680e0b0227036c681f041b1c39631c232339662f3af4e5260be1e238eca92f31352d1b + flags: 0 + RecentlyUsedScenePath-3: + value: 22424703114646680e0b0227036c721518021d39631b32313f3d2e30f0e53136acf238e0f323 + flags: 0 + RecentlyUsedScenePath-4: + value: 22424703114646680e0b0227036c681f041b1c39631a2f26283b2a3cf0ec3076f7e93ffdfe + flags: 0 + RecentlyUsedScenePath-5: + value: 22424703114646680e0b0227036c721518021d39630527392304183df7e57a2decee22f0 + flags: 0 + vcSharedLogLevel: + value: 0d5e400f0650 + flags: 0 + m_VCAutomaticAdd: 1 + m_VCDebugCom: 0 + m_VCDebugCmd: 0 + m_VCDebugOut: 0 + m_SemanticMergeMode: 2 + m_VCShowFailedCheckout: 1 + m_VCOverwriteFailedCheckoutAssets: 1 + m_VCProjectOverlayIcons: 1 + m_VCHierarchyOverlayIcons: 1 + m_VCOtherOverlayIcons: 1 + m_VCAllowAsyncUpdate: 1