diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayAngle.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayAngle.prefab index e96d0eac3e5cfb770fabccdfede4488672434d4d..dc6dc4782b2ce432a22a2ecba539c4fc65bcc7ae 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayAngle.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayAngle.prefab @@ -88,7 +88,7 @@ MonoBehaviour: m_spriteAsset: {fileID: 0} m_tintAllSprites: 0 m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 + m_TextStyleHashCode: -1183493901 m_overrideHtmlColors: 0 m_faceColor: serializedVersion: 2 @@ -100,9 +100,9 @@ MonoBehaviour: m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 514 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 m_characterSpacing: 0 m_wordSpacing: 0 m_lineSpacing: 0 @@ -223,7 +223,7 @@ MonoBehaviour: m_spriteAsset: {fileID: 0} m_tintAllSprites: 0 m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 + m_TextStyleHashCode: -1183493901 m_overrideHtmlColors: 0 m_faceColor: serializedVersion: 2 @@ -235,9 +235,9 @@ MonoBehaviour: m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 514 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 m_characterSpacing: 0 m_wordSpacing: 0 m_lineSpacing: 0 @@ -358,7 +358,7 @@ MonoBehaviour: m_spriteAsset: {fileID: 0} m_tintAllSprites: 0 m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 + m_TextStyleHashCode: -1183493901 m_overrideHtmlColors: 0 m_faceColor: serializedVersion: 2 @@ -370,9 +370,9 @@ MonoBehaviour: m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 514 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 m_characterSpacing: 0 m_wordSpacing: 0 m_lineSpacing: 0 @@ -537,9 +537,22 @@ MonoBehaviour: m_GameObject: {fileID: 6643637775379894484} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: + - {fileID: 6643637774878492040} + - {fileID: 6643637774014364123} + - {fileID: 6643637775318367258} + StringLabelFormats: + - '{1}' + - '{2}' + - '{3}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &3573135846559875297 MonoBehaviour: m_ObjectHideFlags: 0 @@ -566,6 +579,5 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayAngleCircleLine.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayAngleCircleLine.prefab index 3e06c02ae8faf1212c581150b9caebbf3558140f..37a8d3f163ae6291df38b5449123449590d9e9c0 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayAngleCircleLine.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayAngleCircleLine.prefab @@ -266,9 +266,20 @@ MonoBehaviour: m_GameObject: {fileID: 4902928549420802332} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: + - {fileID: 2655091029813954744} + - {fileID: 4452291738773295751} + StringLabelFormats: + - '{1}' + - '{2}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &7217286308176857857 MonoBehaviour: m_ObjectHideFlags: 0 @@ -295,7 +306,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} --- !u!1 &7854085605173747270 diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayAreaCircle.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayAreaCircle.prefab index 786ac03bba81c7f65a3f30139aad8a565c552a28..b4a33da9552cf5aca6659433a336d3f3fe246438 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayAreaCircle.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayAreaCircle.prefab @@ -265,9 +265,18 @@ MonoBehaviour: m_GameObject: {fileID: 7016901710118546043} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: + - {fileID: 2759995560716152988} + StringLabelFormats: + - '{0}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &4444078412922319222 MonoBehaviour: m_ObjectHideFlags: 0 @@ -294,6 +303,5 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayCircle.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayCircle.prefab index 06f6962d8c0abc383f728d149f21748f65be67b3..80386fcd2c59fc5cd6b9b541a0f293413404cd09 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayCircle.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayCircle.prefab @@ -265,9 +265,17 @@ MonoBehaviour: m_GameObject: {fileID: 6636443472981757786} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: + - {fileID: 363367878266426999} + StringLabelFormats: [] + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &-8545268462245846538 MonoBehaviour: m_ObjectHideFlags: 0 @@ -294,6 +302,5 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayConeVolume.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayConeVolume.prefab index 6badc3374e4e2e736aa71e4f229977a7d8e9b3f7..7fa01487c3e7e9a6787384fa23b295fe3848c194 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayConeVolume.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayConeVolume.prefab @@ -265,9 +265,18 @@ MonoBehaviour: m_GameObject: {fileID: 2523593828849809055} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: + - {fileID: 4325610265215697195} + StringLabelFormats: + - '{0}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &-1328819392998620038 MonoBehaviour: m_ObjectHideFlags: 0 @@ -294,6 +303,5 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayCylinderVolume.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayCylinderVolume.prefab index 5c52bc9c186a825bd6cfddb8f5a3bf46bef37e80..c347cdd8cf7083bb37a7c301674f3f3cda5f151f 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayCylinderVolume.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayCylinderVolume.prefab @@ -265,9 +265,18 @@ MonoBehaviour: m_GameObject: {fileID: 5287418535931939099} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: + - {fileID: 6630856054862537504} + StringLabelFormats: + - '{0}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &8056345640559627384 MonoBehaviour: m_ObjectHideFlags: 0 @@ -294,6 +303,5 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayDistance.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayDistance.prefab index 770ef54480b67c25cf3dc76c2e8c7f25256eebeb..1ac052b14a46a4257011bf7d06af12f6bec43e97 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayDistance.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayDistance.prefab @@ -131,9 +131,20 @@ MonoBehaviour: m_GameObject: {fileID: 4221381813544557775} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: + - {fileID: 3246237648589042601} + - {fileID: 469060305737786517} + StringLabelFormats: + - '{1}' + - '{2}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &6775995842619458444 MonoBehaviour: m_ObjectHideFlags: 0 @@ -160,7 +171,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} --- !u!1 &6379254425133528592 @@ -231,8 +241,8 @@ MonoBehaviour: m_Calls: [] m_text: A m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: e102aafbe9ad5444aa6caf6c496a8c72, type: 2} - m_sharedMaterial: {fileID: -2291642635969528081, guid: e102aafbe9ad5444aa6caf6c496a8c72, + m_fontAsset: {fileID: 11400000, guid: 3bce71b32a876f54e96869a29b46e150, type: 2} + m_sharedMaterial: {fileID: 5290021301827705759, guid: 3bce71b32a876f54e96869a29b46e150, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} @@ -252,21 +262,21 @@ MonoBehaviour: m_spriteAsset: {fileID: 0} m_tintAllSprites: 0 m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 + m_TextStyleHashCode: -1183493901 m_overrideHtmlColors: 0 m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 37.3 + m_fontSize: 32.5 m_fontSizeBase: 36 m_fontWeight: 400 m_enableAutoSizing: 1 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 514 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 m_characterSpacing: 0 m_wordSpacing: 0 m_lineSpacing: 0 @@ -367,8 +377,8 @@ MonoBehaviour: m_Calls: [] m_text: A m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: e102aafbe9ad5444aa6caf6c496a8c72, type: 2} - m_sharedMaterial: {fileID: -2291642635969528081, guid: e102aafbe9ad5444aa6caf6c496a8c72, + m_fontAsset: {fileID: 11400000, guid: 3bce71b32a876f54e96869a29b46e150, type: 2} + m_sharedMaterial: {fileID: 5290021301827705759, guid: 3bce71b32a876f54e96869a29b46e150, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} @@ -388,21 +398,21 @@ MonoBehaviour: m_spriteAsset: {fileID: 0} m_tintAllSprites: 0 m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 + m_TextStyleHashCode: -1183493901 m_overrideHtmlColors: 0 m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 37.3 + m_fontSize: 32.5 m_fontSizeBase: 36 m_fontWeight: 400 m_enableAutoSizing: 1 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 514 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 m_characterSpacing: 0 m_wordSpacing: 0 m_lineSpacing: 0 diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayEqualCircles.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayEqualCircles.prefab index ecd96e00de9ea7c96b0faa7532d516d79be6c1ba..7575377f150abdc16a7b2a7e57ef6bfde667bf30 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayEqualCircles.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayEqualCircles.prefab @@ -401,9 +401,20 @@ MonoBehaviour: m_GameObject: {fileID: 7523305359074541435} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: + - {fileID: 2948658129975585178} + - {fileID: 4670384714962435475} + StringLabelFormats: + - '{1}' + - '{2}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &-8548468547709009186 MonoBehaviour: m_ObjectHideFlags: 0 @@ -430,6 +441,5 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayLine.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayLine.prefab index ccdbabf5fc0da3a3c3c261c8dbf5b0943a7eed85..c5a7b4fb8a838e53bd73780253a10dd9a2a43967 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayLine.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayLine.prefab @@ -265,9 +265,18 @@ MonoBehaviour: m_GameObject: {fileID: 7510387096843212865} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: + - {fileID: 5696377050731032053} + StringLabelFormats: + - '{0}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &7981125183230312854 MonoBehaviour: m_ObjectHideFlags: 0 @@ -294,6 +303,5 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayOnCircle.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayOnCircle.prefab index f44981935bb3f9fd756ae9181a7994f1438e7918..7196255744ed26f63086abc51701ff280df5ce34 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayOnCircle.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayOnCircle.prefab @@ -131,9 +131,18 @@ MonoBehaviour: m_GameObject: {fileID: 2115817999818309900} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: + - {fileID: 7373443337760040373} + StringLabelFormats: + - '{0}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &-5954085419867829670 MonoBehaviour: m_ObjectHideFlags: 0 @@ -160,7 +169,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} --- !u!1 &5265014618439724607 diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayOnLine.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayOnLine.prefab index d716e01f047f02bc70ecd3cb0101211e5adb255d..8f2cb679320731338f9336633ed71b803b7e8b5c 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayOnLine.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayOnLine.prefab @@ -88,7 +88,7 @@ MonoBehaviour: m_spriteAsset: {fileID: 0} m_tintAllSprites: 0 m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 + m_TextStyleHashCode: -1183493901 m_overrideHtmlColors: 0 m_faceColor: serializedVersion: 2 @@ -100,9 +100,9 @@ MonoBehaviour: m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 514 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 m_characterSpacing: 0 m_wordSpacing: 0 m_lineSpacing: 0 @@ -223,7 +223,7 @@ MonoBehaviour: m_spriteAsset: {fileID: 0} m_tintAllSprites: 0 m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: 0 + m_TextStyleHashCode: -1183493901 m_overrideHtmlColors: 0 m_faceColor: serializedVersion: 2 @@ -235,9 +235,9 @@ MonoBehaviour: m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 514 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 m_characterSpacing: 0 m_wordSpacing: 0 m_lineSpacing: 0 @@ -401,9 +401,20 @@ MonoBehaviour: m_GameObject: {fileID: 6050914136827205310} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: + - {fileID: 8416932638320714506} + - {fileID: 3599574990072972372} + StringLabelFormats: + - '{1}' + - '{2}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &-4875952770271437981 MonoBehaviour: m_ObjectHideFlags: 0 @@ -430,6 +441,5 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayOrthogonalCircleLine.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayOrthogonalCircleLine.prefab index 249206c5ed91b5ed81288e563037fa31391843fc..3aef116a5f37b520099930abaf82b751155264f1 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayOrthogonalCircleLine.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayOrthogonalCircleLine.prefab @@ -401,9 +401,20 @@ MonoBehaviour: m_GameObject: {fileID: 8554350198830106250} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: + - {fileID: 5217577174673142595} + - {fileID: 8384968683200090543} + StringLabelFormats: + - '{1}' + - '{2}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &-4766878545130701298 MonoBehaviour: m_ObjectHideFlags: 0 @@ -430,6 +441,5 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayParallelLine.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayParallelLine.prefab index d8f691b1f9cbb2d86721f3b70c062068f4a8a4a1..46c4b32252de636c5e078e613462ae3c1f044408 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayParallelLine.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayParallelLine.prefab @@ -266,9 +266,20 @@ MonoBehaviour: m_GameObject: {fileID: 7510387096843212865} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: + - {fileID: 5696377050731032053} + - {fileID: 2874878903173316411} + StringLabelFormats: + - '{1}' + - '{2}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &41121149337675280 MonoBehaviour: m_ObjectHideFlags: 0 @@ -295,7 +306,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} --- !u!1 &7693994637337906468 diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayPoint.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayPoint.prefab index c96d9e2a61804ed88a145a20bf02aeffead1ede8..a0f3261f2831b8a4c6095645af345bf0935099d7 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayPoint.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayPoint.prefab @@ -130,9 +130,18 @@ MonoBehaviour: m_GameObject: {fileID: 858001163752551619} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: + - {fileID: 858001164857725563} + StringLabelFormats: + - '{0}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &-6287292158833946431 MonoBehaviour: m_ObjectHideFlags: 0 @@ -159,7 +168,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} --- !u!1 &858001164857725565 diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayRadius.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayRadius.prefab index 8e4329173adb48938750e35ddd46b552146f85b8..b7073517816449ce40f72757abde8a2405ccf033 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayRadius.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayRadius.prefab @@ -130,9 +130,18 @@ MonoBehaviour: m_GameObject: {fileID: 2513701074329712390} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: + - {fileID: 811399006990138641} + StringLabelFormats: + - 'r: {1}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &-497146227597533108 MonoBehaviour: m_ObjectHideFlags: 0 @@ -159,7 +168,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} --- !u!1 &8185219527703794732 diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayRectangleFact.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayRectangleFact.prefab index 99368671ea20c7fc5797d4a113efaf8e00228410..cea3cf5c66a25b20ef35bad78dfe3bd8ef87dc16 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayRectangleFact.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayRectangleFact.prefab @@ -673,9 +673,24 @@ MonoBehaviour: m_GameObject: {fileID: 8156936215466465834} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: + - {fileID: 236017584527233354} + - {fileID: 1785697637619353122} + - {fileID: 7959791220384863301} + - {fileID: 6402563570144907913} + StringLabelFormats: + - '{1}' + - '{2}' + - '{3}' + - '{4}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &-1221418573146676442 MonoBehaviour: m_ObjectHideFlags: 0 @@ -702,6 +717,5 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayRightAngle.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayRightAngle.prefab index ee4bf0104f3cb9f320e325d3bbd502ba1724d948..a88dc4564da5d1d9c16fb4225ae1e9f5deab71f6 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayRightAngle.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayRightAngle.prefab @@ -267,9 +267,22 @@ MonoBehaviour: m_GameObject: {fileID: 3080888058940174091} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: + - {fileID: 7526375183334386681} + - {fileID: 7111589452609809811} + - {fileID: 786183127531855823} + StringLabelFormats: + - '{1}' + - '{2}' + - '{3}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &4176151758276728228 MonoBehaviour: m_ObjectHideFlags: 0 @@ -296,7 +309,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} --- !u!1 &7613847065484003782 diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayTestFact.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayTestFact.prefab index 996ad40446fd0d0dc143ce872f3924147882b374..884c0b8ca44f5f7134efc3dc00f7bb940e166755 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayTestFact.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayTestFact.prefab @@ -129,9 +129,16 @@ MonoBehaviour: m_GameObject: {fileID: 2846439484187545958} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: [] + StringLabelFormats: [] + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &7299521122061085080 MonoBehaviour: m_ObjectHideFlags: 0 @@ -158,6 +165,5 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayTruncatedConeVolume.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayTruncatedConeVolume.prefab index 369fc8b4132d483f222f901184717133ebe12480..8d1ba7a89f64ff34c0a7c2505b367120fedfdd92 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayTruncatedConeVolume.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayTruncatedConeVolume.prefab @@ -130,9 +130,18 @@ MonoBehaviour: m_GameObject: {fileID: 4123133807278660472} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: + - {fileID: 789128519229516834} + StringLabelFormats: + - '{0}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &3888340986020047728 MonoBehaviour: m_ObjectHideFlags: 0 @@ -159,7 +168,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} --- !u!1 &6234169056530260467 diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayUnequalCircles.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayUnequalCircles.prefab index 9ddddce91ae67b8c2e1a3876cfaff65b83868a4e..0689918f1b725e9a132c58ee6a2a0edccd8a395a 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayUnequalCircles.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayUnequalCircles.prefab @@ -266,9 +266,20 @@ MonoBehaviour: m_GameObject: {fileID: 5769925203401971992} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: + FactText: + - {fileID: 6694126399850149665} + - {fileID: 5654613262439864818} + StringLabelFormats: + - '{1}' + - '{2}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!114 &-6842305447839815895 MonoBehaviour: m_ObjectHideFlags: 0 @@ -295,7 +306,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 88f8f222eb0a4a246908bde097a8726e, type: 3} m_Name: m_EditorClassIdentifier: - isFavourite: 0 favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} --- !u!1 &5984757243279669606 diff --git a/Assets/Scripts/InteractionEngine/FactHandling/FactObject.cs b/Assets/Scripts/InteractionEngine/FactHandling/FactObject.cs index e6fcadf1ac8741c73f05adcff4aaa471f9464c1f..63cdc1a85b104ffb4d948c96c9c8bd94ab685813 100644 --- a/Assets/Scripts/InteractionEngine/FactHandling/FactObject.cs +++ b/Assets/Scripts/InteractionEngine/FactHandling/FactObject.cs @@ -3,26 +3,45 @@ using System.Collections.Generic; using UnityEngine; using System.Collections; +using TMPro; /// <summary> /// <see cref="Fact.Id"/>/ <c>MonoBehaviour</c> wrapper to be attached to <see cref="Fact.Representation"/> /// </summary> +[DisallowMultipleComponent] public class FactObject : MonoBehaviour, ISerializationCallbackReceiver { /// <summary> /// <see cref="Fact.Id"/> to identify arbitrary <see cref="Fact"/> by its <see cref="Fact.Representation"/> /// </summary> - public string URI; + public string URI + { + get => _URI; + set + { + _Fact = null; + _URI = value; + ReLabel(); + } + } + private string _URI; /// <summary> /// Shorthand and Cache for <see cref="FactOrganizer.AllFacts.TryGetValue(string, out Fact)"/>. /// </summary> - public Fact Fact { - get { + public Fact Fact + { + get + { if (_Fact == null) FactOrganizer.AllFacts.TryGetValue(URI, out _Fact); return _Fact; - } - set { _Fact = value; URI = value.Id; } + } + set + { + _Fact = value; + _URI = value.Id; + ReLabel(); + } } private Fact _Fact; @@ -34,32 +53,58 @@ public enum FactMaterials Solution = 3, } + + [SerializeField] private List<TextMeshProUGUI> FactText; + [SerializeField] private List<string> StringLabelFormats; + + [NonSerialized] public Material[] materials; public new Renderer[] renderer; - public List<FactObject> cascade; + [NonSerialized] + private List<FactObject> cascade; #region Unity Serialization public Material Default; public Material Selected; public Material Hint; public Material Solution; + void ISerializationCallbackReceiver.OnBeforeSerialize() { - if (materials == null) return; + if (FactText == null || FactText.Count() == 0) + { + FactText = transform + .GetComponentsInChildren<TextMeshProUGUI>(includeInactive: true) + .ToList(); + } + + { + StringLabelFormats ??= new(); - Default = materials[(int)FactMaterials.Default]; - Selected = materials[(int)FactMaterials.Selected]; - Hint = materials[(int)FactMaterials.Hint]; - Solution = materials[(int)FactMaterials.Solution]; + int i = Math.Min(FactText.Count(), StringLabelFormats.Count()); + int end = Math.Max(FactText.Count(), StringLabelFormats.Count()); + for (; i < end; i++) + StringLabelFormats.Add("{" + (i + 1) + "}"); + } + + if (materials != null) + { + Default = materials[(int)FactMaterials.Default]; + Selected = materials[(int)FactMaterials.Selected]; + Hint = materials[(int)FactMaterials.Hint]; + Solution = materials[(int)FactMaterials.Solution]; + } } void ISerializationCallbackReceiver.OnAfterDeserialize() { - materials = new Material[4]; - materials[(int)FactMaterials.Default] = Default; - materials[(int)FactMaterials.Selected] = Selected; - materials[(int)FactMaterials.Hint] = Hint; - materials[(int)FactMaterials.Solution] = Solution; + { + materials = new Material[4]; + materials[(int)FactMaterials.Default] = Default; + materials[(int)FactMaterials.Selected] = Selected; + materials[(int)FactMaterials.Hint] = Hint; + materials[(int)FactMaterials.Solution] = Solution; + } } #endregion @@ -69,6 +114,26 @@ private void Awake() cascade.AddRange(transform.GetComponentsInChildren<FactObject>(includeInactive: true)); } + public void ReLabel() + { + string[] mother_child_labels = + new[] { URI }.ShallowCloneAppend(Fact.DependentFactIds) + .Select(fid => FactOrganizer.AllFacts[fid].Label) + .ToArray(); + + string indexoverflow = "{" + mother_child_labels.Length.ToString() + "}"; + + for (int i = 0; i < Math.Min(FactText.Count(), StringLabelFormats.Count()); i++) + { + if (StringLabelFormats[i].Contains(indexoverflow)) + { + Debug.LogWarning("Format contains illegal Argument and will be ignored: " + indexoverflow); + continue; + } + FactText[i].text = string.Format(StringLabelFormats[i], mother_child_labels); + } + } + public void CascadeForChildren(Action<FactObject> func) { foreach (FactObject fo in cascade) diff --git a/Assets/Scripts/InteractionEngine/FactHandling/Facts/AbstractAngleFact.cs b/Assets/Scripts/InteractionEngine/FactHandling/Facts/AbstractAngleFact.cs index 3cb55aaa06cef8670d61e54d7b44a1641410446d..33e53351c9cb9dfccec087f23340c4d2d53662f3 100644 --- a/Assets/Scripts/InteractionEngine/FactHandling/Facts/AbstractAngleFact.cs +++ b/Assets/Scripts/InteractionEngine/FactHandling/Facts/AbstractAngleFact.cs @@ -62,10 +62,8 @@ protected AbstractAngleFact(string pid1, string pid2, string pid3, float angle, public override bool HasDependentFacts => true; /// \copydoc Fact.getDependentFactIds - protected override string[] GetGetDependentFactIds() - { - return new string[] { Pid1, Pid2, Pid3 }; - } + protected override string[] GetGetDependentFactIds() + => new string[] { Pid1, Pid2, Pid3 }; protected override void RecalculateTransform() { @@ -196,17 +194,6 @@ protected override MMTDeclaration MakeMMTDeclaration() protected override string generateLabel() => (is_right_angle ? "⊾" : "∠") + Point1.Label + Point2.Label + Point3.Label; - /// \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 = Point1.Label; - obj.transform.GetChild(1).gameObject.GetComponent<TextMeshProUGUI>().text = Point2.Label; - obj.transform.GetChild(2).gameObject.GetComponent<TextMeshProUGUI>().text = Point3.Label; - obj.GetComponent<FactWrapper>().Fact = this; - return obj; - } - /// \copydoc Fact.Equivalent(Fact, Fact) protected override bool EquivalentWrapped(AngleFact f1, AngleFact f2) => DependentFactsEquivalent(f1, f2); @@ -299,18 +286,6 @@ is not OMS // rightAngle Arg0 protected override string generateLabel() => Point1.Label + Point2.Label + Point3.Label + "⊥"; - /// \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 = Point1.Label; - obj.transform.GetChild(1).gameObject.GetComponent<TextMeshProUGUI>().text = Point2.Label; - obj.transform.GetChild(2).gameObject.GetComponent<TextMeshProUGUI>().text = Point3.Label; - - obj.GetComponent<FactWrapper>().Fact = this; - return obj; - } - /// \copydoc Fact.Equivalent(Fact, Fact) protected override bool EquivalentWrapped(RightAngleFact f1, RightAngleFact f2) => DependentFactsEquivalent(f1, f2); diff --git a/Assets/Scripts/InteractionEngine/FactHandling/Facts/AbstractLineFact.cs b/Assets/Scripts/InteractionEngine/FactHandling/Facts/AbstractLineFact.cs index d2c107f5c9f7fb65ca49359fe39fdbd31ffa125c..271582a3133d51a4a0940e96f84ab9680da77bae 100644 --- a/Assets/Scripts/InteractionEngine/FactHandling/Facts/AbstractLineFact.cs +++ b/Assets/Scripts/InteractionEngine/FactHandling/Facts/AbstractLineFact.cs @@ -88,10 +88,8 @@ protected override void RecalculateTransform() public override bool HasDependentFacts => true; /// \copydoc Fact.getDependentFactIds - protected override string[] GetGetDependentFactIds() - { - return new string[] { Pid1, Pid2 }; - } + protected override string[] GetGetDependentFactIds() + => new string[] { Pid1, Pid2 }; } /// <summary> @@ -173,16 +171,6 @@ protected override MMTDeclaration MakeMMTDeclaration() protected override string generateLabel() => "[" + Point1.Label + Point2.Label + "]"; - /// \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 = Point1.Label; - obj.transform.GetChild(1).gameObject.GetComponent<TextMeshProUGUI>().text = Point2.Label; - obj.GetComponent<FactWrapper>().Fact = this; - return obj; - } - /// \copydoc Fact.Equivalent(Fact, Fact) protected override bool EquivalentWrapped(LineFact f1, LineFact f2) => DependentFactsEquivalent(f1, f2); @@ -215,21 +203,16 @@ public RayFact(string pid1, string pid2, FactOrganizer organizer) : base(pid1, p protected override MMTDeclaration MakeMMTDeclaration() { - SOMDoc tp = new OMS(MMT_OMS_URI.LineType); - SOMDoc df = new OMA( - new OMS(MMT_OMS_URI.LineOf), - new List<SOMDoc> { - new OMS(Pid1), - new OMS(Pid2) + SOMDoc type = new OMS(MMT_OMS_URI.LineType); + SOMDoc defines = + new OMA( + new OMS(MMT_OMS_URI.LineOf), + new List<SOMDoc> { + new OMS(Pid1), + new OMS(Pid2) }); - return new MMTSymbolDeclaration(this.Label, tp, df); - } - - protected override void RecalculateTransform() - { - base.RecalculateTransform(); - LocalScale = new Vector3(1, 1, 2048); + return new MMTSymbolDeclaration(this.Label, type, defines); } /// \copydoc Fact.parseFact(ScrollFact) @@ -248,23 +231,20 @@ protected override void RecalculateTransform() return new RayFact(pointAUri, pointBUri, fact.@ref.uri, StageStatic.stage.factState); } + protected override void RecalculateTransform() + { + base.RecalculateTransform(); + LocalScale = new Vector3(1, 1, 2048); + } + /// \copydoc Fact.generateLabel protected override string generateLabel() { // TODO this string is too large to properly depict on scrolls. - // return "]" + _Facts[Pid1].Label + _Facts[Pid2].Label + "["; + // return "]" + Point1.Label + Point2.Label + "["; return Point1.Label + Point2.Label; } - /// \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 = this.Label; - obj.GetComponent<FactWrapper>().Fact = this; - return obj; - } - /// \copydoc Fact.Equivalent(Fact, Fact) protected override bool EquivalentWrapped(RayFact f1, RayFact f2) { diff --git a/Assets/Scripts/InteractionEngine/FactHandling/Facts/Fact.cs b/Assets/Scripts/InteractionEngine/FactHandling/Facts/Fact.cs index caf46bc78debbb8d1bdc90843bcb0b0e6c95f29b..1a4221f9a4f322e44ff344ae974f4f0827974d75 100644 --- a/Assets/Scripts/InteractionEngine/FactHandling/Facts/Fact.cs +++ b/Assets/Scripts/InteractionEngine/FactHandling/Facts/Fact.cs @@ -4,43 +4,58 @@ using UnityEngine.Networking; using TMPro; using Newtonsoft.Json; -using static SOMDocManager; -using static CommunicationEvents; using JsonSubTypes; using System.Linq; -using MoreLinq; +using static SOMDocManager; -public class ParsingDictionary +public static class ParsingDictionary { //TODO? get rid of this, use reflection? instead, if possible //TODO: docu - //public static Dictionary<string, Func<ScrollFact, Fact>> parseFactDictionary = new Dictionary<string, Func<ScrollFact, Fact>>() { public static Dictionary<string, Func<MMTDeclaration, Fact>> parseFactDictionary = new() { - {SOMDocManager.MMT_OMS_URI.Point, PointFact.parseFact}, - {SOMDocManager.MMT_OMS_URI.Metric, LineFact.parseFact}, - {SOMDocManager.MMT_OMS_URI.Angle, AngleFact.parseFact}, - {SOMDocManager.MMT_OMS_URI.LineType, RayFact.parseFact}, - {SOMDocManager.MMT_OMS_URI.LineOf, RayFact.parseFact}, - {SOMDocManager.MMT_OMS_URI.OnLine, OnLineFact.parseFact}, - //90Degree-Angle - {SOMDocManager.MMT_OMS_URI.Eq, AngleFact.parseFact}, - //Parallel-LineFact - {SOMDocManager.MMT_OMS_URI.ParallelLine, ParallelLineFact.parseFact}, - //CircleFact - {SOMDocManager.MMT_OMS_URI.CircleType3d, CircleFact.parseFact}, - {SOMDocManager.MMT_OMS_URI.OnCircle, OnCircleFact.parseFact }, - {SOMDocManager.MMT_OMS_URI.AnglePlaneLine, AngleCircleLineFact.parseFact }, - {SOMDocManager.MMT_OMS_URI.RadiusCircleMetric, RadiusFact.parseFact }, - {SOMDocManager.MMT_OMS_URI.AreaCircle, AreaCircleFact.parseFact }, - {SOMDocManager.MMT_OMS_URI.OrthoCircleLine, OrthogonalCircleLineFact.parseFact }, - {SOMDocManager.MMT_OMS_URI.VolumeCone, ConeVolumeFact.parseFact }, - {SOMDocManager.MMT_OMS_URI.TruncatedVolumeCone ,TruncatedConeVolumeFact.parseFact }, - {SOMDocManager.MMT_OMS_URI.RightAngle, RightAngleFact.parseFact }, - {SOMDocManager.MMT_OMS_URI.CylinderVolume, CylinderVolumeFact.parseFact }, - {SOMDocManager.MMT_OMS_URI.TestType, TestFact.parseFact }, - {SOMDocManager.MMT_OMS_URI.EqualityCircles, EqualCirclesFact.parseFact }, - {SOMDocManager.MMT_OMS_URI.UnEqualityCircles, UnEqualCirclesFact.parseFact } + { MMT_OMS_URI.Point, + PointFact.parseFact }, + { MMT_OMS_URI.Metric, + LineFact.parseFact }, + { MMT_OMS_URI.Angle, + AngleFact.parseFact }, + { MMT_OMS_URI.Eq, + AngleFact.parseFact }, + { MMT_OMS_URI.RightAngle, + RightAngleFact.parseFact }, + { MMT_OMS_URI.LineType, + RayFact.parseFact }, + { MMT_OMS_URI.LineOf, + RayFact.parseFact }, + { MMT_OMS_URI.OnLine, + OnLineFact.parseFact }, + { MMT_OMS_URI.ParallelLine, + ParallelLineFact.parseFact }, + { MMT_OMS_URI.CircleType3d, + CircleFact.parseFact }, + { MMT_OMS_URI.OnCircle, + OnCircleFact.parseFact }, + { MMT_OMS_URI.AnglePlaneLine, + AngleCircleLineFact.parseFact }, + { MMT_OMS_URI.RadiusCircleMetric, + RadiusFact.parseFact }, + { MMT_OMS_URI.AreaCircle, + AreaCircleFact.parseFact }, + { MMT_OMS_URI.OrthoCircleLine, + OrthogonalCircleLineFact.parseFact }, + { MMT_OMS_URI.VolumeCone, + ConeVolumeFact.parseFact }, + { MMT_OMS_URI.TruncatedVolumeCone, + TruncatedConeVolumeFact.parseFact }, + { MMT_OMS_URI.CylinderVolume, + CylinderVolumeFact.parseFact }, + { MMT_OMS_URI.TestType, + TestFact.parseFact }, + { MMT_OMS_URI.EqualityCircles, + EqualCirclesFact.parseFact }, + { MMT_OMS_URI.UnEqualityCircles, + UnEqualCirclesFact.parseFact } }; // TODO: get rid of this @@ -74,7 +89,7 @@ public static bool sendAdd(string path, string body, out string uri) return false; } - if (VerboseURI) + if (CommunicationEvents.VerboseURI) Debug.Log("Sending to Server:\n" + body); //Put constructor parses stringbody to byteArray internally (goofy workaround) @@ -99,7 +114,7 @@ public static bool sendAdd(string path, string body, out string uri) string answer = www.downloadHandler.text; AddFactResponse res = JsonUtility.FromJson<AddFactResponse>(answer); - if (VerboseURI) + if (CommunicationEvents.VerboseURI) Debug.Log("Server added Fact:\n" + res.uri); uri = res.uri; @@ -360,17 +375,6 @@ public bool rename(string newLabel) } } - /// <summary> - /// Initiates a <paramref name="prefab"/> at <paramref name="transform"/> e.g. by setting <see cref="Label"/>. - /// </summary> - /// <remarks>Does not set <see cref="Representation"/>.</remarks> - /// <param name="prefab"><c>GameObject</c> Prefab that will represent this Fact</param> - /// <param name="transform"><c>Transform</c> where to initiate <paramref name="prefab"/></param> - /// <returns></returns> - - // TODO: set Representation here instead of ... - public abstract GameObject instantiateDisplay(GameObject prefab, Transform transform); - protected abstract void RecalculateTransform(); protected abstract MMTDeclaration MakeMMTDeclaration(); @@ -384,7 +388,7 @@ public bool rename(string newLabel) freeAutoLabel(); - if (VerboseURI) + if (CommunicationEvents.VerboseURI) Debug.Log("Server removed Fact:\n" + this.Id); } @@ -408,7 +412,7 @@ public bool rename(string newLabel) /// </summary> /// <returns>unique-ish Hash</returns> public new virtual int GetHashCode() - => GetGetDependentFactIds() + => DependentFactIds .Select(id => id.GetHashCode()) .Aggregate((hash1, hash2) => hash1 ^ hash2); @@ -541,14 +545,12 @@ protected override void RecalculateTransform() /// Bypasses initialization of new MMT %Fact by using existend URI, _which is not checked for existence_. /// <see cref="Normal"/> set to <c>Vector3.up</c> /// </summary> - /// <param name="a">sets <c>x</c> coordinate of <see cref="Point"/></param> - /// <param name="b">sets <c>y</c> coordinate of <see cref="Point"/></param> - /// <param name="c">sets <c>z</c> coordinate of <see cref="Point"/></param> + /// <param name="point">sets <see cref="Point"/></param> /// <param name="uri">MMT URI</param> /// <param name="organizer">sets <see cref="Fact._Facts"/></param> - public PointFact(float a, float b, float c, string uri, FactOrganizer organizer) : base(organizer) + public PointFact(Vector3 point, string uri, FactOrganizer organizer) : base(organizer) { - this.Point = new Vector3(a, b, c); + this.Point = point; this.Normal = Vector3.up; this._URI = uri; _ = this.Label; @@ -559,32 +561,18 @@ public PointFact(float a, float b, float c, string uri, FactOrganizer organizer) { if (((MMTSymbolDeclaration)fact).defines is not OMA defines) return null; - ParsingDictionary.parseTermsToId.TryAdd(defines.ToString(), fact.@ref.uri); - float a = ((OMF)defines.arguments[0]).@float; - float b = ((OMF)defines.arguments[1]).@float; - float c = ((OMF)defines.arguments[2]).@float; - return new PointFact(a, b, c, fact.@ref.uri, StageStatic.stage.factState); + Vector3 point = (defines.GetLambdaExpression().Compile() as Func<Vector3>)(); + return new PointFact(point, fact.@ref.uri, StageStatic.stage.factState); } /// \copydoc Fact.hasDependentFacts public override bool HasDependentFacts => false; /// \copydoc Fact.getDependentFactIds - protected override string[] GetGetDependentFactIds() - { - 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(0).gameObject.GetComponent<TextMeshProUGUI>().text = this.Label; - obj.GetComponent<FactWrapper>().Fact = this; - return obj; - } + protected override string[] GetGetDependentFactIds() + => new string[] { }; /// \copydoc Fact.GetHashCode public override int GetHashCode() @@ -710,20 +698,8 @@ protected override string generateLabel() public override bool HasDependentFacts => true; /// \copydoc Fact.getDependentFactIds - protected override string[] GetGetDependentFactIds() - { - return new string[] { Pid, Rid }; - } - - /// \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 = Point.Label; - obj.transform.GetChild(1).gameObject.GetComponent<TextMeshProUGUI>().text = Ray.Label; - obj.GetComponent<FactWrapper>().Fact = this; - return obj; - } + protected override string[] GetGetDependentFactIds() + => new string[] { Pid, Rid }; protected override bool EquivalentWrapped(OnLineFact f1, OnLineFact f2) => DependentFactsEquivalent(f1, f2); @@ -850,20 +826,8 @@ protected override MMTDeclaration MakeMMTDeclaration() public override bool HasDependentFacts => true; /// \copydoc Fact.getDependentFactIds - protected override string[] GetGetDependentFactIds() - { - 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 = Ray1.Label; - obj.transform.GetChild(1).gameObject.GetComponent<TextMeshProUGUI>().text = Ray2.Label; - obj.GetComponent<FactWrapper>().Fact = this; - return obj; - } + protected override string[] GetGetDependentFactIds() + => new string[] { Lid1, Lid2 }; /// \copydoc Fact.Equivalent(Fact, Fact) protected override bool EquivalentWrapped(ParallelLineFact f1, ParallelLineFact f2) @@ -1052,22 +1016,8 @@ protected override MMTDeclaration MakeMMTDeclaration() public override bool HasDependentFacts => true; /// \copydoc Fact.getDependentFactIds - protected override string[] GetGetDependentFactIds() - { - 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 = Point1.Label; - - // obj.transform.GetChild(1).gameObject.GetComponent<TextMeshProUGUI>().text = _Facts[this.Lid2].Label; - - obj.GetComponent<FactWrapper>().Fact = this; - return obj; - } + protected override string[] GetGetDependentFactIds() + => new string[] { Pid1, Pid2 }; /// \copydoc Fact.Equivalent(Fact, Fact) protected override bool EquivalentWrapped(CircleFact f1, CircleFact f2) @@ -1161,20 +1111,8 @@ protected override string generateLabel() public override bool HasDependentFacts => true; /// \copydoc Fact.getDependentFactIds - protected override string[] GetGetDependentFactIds() - { - 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 = Point.Label + "∈" + Circle.Label; - obj.GetComponent<FactWrapper>().Fact = this; - - return obj; - } + protected override string[] GetGetDependentFactIds() + => new string[] { Pid, Cid }; /// \copydoc Fact.Equivalent(Fact, Fact) protected override bool EquivalentWrapped(OnCircleFact c1, OnCircleFact c2) @@ -1342,20 +1280,8 @@ protected override MMTDeclaration MakeMMTDeclaration() public override bool HasDependentFacts => true; /// \copydoc Fact.getDependentFactIds - protected override string[] GetGetDependentFactIds() - { - 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 = Circle.Label; - obj.transform.GetChild(1).gameObject.GetComponent<TextMeshProUGUI>().text = Ray.Label; - obj.GetComponent<FactWrapper>().Fact = this; - return obj; - } + protected override string[] GetGetDependentFactIds() + => new string[] { Cid1, Rid2 }; /// \copydoc Fact.Equivalent(Fact, Fact) protected override bool EquivalentWrapped(AngleCircleLineFact f1, AngleCircleLineFact f2) @@ -1461,19 +1387,8 @@ protected override MMTDeclaration MakeMMTDeclaration() public override bool HasDependentFacts => true; /// \copydoc Fact.getDependentFactIds - protected override string[] GetGetDependentFactIds() - { - 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: " + Circle.Label; - obj.GetComponent<FactWrapper>().Fact = this; - return obj; - } + protected override string[] GetGetDependentFactIds() + => new string[] { Cid1 }; /// \copydoc Fact.Equivalent(Fact, Fact) protected override bool EquivalentWrapped(RadiusFact f1, RadiusFact f2) @@ -1575,22 +1490,10 @@ protected override MMTDeclaration MakeMMTDeclaration() public override bool HasDependentFacts => true; /// \copydoc Fact.getDependentFactIds - protected override string[] GetGetDependentFactIds() - { - 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 = Circle.Label; - obj.GetComponent<FactWrapper>().Fact = this; - return obj; - } + protected override string[] GetGetDependentFactIds() + => new string[] { Cid1 }; /// \copydoc Fact.GetHashCode - /// is this a problem? public override int GetHashCode() => base.GetHashCode() ^ A.GetHashCode(); @@ -1720,19 +1623,7 @@ protected override MMTDeclaration MakeMMTDeclaration() /// \copydoc Fact.getDependentFactIds protected override string[] GetGetDependentFactIds() - { - 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 = Circle.Label + Point.Label; - obj.GetComponent<FactWrapper>().Fact = this; - - return obj; - } + => new string[] { Cid1, Pid1 }; /// \copydoc Fact.Equivalent(Fact, Fact) protected override bool EquivalentWrapped(ConeVolumeFact f1, ConeVolumeFact f2) @@ -1865,26 +1756,8 @@ protected override MMTDeclaration MakeMMTDeclaration() public override bool HasDependentFacts => true; /// \copydoc Fact.getDependentFactIds - protected override string[] GetGetDependentFactIds() - { - 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 = Circle.Label; - obj.transform.GetChild(1).gameObject.GetComponent<TextMeshProUGUI>().text = Ray.Label; - - obj.GetComponent<FactWrapper>().Fact = this; - return obj; - } - - /// \copydoc Fact.GetHashCode - /// uhhh is this a problem? - public override int GetHashCode() - => this.Cid1.GetHashCode() ^ this.Lid1.GetHashCode(); + protected override string[] GetGetDependentFactIds() + => new string[] { Cid1, Lid1 }; /// \copydoc Fact.Equivalent(Fact, Fact) protected override bool EquivalentWrapped(OrthogonalCircleLineFact f1, OrthogonalCircleLineFact f2) @@ -2018,20 +1891,8 @@ protected override MMTDeclaration MakeMMTDeclaration() public override bool HasDependentFacts => true; /// \copydoc Fact.getDependentFactIds - protected override string[] GetGetDependentFactIds() - { - 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 = Circle1.Label + Circle2.Label; - obj.GetComponent<FactWrapper>().Fact = this; - - return obj; - } + protected override string[] GetGetDependentFactIds() + => new string[] { Cid1, Cid2 }; /// \copydoc Fact.Equivalent(Fact, Fact) protected override bool EquivalentWrapped(TruncatedConeVolumeFact f1, TruncatedConeVolumeFact f2) @@ -2165,20 +2026,8 @@ protected override MMTDeclaration MakeMMTDeclaration() public override bool HasDependentFacts => true; /// \copydoc Fact.getDependentFactIds - protected override string[] GetGetDependentFactIds() - { - 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 = Circle1.Label + Circle2.Label; - obj.GetComponent<FactWrapper>().Fact = this; - - return obj; - } + protected override string[] GetGetDependentFactIds() + => new string[] { Cid1, Cid2, equalCirclesProof }; /// \copydoc Fact.Equivalent(Fact, Fact) protected override bool EquivalentWrapped(CylinderVolumeFact f1, CylinderVolumeFact f2) @@ -2294,20 +2143,8 @@ protected override MMTDeclaration MakeMMTDeclaration() public override bool HasDependentFacts => true; /// \copydoc Fact.getDependentFactIds - protected override string[] GetGetDependentFactIds() - { - 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 = Circle1.Label; - obj.transform.GetChild(1).gameObject.GetComponent<TextMeshProUGUI>().text = Circle2.Label; - obj.GetComponent<FactWrapper>().Fact = this; - return obj; - } + protected override string[] GetGetDependentFactIds() + => new string[] { Cid1, Cid2 }; /// \copydoc Fact.Equivalent(Fact, Fact) protected override bool EquivalentWrapped(EqualCirclesFact f1, EqualCirclesFact f2) @@ -2419,20 +2256,8 @@ protected override MMTDeclaration MakeMMTDeclaration() public override bool HasDependentFacts => true; /// \copydoc Fact.getDependentFactIds - protected override string[] GetGetDependentFactIds() - { - 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 = Circle1.Label; - obj.transform.GetChild(1).gameObject.GetComponent<TextMeshProUGUI>().text = Circle2.Label; - obj.GetComponent<FactWrapper>().Fact = this; - return obj; - } + protected override string[] GetGetDependentFactIds() + => new string[] { Cid1, Cid2 }; /// \copydoc Fact.Equivalent(Fact, Fact) protected override bool EquivalentWrapped(UnEqualCirclesFact f1, UnEqualCirclesFact f2) @@ -2504,41 +2329,22 @@ public TestFact(string backendURI, FactOrganizer organizer) : base(organizer) 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"; - } + protected override string generateLabel() + => "test"; /// \copydoc Fact.hasDependentFacts public override bool HasDependentFacts => false; /// \copydoc Fact.getDependentFactIds - protected override string[] GetGetDependentFactIds() - { - 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; - } + protected override string[] GetGetDependentFactIds() + => new string[] { }; /// \copydoc Fact.GetHashCode - public override int GetHashCode() - { - return base.GetHashCode();// this.Pid1.GetHashCode() ^ this.Pid2.GetHashCode(); - } + public override int GetHashCode() + => base.GetHashCode();// this.Pid1.GetHashCode() ^ this.Pid2.GetHashCode(); /// \copydoc Fact.Equivalent(Fact, Fact) protected override bool EquivalentWrapped(TestFact f1, TestFact f2) diff --git a/Assets/Scripts/InteractionEngine/FactHandling/Facts/FunctionFact.cs b/Assets/Scripts/InteractionEngine/FactHandling/Facts/FunctionFact.cs index 30fd3d6b062f51864922a3b8399a9fef537167e0..99686910265f3f2a55bdc96ce3ffb2014cf1929e 100644 --- a/Assets/Scripts/InteractionEngine/FactHandling/Facts/FunctionFact.cs +++ b/Assets/Scripts/InteractionEngine/FactHandling/Facts/FunctionFact.cs @@ -39,20 +39,12 @@ public object[] Call(float t) return Function_in.Function(Function_args.Function(new object[] { t })); } - public override bool HasDependentFacts + public override bool HasDependentFacts => true; protected override string[] GetGetDependentFactIds() => new[] { func_id, arg_func_id }; - 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 = this.Label; - //obj.GetComponent<FactWrapper>().fact = this; - return obj; - } - protected override bool EquivalentWrapped(FunctionCallFact f1, FunctionCallFact f2) => f1.Domain.t_0.IsApproximatelyEqual(f2.Domain.t_0) && f1.Domain.t_n.IsApproximatelyEqual(f2.Domain.t_n) @@ -150,17 +142,12 @@ protected override void RecalculateTransform() { } /// \copydoc Fact.parseFact(ScrollFact) public new static FunctionFact parseFact(MMTDeclaration fact) {// TODO Correctness - string uri = fact.@ref.uri; - OMA df = (OMA)((MMTSymbolDeclaration)fact).defines; - - if (df == null) + if (((MMTSymbolDeclaration)fact).defines is not OMA defines) return null; - string parse_id = df.ToString(); - if (!ParsingDictionary.parseTermsToId.ContainsKey(parse_id)) - ParsingDictionary.parseTermsToId[parse_id] = uri; + ParsingDictionary.parseTermsToId.TryAdd(defines.ToString(), fact.@ref.uri); - return new FunctionFact(df, uri, StageStatic.stage.factState); + return new FunctionFact(defines, fact.@ref.uri, StageStatic.stage.factState); } /// \copydoc Fact.hasDependentFacts @@ -175,15 +162,6 @@ protected override string[] GetGetDependentFactIds() public override int GetHashCode() => Function_expression.GetHashCode(); - /// \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 = this.Label; - //obj.GetComponent<FactWrapper>().fact = this; - return obj; - } - /// \copydoc Fact.EquivalentWrapped protected override bool EquivalentWrapped(FunctionFact f1, FunctionFact f2) => f1.Function_SOMDoc.Equivalent(f2.Function_SOMDoc); @@ -236,17 +214,12 @@ protected AttachedPositionFunction(string fid, string[] funcids, string uri, Fac public new static AttachedPositionFunction parseFact(MMTDeclaration fact) {// TODO Correctness - string uri = fact.@ref.uri; - OMA df = (OMA)((MMTSymbolDeclaration)fact).defines; - - if (df == null) + if (((MMTSymbolDeclaration)fact).defines is not OMA defines) return null; - string parse_id = df.ToString(); - if (!ParsingDictionary.parseTermsToId.ContainsKey(parse_id)) - ParsingDictionary.parseTermsToId[parse_id] = uri; + ParsingDictionary.parseTermsToId.TryAdd(defines.ToString(), fact.@ref.uri); - return new AttachedPositionFunction(default, default, uri, StageStatic.stage.factState); + return new AttachedPositionFunction(default, default, fact.@ref.uri, StageStatic.stage.factState); } public override bool HasDependentFacts @@ -258,14 +231,6 @@ protected override string[] GetGetDependentFactIds() public override int GetHashCode() => Fact.GetHashCode() ^ FunctionFacts.GetHashCode(); - 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 = this.Label; - //obj.GetComponent<FactWrapper>().fact = this; - return obj; - } - protected override bool EquivalentWrapped(AttachedPositionFunction f1, AttachedPositionFunction f2) => DependentFactsEquivalent(f1, f2); diff --git a/Assets/Scripts/InteractionEngine/Gadgets/GadgetBehaviour.cs b/Assets/Scripts/InteractionEngine/Gadgets/GadgetBehaviour.cs index edc38dcd42155ed146b496158728d30768acc572..cf5b11dae9c9a6bb581b2771e6c6b839eb843def 100644 --- a/Assets/Scripts/InteractionEngine/Gadgets/GadgetBehaviour.cs +++ b/Assets/Scripts/InteractionEngine/Gadgets/GadgetBehaviour.cs @@ -109,15 +109,13 @@ void CreateButton(int gid) { GameObject button = GameObject.Instantiate(GadgetButton, parent: ParentMe.transform); button.GetComponent<Image>().sprite = ButtonSprites[gadgets[gid].ButtonIndx]; - var cache = gameObject.transform.parent.parent as RectTransform; + (buttons[gid] = button.GetComponent<Button>()) .onClick.AddListener(() => ActivateGadget(gid)); } buttons = new Button[gadgets.Length]; - //Debug.Log("GadjetsNr: " + gadgets.Length); - for (int i = 0; i < gadgets.Length; i++) { gadgets[i].Awake(); diff --git a/Assets/Scripts/InteractionEngine/Gadgets/LineTool.cs b/Assets/Scripts/InteractionEngine/Gadgets/LineTool.cs index 2682c8ccdb30d5035ef5ea9e7e7112a7a2ae48ad..9a4c748f6a8e0b8cfc572dd9579dc6c543b3a07e 100644 --- a/Assets/Scripts/InteractionEngine/Gadgets/LineTool.cs +++ b/Assets/Scripts/InteractionEngine/Gadgets/LineTool.cs @@ -13,11 +13,9 @@ public class LineTool : Gadget //Cache for drawing Line private readonly Vector3[] LineOrigin = new Vector3[1]; - public override void _Hit(RaycastHit[] hit) { - if (hit[0].transform.gameObject.layer != LayerMask.NameToLayer("Point")) return; diff --git a/Assets/Scripts/InteractionEngine/WorldFactInteraction.cs b/Assets/Scripts/InteractionEngine/WorldFactInteraction.cs index c5bd69b78c00bc93bc6a2dab5325edd6602a099f..9835baad87bf47c166f172237aef230f3cc6a441 100644 --- a/Assets/Scripts/InteractionEngine/WorldFactInteraction.cs +++ b/Assets/Scripts/InteractionEngine/WorldFactInteraction.cs @@ -48,6 +48,8 @@ private void UpdateDisplay() } FactObject factObj = hit.transform.gameObject.GetComponentInChildren<FactObject>(); + if (factObj == null) + hit.transform.gameObject.GetComponentInParent<FactObject>(); if (factObj == null) { @@ -75,7 +77,7 @@ private void InstantiateNewDisplay(FactObject factObj) Destroy(currentDisplay); Fact fact = FactOrganizer.AllFacts[factObj.URI]; // TODO: this link to DisplayFacts is not ideal: maybe refactor to SciptableObject or such - currentDisplay = fact.instantiateDisplay(DisplayFacts.PrefabDictionary[fact.GetType()], HidingCanvas); + currentDisplay = DisplayFacts.InstantiateDisplay(fact, HidingCanvas); } #region Helper diff --git a/Assets/Scripts/InventoryStuff/DisplayFacts.cs b/Assets/Scripts/InventoryStuff/DisplayFacts.cs index d68c0d69b35c39362641fa0d7c2266d55c563819..260a1c2baa0238328d66ae9d2053cbb5e02b4807 100644 --- a/Assets/Scripts/InventoryStuff/DisplayFacts.cs +++ b/Assets/Scripts/InventoryStuff/DisplayFacts.cs @@ -1,15 +1,12 @@ using System.Collections.Generic; using UnityEngine; -using TMPro; using System; -using static CommunicationEvents; using System.Linq; using UnityEngine.UI; -using System.Collections; using MoreLinq; using System.ComponentModel; using UnityEditor; -using System.Reflection; +using static CommunicationEvents; public class DisplayFacts : MonoBehaviour, ISerializationCallbackReceiver { @@ -94,7 +91,7 @@ public void AddFact(Fact fact) int siblingIdx = sortDescending ? 0 : factscreenContent.childCount; if (showGrouped) { - var facts = factscreenContent.GetComponentsInChildren<FactWrapper>().Select(f => f.Fact).ToList(); + var facts = factscreenContent.GetComponentsInChildren<FactObject>().Select(f => f.Fact).ToList(); if (!sortDescending) siblingIdx = GetIndexInSortedList(fact, facts); else @@ -117,13 +114,21 @@ public void AddFact(Fact fact) } private GameObject CreateDisplay(Transform transform, Fact fact) + { + var spot = Instantiate(factSpotPrefab, factscreenContent); + return InstantiateDisplay(fact, spot.transform); + } + + public static GameObject InstantiateDisplay(Fact fact, Transform transform) { Type fact_type = fact.GetType(); - if(fact_type.IsConstructedGenericType) + if (fact_type.IsConstructedGenericType) fact_type = fact_type.GetGenericTypeDefinition(); - var spot = Instantiate(factSpotPrefab, factscreenContent); - return fact.instantiateDisplay(PrefabDictionary[fact_type], spot.transform); + var ret = Instantiate(PrefabDictionary[fact_type], transform); + ret.GetComponent<FactObject>().Fact = fact; + + return ret; } public void RemoveFact(Fact fact) @@ -155,8 +160,8 @@ public void GroupingChanged(Toggle t) var vals = factscreenContent.gameObject.GetDirectChildren(); var ordered = showGrouped - ? vals.OrderBy(tr => tr.GetComponent<FactWrapper>().Fact, new FactTypeComparer()).ToList() - : vals.OrderBy(tr => displayedFacts.Keys.ToList().IndexOf(tr.GetComponent<FactWrapper>().Fact.Id)).ToList(); + ? vals.OrderBy(tr => tr.GetComponent<FactObject>().Fact, new FactTypeComparer()).ToList() + : vals.OrderBy(tr => displayedFacts.Keys.ToList().IndexOf(tr.GetComponent<FactObject>().Fact.Id)).ToList(); if (sortDescending) ordered.Reverse(); diff --git a/Assets/Scripts/InventoryStuff/DropHandling.cs b/Assets/Scripts/InventoryStuff/DropHandling.cs index dfc443f06a17349ba2516bd06f9b9254f0e81232..0fea168fd3859328d609597f464aca85fb1c5df7 100644 --- a/Assets/Scripts/InventoryStuff/DropHandling.cs +++ b/Assets/Scripts/InventoryStuff/DropHandling.cs @@ -10,7 +10,7 @@ public void OnDrop(PointerEventData eventData) { var scrollFact = gameObject.GetComponent<RenderedScrollFact>(); - Debug.Log(eventData.pointerDrag.GetComponent<FactWrapper>().Fact.Label + " was dropped on " + Debug.Log(eventData.pointerDrag.GetComponent<FactObject>().Fact.Label + " was dropped on " + gameObject.name + " " + scrollFact.ID + "/" + ScrollDetails.ParameterDisplays.Count + " label: " + scrollFact.Label); @@ -28,8 +28,8 @@ public void OnDrop(PointerEventData eventData) rect.anchorMin = new Vector2(0.5f, 0.5f); rect.anchorMax = new Vector2(0.5f, 0.5f); - currentFact = eventData.pointerDrag.GetComponent<FactWrapper>().Fact; - current.GetComponent<FactWrapper>().Fact = currentFact; + currentFact = eventData.pointerDrag.GetComponent<FactObject>().Fact; + current.GetComponent<FactObject>().Fact = currentFact; Debug.Log("recieved Fact: " + currentFact.Id); CommunicationEvents.NewAssignmentEvent.Invoke(); diff --git a/Assets/Scripts/InventoryStuff/FactWrapper.cs b/Assets/Scripts/InventoryStuff/FactWrapper.cs deleted file mode 100644 index 50d8a485b11db57ca3ba7169689567178130628b..0000000000000000000000000000000000000000 --- a/Assets/Scripts/InventoryStuff/FactWrapper.cs +++ /dev/null @@ -1,25 +0,0 @@ -using UnityEngine; - -public class FactWrapper : MonoBehaviour -{ - public Fact Fact - { - get => _Fact; - set - { - _Fact = value; - ReLabel(); - } - } - private Fact _Fact; - - protected void ReLabel() - { - - } -} - -public class PointDisplay : FactWrapper -{ - //protected override void Relabel() { } -} diff --git a/Assets/Scripts/InventoryStuff/FactWrapper.cs.meta b/Assets/Scripts/InventoryStuff/FactWrapper.cs.meta deleted file mode 100644 index 3cf5d6e7c4bdedb0308bdfcaf3f3edc3025f0d19..0000000000000000000000000000000000000000 --- a/Assets/Scripts/InventoryStuff/FactWrapper.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/UI/FactExplorer/FactExplorer.cs b/Assets/Scripts/UI/FactExplorer/FactExplorer.cs index 52776d5a51c7ca00c4d696c076753f162a9a55cd..789f07de1c31e29362d1bb662db848a7f8ce44c2 100644 --- a/Assets/Scripts/UI/FactExplorer/FactExplorer.cs +++ b/Assets/Scripts/UI/FactExplorer/FactExplorer.cs @@ -110,12 +110,12 @@ private void SpawnUIFacts(Transform uiParent, List<Fact> toSpawn) if (toSpawn.Count == 0) uiParent.gameObject.SetActive(false); - foreach (Fact f in toSpawn) + foreach (Fact fact in toSpawn) { var spot = Instantiate(factSpotPrefab, uiParent); // TODO: this link to DisplayFacts is not ideal: maybe refactor to SciptableObject or such - var display = f.instantiateDisplay(DisplayFacts.PrefabDictionary[f.GetType()], spot.transform); + var display = DisplayFacts.InstantiateDisplay(fact, spot.transform); display.transform.localPosition = Vector3.zero; } } diff --git a/Assets/Scripts/UI/FactExplorer/FactFavorisation.cs b/Assets/Scripts/UI/FactExplorer/FactFavorisation.cs index ed49702a87451930bb560266a036e9eb6e2f9977..d756607a88189ef841b87a0ab2c365c384ace73d 100644 --- a/Assets/Scripts/UI/FactExplorer/FactFavorisation.cs +++ b/Assets/Scripts/UI/FactExplorer/FactFavorisation.cs @@ -4,7 +4,7 @@ using UnityEngine.Events; using UnityEngine.EventSystems; -[RequireComponent(typeof(FactWrapper), typeof(RectTransform))] +[RequireComponent(typeof(FactObject), typeof(RectTransform))] public class FactFavorisation : MonoBehaviour, IPointerClickHandler { #region InspectorVariables @@ -50,7 +50,7 @@ private void Update() private void Start() { - fact = transform.GetComponent<FactWrapper>().Fact; + fact = transform.GetComponent<FactObject>().Fact; ChangeFavoriteEvent.AddListener(OnFavoriteChange); // if there already was a favoriteDisplayPrefab child (e.g. due to cloning) remove it diff --git a/Assets/Scripts/UI/FactExplorer/OpenFactExplorer.cs b/Assets/Scripts/UI/FactExplorer/OpenFactExplorer.cs index 169473c6172af9fdb375dc91e4e277658b930f82..e80f7734e564f4a2b060545531b28f5051a3eabc 100644 --- a/Assets/Scripts/UI/FactExplorer/OpenFactExplorer.cs +++ b/Assets/Scripts/UI/FactExplorer/OpenFactExplorer.cs @@ -4,7 +4,7 @@ using UnityEngine; using UnityEngine.EventSystems; -[RequireComponent(typeof(FactWrapper), typeof(RectTransform), typeof(DragHandling))] +[RequireComponent(typeof(FactObject), typeof(RectTransform), typeof(DragHandling))] public class OpenFactExplorer : MonoBehaviour, IPointerClickHandler { #region Variables @@ -70,7 +70,7 @@ private void DoOpenFactExplorer() Destroy(factExplorer != null ? factExplorer.gameObject : null); var parent = transform.GetComponentInParent<Canvas>().transform; - var fact = transform.GetComponent<FactWrapper>().Fact; + var fact = transform.GetComponent<FactObject>().Fact; factExplorer = Instantiate(factExplorerPrefab.transform, Input.mousePosition, Quaternion.identity, parent); factExplorer.GetComponent<FactExplorer>().Initialize(fact, transform.position);