diff --git a/Assets/Resources/Prefabs/Facts/Angle.prefab b/Assets/Resources/Prefabs/Facts/Angle.prefab index 97ed6895f00fe59572c344f38561c3711ef1ed86..8d1a734371df68e56944acf15410634f01dbdb64 100644 --- a/Assets/Resources/Prefabs/Facts/Angle.prefab +++ b/Assets/Resources/Prefabs/Facts/Angle.prefab @@ -299,15 +299,14 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: - URI: - materials: - - {fileID: 2100000, guid: 8ae9adf4dc782964387385c1e8c0eb72, type: 2} - - {fileID: 2100000, guid: 34a95baef388bb8458c97a626b732f9f, type: 2} - - {fileID: 2100000, guid: 8621b710d7d1d5041bc6bfd0cc37cdff, type: 2} - - {fileID: 2100000, guid: 2a003f0807acc1142965bb21bdc824f6, type: 2} + FactText: + - {fileID: 3527746868028771423} + - {fileID: 6234540560952625969} + StringLabelFormats: + - '{0}' + - '{0}' renderer: - {fileID: 3394522495515098202} - cascade: [] Default: {fileID: 2100000, guid: 8ae9adf4dc782964387385c1e8c0eb72, type: 2} Selected: {fileID: 2100000, guid: 34a95baef388bb8458c97a626b732f9f, type: 2} Hint: {fileID: 2100000, guid: 8621b710d7d1d5041bc6bfd0cc37cdff, type: 2} @@ -325,6 +324,7 @@ GameObject: - component: {fileID: 3394522496185282005} - component: {fileID: 3394522496185282006} - component: {fileID: 3394522496185282007} + - component: {fileID: 8694869230573919100} m_Layer: 12 m_Name: AngleInner m_TagString: Selectable @@ -427,6 +427,29 @@ MonoBehaviour: m_EditorClassIdentifier: radius: 0.95 height: 0.01 +--- !u!114 &8694869230573919100 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3394522496185282000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} + m_Name: + m_EditorClassIdentifier: + FactText: + - {fileID: 3527746868028771423} + - {fileID: 6234540560952625969} + StringLabelFormats: + - '{0}' + - '{0}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!1 &7144232170300037021 GameObject: m_ObjectHideFlags: 0 @@ -436,6 +459,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 5781467132517744785} + - component: {fileID: 8440018597956601917} m_Layer: 12 m_Name: Angle m_TagString: Selectable @@ -459,6 +483,29 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8440018597956601917 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7144232170300037021} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} + m_Name: + m_EditorClassIdentifier: + FactText: + - {fileID: 3527746868028771423} + - {fileID: 6234540560952625969} + StringLabelFormats: + - '{0}' + - '{0}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!1 &8247887023038618208 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Resources/Prefabs/Facts/Circle.prefab b/Assets/Resources/Prefabs/Facts/Circle.prefab index dffff6e9f95c3a2115460120bdbfea00a77778b9..f58a40eb2203b7ca369e92069d394369705280fd 100644 --- a/Assets/Resources/Prefabs/Facts/Circle.prefab +++ b/Assets/Resources/Prefabs/Facts/Circle.prefab @@ -12,6 +12,7 @@ GameObject: - component: {fileID: 1312883106029576503} - component: {fileID: 5284903402926663935} - component: {fileID: 2574848627300415222} + - component: {fileID: 7280041197286401157} m_Layer: 15 m_Name: Mesh Down m_TagString: SnapZone @@ -27,7 +28,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3319392661904935552} m_LocalRotation: {x: 1, y: 0, z: 0, w: 0} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 0, y: -0.01, z: 0} m_LocalScale: {x: 1, y: 0.01, z: 1} m_ConstrainProportionsScale: 0 m_Children: @@ -99,6 +100,25 @@ MeshCollider: m_Convex: 1 m_CookingOptions: 30 m_Mesh: {fileID: 0} +--- !u!114 &7280041197286401157 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3319392661904935552} + m_Enabled: 1 + m_EditorHideFlags: 0 + 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!1 &4682201382595328041 GameObject: m_ObjectHideFlags: 0 @@ -116,7 +136,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!4 &6787775389045427190 Transform: m_ObjectHideFlags: 0 @@ -277,6 +297,7 @@ GameObject: - component: {fileID: 7167210412035754299} - component: {fileID: 1078883255209641429} - component: {fileID: 8526453253978894086} + - component: {fileID: -7239156242830623982} m_Layer: 15 m_Name: Mesh Up m_TagString: SnapZone @@ -292,7 +313,7 @@ Transform: 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_LocalPosition: {x: 0, y: 0.01, z: 0} m_LocalScale: {x: 1, y: 0.01, z: 1} m_ConstrainProportionsScale: 0 m_Children: @@ -364,6 +385,25 @@ MeshCollider: m_Convex: 1 m_CookingOptions: 30 m_Mesh: {fileID: 0} +--- !u!114 &-7239156242830623982 +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: + FactText: [] + StringLabelFormats: [] + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!1 &6839596689016440457 GameObject: m_ObjectHideFlags: 0 @@ -430,15 +470,10 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: - URI: - materials: - - {fileID: 2100000, guid: 8ae9adf4dc782964387385c1e8c0eb72, type: 2} - - {fileID: 2100000, guid: 34a95baef388bb8458c97a626b732f9f, type: 2} - - {fileID: 2100000, guid: 8621b710d7d1d5041bc6bfd0cc37cdff, type: 2} - - {fileID: 2100000, guid: 2a003f0807acc1142965bb21bdc824f6, type: 2} + FactText: [] + StringLabelFormats: [] renderer: - {fileID: 1078883255209641429} - cascade: [] Default: {fileID: 2100000, guid: 8ae9adf4dc782964387385c1e8c0eb72, type: 2} Selected: {fileID: 2100000, guid: 34a95baef388bb8458c97a626b732f9f, type: 2} Hint: {fileID: 2100000, guid: 8621b710d7d1d5041bc6bfd0cc37cdff, type: 2} diff --git a/Assets/Resources/Prefabs/Facts/Line.prefab b/Assets/Resources/Prefabs/Facts/Line.prefab index 97d90b5c2d3568872f7e15725b472a7c2f48b730..9da29198ba8341ff37f9d4928ef83f2cdf871860 100644 --- a/Assets/Resources/Prefabs/Facts/Line.prefab +++ b/Assets/Resources/Prefabs/Facts/Line.prefab @@ -9,6 +9,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 5818562496562931847} + - component: {fileID: 2028494018615604281} m_Layer: 11 m_Name: Line m_TagString: Selectable @@ -33,6 +34,27 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2028494018615604281 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2317807655120713368} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} + m_Name: + m_EditorClassIdentifier: + FactText: + - {fileID: 1723009895384754658} + StringLabelFormats: + - '{0}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!1 &4853696702160906218 GameObject: m_ObjectHideFlags: 0 @@ -348,9 +370,9 @@ GameObject: - component: {fileID: 3517099398133763913} - component: {fileID: 6398251481098695290} - component: {fileID: 6015977261426572496} - - component: {fileID: 9069160241511124499} - component: {fileID: 6179051021116985022} - component: {fileID: 9072308735336053453} + - component: {fileID: 184519196497952346} m_Layer: 11 m_Name: LineOuter m_TagString: SnapZone @@ -423,31 +445,6 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!114 &9069160241511124499 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6378548342073962023} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} - m_Name: - m_EditorClassIdentifier: - URI: - materials: - - {fileID: 2100000, guid: 8ae9adf4dc782964387385c1e8c0eb72, type: 2} - - {fileID: 2100000, guid: 34a95baef388bb8458c97a626b732f9f, type: 2} - - {fileID: 2100000, guid: 8621b710d7d1d5041bc6bfd0cc37cdff, type: 2} - - {fileID: 2100000, guid: 2a003f0807acc1142965bb21bdc824f6, type: 2} - renderer: - - {fileID: 6015977261426572496} - cascade: [] - Default: {fileID: 2100000, guid: 8ae9adf4dc782964387385c1e8c0eb72, type: 2} - Selected: {fileID: 2100000, guid: 34a95baef388bb8458c97a626b732f9f, type: 2} - Hint: {fileID: 2100000, guid: 8621b710d7d1d5041bc6bfd0cc37cdff, type: 2} - Solution: {fileID: 2100000, guid: 2a003f0807acc1142965bb21bdc824f6, type: 2} --- !u!65 &6179051021116985022 BoxCollider: m_ObjectHideFlags: 0 @@ -481,6 +478,26 @@ Animator: m_HasTransformHierarchy: 1 m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!114 &184519196497952346 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6378548342073962023} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} + m_Name: + m_EditorClassIdentifier: + FactText: [] + StringLabelFormats: [] + renderer: + - {fileID: 6015977261426572496} + Default: {fileID: 2100000, guid: 8ae9adf4dc782964387385c1e8c0eb72, type: 2} + Selected: {fileID: 2100000, guid: 34a95baef388bb8458c97a626b732f9f, type: 2} + Hint: {fileID: 2100000, guid: 8621b710d7d1d5041bc6bfd0cc37cdff, type: 2} + Solution: {fileID: 2100000, guid: 2a003f0807acc1142965bb21bdc824f6, type: 2} --- !u!1 &6754103560634016048 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Resources/Prefabs/Facts/Point.prefab b/Assets/Resources/Prefabs/Facts/Point.prefab index 2e66ce013b0318d2bcec5c37a159d992a299236e..9ea49bf45ccc46274887b99d43bd8fc5bc824a73 100644 --- a/Assets/Resources/Prefabs/Facts/Point.prefab +++ b/Assets/Resources/Prefabs/Facts/Point.prefab @@ -115,15 +115,12 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: - URI: - materials: - - {fileID: 2100000, guid: 8ae9adf4dc782964387385c1e8c0eb72, type: 2} - - {fileID: 2100000, guid: 34a95baef388bb8458c97a626b732f9f, type: 2} - - {fileID: 2100000, guid: 8621b710d7d1d5041bc6bfd0cc37cdff, type: 2} - - {fileID: 2100000, guid: 2a003f0807acc1142965bb21bdc824f6, type: 2} + FactText: + - {fileID: 4028707725789292921} + StringLabelFormats: + - '{0}' renderer: - {fileID: 1075046474335495899} - cascade: [] Default: {fileID: 2100000, guid: 8ae9adf4dc782964387385c1e8c0eb72, type: 2} Selected: {fileID: 2100000, guid: 34a95baef388bb8458c97a626b732f9f, type: 2} Hint: {fileID: 2100000, guid: 8621b710d7d1d5041bc6bfd0cc37cdff, type: 2} @@ -339,6 +336,7 @@ GameObject: m_Component: - component: {fileID: 1897634834899172406} - component: {fileID: 2282314938058693146} + - component: {fileID: -1711701745619400267} m_Layer: 10 m_Name: SnapSphere m_TagString: SnapZone @@ -374,6 +372,25 @@ SphereCollider: serializedVersion: 2 m_Radius: 0.5 m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &-1711701745619400267 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3501726312507320707} + m_Enabled: 1 + m_EditorHideFlags: 0 + 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!1 &7522635739010457072 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Resources/Prefabs/Facts/Ray.prefab b/Assets/Resources/Prefabs/Facts/Ray.prefab index 7362fd75119ea21e039628917517f80a38e7e4f1..e1d3fca669be928979ac2c93cfbeee65af4da33e 100644 --- a/Assets/Resources/Prefabs/Facts/Ray.prefab +++ b/Assets/Resources/Prefabs/Facts/Ray.prefab @@ -9,6 +9,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 5818562496562931847} + - component: {fileID: 4167478318603126375} m_Layer: 13 m_Name: Ray m_TagString: Selectable @@ -33,6 +34,27 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4167478318603126375 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2317807655120713368} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} + m_Name: + m_EditorClassIdentifier: + FactText: + - {fileID: 1723009895384754658} + StringLabelFormats: + - '{0}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!1 &2715767601543569183 GameObject: m_ObjectHideFlags: 0 @@ -435,15 +457,10 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: - URI: - materials: - - {fileID: 2100000, guid: 8ae9adf4dc782964387385c1e8c0eb72, type: 2} - - {fileID: 2100000, guid: 34a95baef388bb8458c97a626b732f9f, type: 2} - - {fileID: 2100000, guid: 8621b710d7d1d5041bc6bfd0cc37cdff, type: 2} - - {fileID: 2100000, guid: 2a003f0807acc1142965bb21bdc824f6, type: 2} + FactText: [] + StringLabelFormats: [] renderer: - {fileID: 6015977261426572496} - cascade: [] Default: {fileID: 2100000, guid: 8ae9adf4dc782964387385c1e8c0eb72, type: 2} Selected: {fileID: 2100000, guid: 34a95baef388bb8458c97a626b732f9f, type: 2} Hint: {fileID: 2100000, guid: 8621b710d7d1d5041bc6bfd0cc37cdff, type: 2} diff --git a/Assets/Resources/Prefabs/Facts/Ring.prefab b/Assets/Resources/Prefabs/Facts/Ring.prefab index a61092489428fe7c69537ccf090903cdf500f872..12e9010936ceda8be3e716bd49fdcd713a07d473 100644 --- a/Assets/Resources/Prefabs/Facts/Ring.prefab +++ b/Assets/Resources/Prefabs/Facts/Ring.prefab @@ -288,15 +288,10 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: - URI: - materials: - - {fileID: 2100000, guid: 8ae9adf4dc782964387385c1e8c0eb72, type: 2} - - {fileID: 2100000, guid: 34a95baef388bb8458c97a626b732f9f, type: 2} - - {fileID: 2100000, guid: 8621b710d7d1d5041bc6bfd0cc37cdff, type: 2} - - {fileID: 2100000, guid: 2a003f0807acc1142965bb21bdc824f6, type: 2} + FactText: [] + StringLabelFormats: [] renderer: - {fileID: 4181090182545414655} - cascade: [] Default: {fileID: 2100000, guid: 8ae9adf4dc782964387385c1e8c0eb72, type: 2} Selected: {fileID: 2100000, guid: 34a95baef388bb8458c97a626b732f9f, type: 2} Hint: {fileID: 2100000, guid: 8621b710d7d1d5041bc6bfd0cc37cdff, type: 2} @@ -446,6 +441,7 @@ GameObject: m_Component: - component: {fileID: 2014127074789226423} - component: {fileID: 2449733549921447938} + - component: {fileID: 3963086670126537751} m_Layer: 14 m_Name: Ring m_TagString: Selectable @@ -487,6 +483,27 @@ MonoBehaviour: ringSegmentCount: 50 segmentSideCount: 30 torusMesh: {fileID: 6307794999199274257} +--- !u!114 &3963086670126537751 +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: 626c435b76e0d334f959ede8b54b07ac, type: 3} + m_Name: + m_EditorClassIdentifier: + FactText: + - {fileID: 1254072669719294581} + StringLabelFormats: + - '{0}' + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} --- !u!1 &8117705180640636930 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Resources/Prefabs/Stage_Default.prefab b/Assets/Resources/Prefabs/Stage_Default.prefab index 4172763d3939f2591f8342de3eab683a43bdf1e7..81d29468d328d7e2cdb94e0d421d0656731029e6 100644 --- a/Assets/Resources/Prefabs/Stage_Default.prefab +++ b/Assets/Resources/Prefabs/Stage_Default.prefab @@ -2246,7 +2246,7 @@ PrefabInstance: - target: {fileID: 861183262417667852, guid: b996060e27da25c498842defc1996d84, type: 3} propertyPath: m_Value - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 861183262417667854, guid: b996060e27da25c498842defc1996d84, type: 3} diff --git a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayTestFact.prefab b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayTestFact.prefab index 884c0b8ca44f5f7134efc3dc00f7bb940e166755..3a97fdcbbdf1c0ee4cd5086a3050a3a467df8c8d 100644 --- a/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayTestFact.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/FactIcons/DisplayTestFact.prefab @@ -35,7 +35,8 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 5306809593801141744} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -132,8 +133,10 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: - FactText: [] - StringLabelFormats: [] + FactText: + - {fileID: 6086025492030478819} + StringLabelFormats: + - '{0}' renderer: [] Default: {fileID: 0} Selected: {fileID: 0} @@ -167,3 +170,138 @@ MonoBehaviour: m_EditorClassIdentifier: favoriteDisplayPrefab: {fileID: 2810062559722195091, guid: 0b34469213856774980670de85a7d4a0, type: 3} +--- !u!1 &6391605716120646375 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5306809593801141744} + - component: {fileID: 4435419560705582795} + - component: {fileID: 6086025492030478819} + m_Layer: 5 + m_Name: point + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5306809593801141744 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6391605716120646375} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6755804354927699367} + 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: -25} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4435419560705582795 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6391605716120646375} + m_CullTransparentMesh: 0 +--- !u!114 &6086025492030478819 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6391605716120646375} + 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/GadgetButton.prefab b/Assets/Resources/Prefabs/UI/Icons/GadgetButton.prefab index 502f249b7914ccad2920db9dc09163e454de2e1e..e108a5f1a3804dcb635e688356175c6a26e25382 100644 --- a/Assets/Resources/Prefabs/UI/Icons/GadgetButton.prefab +++ b/Assets/Resources/Prefabs/UI/Icons/GadgetButton.prefab @@ -12,8 +12,9 @@ GameObject: - component: {fileID: 4469453702329312233} - component: {fileID: 565795937736748943} - component: {fileID: 6315983451093957514} - - component: {fileID: 6972799681139387453} - component: {fileID: 1550777745310495707} + - component: {fileID: 6845160251704569511} + - component: {fileID: 8946782148301631239} m_Layer: 5 m_Name: GadgetButton m_TagString: Untagged @@ -123,7 +124,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: [] ---- !u!114 &6972799681139387453 +--- !u!114 &1550777745310495707 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -132,10 +133,12 @@ MonoBehaviour: m_GameObject: {fileID: 5345241908758045532} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0bcd3d8d9996d4f86c0a2b8b71c6bf, type: 3} + m_Script: {fileID: 11500000, guid: a1ed516d861fa2c45a2b1767d1217acb, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!114 &1550777745310495707 + factExplorerPrefab: {fileID: 5592893003942163674, guid: ff7415df1aac19c41a7855516a108a8a, + type: 3} +--- !u!114 &6845160251704569511 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -144,8 +147,26 @@ MonoBehaviour: m_GameObject: {fileID: 5345241908758045532} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a1ed516d861fa2c45a2b1767d1217acb, type: 3} + m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3} m_Name: m_EditorClassIdentifier: - factExplorerPrefab: {fileID: 5592893003942163674, guid: ff7415df1aac19c41a7855516a108a8a, - type: 3} + FactText: [] + StringLabelFormats: [] + renderer: [] + Default: {fileID: 0} + Selected: {fileID: 0} + Hint: {fileID: 0} + Solution: {fileID: 0} +--- !u!114 &8946782148301631239 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5345241908758045532} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a091cb23127eb7347955cb7f747af431, type: 3} + m_Name: + m_EditorClassIdentifier: + dragged: 0 diff --git a/Assets/Scripts/InteractionEngine/FactHandling/FactObject.cs b/Assets/Scripts/InteractionEngine/FactHandling/FactObject.cs index 63cdc1a85b104ffb4d948c96c9c8bd94ab685813..021eee079ed970f95e348ae1886c7a6492838316 100644 --- a/Assets/Scripts/InteractionEngine/FactHandling/FactObject.cs +++ b/Assets/Scripts/InteractionEngine/FactHandling/FactObject.cs @@ -4,11 +4,12 @@ using UnityEngine; using System.Collections; using TMPro; +using UnityEditor; /// <summary> /// <see cref="Fact.Id"/>/ <c>MonoBehaviour</c> wrapper to be attached to <see cref="Fact.Representation"/> /// </summary> -[DisallowMultipleComponent] +//[DisallowMultipleComponent] public class FactObject : MonoBehaviour, ISerializationCallbackReceiver { /// <summary> @@ -21,7 +22,7 @@ public string URI { _Fact = null; _URI = value; - ReLabel(); + FactUpdated(); } } private string _URI; @@ -40,7 +41,7 @@ public Fact Fact { _Fact = value; _URI = value.Id; - ReLabel(); + FactUpdated(); } } private Fact _Fact; @@ -54,14 +55,14 @@ public enum FactMaterials } - [SerializeField] private List<TextMeshProUGUI> FactText; - [SerializeField] private List<string> StringLabelFormats; + [SerializeField] protected List<TMP_Text> FactText; + [SerializeField] protected List<string> StringLabelFormats; [NonSerialized] public Material[] materials; public new Renderer[] renderer; [NonSerialized] - private List<FactObject> cascade; + protected List<FactObject> AllChildren; #region Unity Serialization public Material Default; @@ -74,15 +75,16 @@ void ISerializationCallbackReceiver.OnBeforeSerialize() if (FactText == null || FactText.Count() == 0) { FactText = transform - .GetComponentsInChildren<TextMeshProUGUI>(includeInactive: true) + .GetComponentsInChildren<TMP_Text>(includeInactive: true) .ToList(); } { StringLabelFormats ??= new(); - int i = Math.Min(FactText.Count(), StringLabelFormats.Count()); - int end = Math.Max(FactText.Count(), StringLabelFormats.Count()); + int i = StringLabelFormats.Count(); + int end = FactText.Count(); + for (; i < end; i++) StringLabelFormats.Add("{" + (i + 1) + "}"); } @@ -94,6 +96,21 @@ void ISerializationCallbackReceiver.OnBeforeSerialize() Hint = materials[(int)FactMaterials.Hint]; Solution = materials[(int)FactMaterials.Solution]; } + +#if UNITY_EDITOR // not working + if (EditorApplication.isPlaying) + return; + + foreach (Collider collider in transform.GetComponentsInChildren<Collider>(includeInactive: true)) + { + if (!collider.gameObject.GetComponent<FactObject>()) + try + { + collider.gameObject.AddComponent<FactObject>(); + } + catch(Exception) { } + } +#endif } void ISerializationCallbackReceiver.OnAfterDeserialize() @@ -110,15 +127,32 @@ void ISerializationCallbackReceiver.OnAfterDeserialize() private void Awake() { - cascade = new() { this, }; - cascade.AddRange(transform.GetComponentsInChildren<FactObject>(includeInactive: true)); + AllChildren = transform.GetComponentsInChildren<FactObject>(includeInactive: true).ToList(); + AllChildren.Remove(this); + } + + protected virtual void FactUpdated() + { + Awake(); + + ReLabel(); + + foreach (FactObject childObject in AllChildren) + { + childObject._URI = _URI; + childObject._Fact = null; + childObject.FactUpdated(); + } } public void ReLabel() { string[] mother_child_labels = new[] { URI }.ShallowCloneAppend(Fact.DependentFactIds) - .Select(fid => FactOrganizer.AllFacts[fid].Label) + .Select(fid => + FactOrganizer.AllFacts.TryGetValue(fid, out Fact fact) + ? fact.Label + : "N/A") .ToArray(); string indexoverflow = "{" + mother_child_labels.Length.ToString() + "}"; @@ -132,11 +166,21 @@ public void ReLabel() } FactText[i].text = string.Format(StringLabelFormats[i], mother_child_labels); } + + switch (Fact) // for highly customized labels + { + case TestFact testFact: + //FactText[0].text = testFact.Label; + break; + default: + break; + } } - public void CascadeForChildren(Action<FactObject> func) + public void CascadeForMeAndChildren(Action<FactObject> func) { - foreach (FactObject fo in cascade) + func(this); + foreach (FactObject fo in AllChildren) func(fo); } @@ -146,12 +190,13 @@ public void ForAllRenderer(Action<Renderer> func) func(ren); } - public void CoroutineCascadeForChildrenAllRenderer(Func<FactObject, Renderer, IEnumerator> func) + public void CoroutineCascadeForMeAndChildrenAllRenderer(Func<FactObject, Renderer, IEnumerator> func) { this.StopAllCoroutines(); - foreach (FactObject fo in cascade) - foreach (Renderer ren in fo.renderer) - StartCoroutine(func(fo, ren)); + CascadeForMeAndChildren((FactObject fo) => + fo.ForAllRenderer((Renderer ren) => + StartCoroutine(func(fo, ren)) + )); } } diff --git a/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs b/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs index a68fa0f207ebf9a8045428f92b291315107d7c3d..8e4ed366f64541e3167c8b214989b1e178ea164c 100644 --- a/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs +++ b/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs @@ -57,9 +57,9 @@ public void SpawnAttachedPositionFunction(AttachedPositionFunction fact) public void SpawnPoint(PointFact fact) { GameObject point = GameObject.Instantiate(Sphere); - point.transform.SetPositionAndRotation(fact.Position, fact.Rotation); - point.GetComponentInChildren<TextMeshPro>().text = fact.Label; point.GetComponent<FactObject>().URI = fact.Id; + point.transform.SetPositionAndRotation(fact.Position, fact.Rotation); + //point.GetComponentInChildren<TextMeshPro>().text = fact.Label; fact.Representation = point; } @@ -67,6 +67,7 @@ public void SpawnLine(LineFact fact) { //Change FactRepresentation to Line GameObject line = GameObject.Instantiate(Line); + line.GetComponentInChildren<FactObject>().URI = fact.Id; //Place the Line in the centre of the two points line.transform.position = fact.Position; @@ -77,7 +78,6 @@ public void SpawnLine(LineFact fact) line.GetComponentInChildren<TextMeshPro>().text = fact.Label + " = " + Math.Round(fact.Distance, 2) + " m"; - line.GetComponentInChildren<FactObject>().URI = fact.Id; fact.Representation = line; } @@ -86,6 +86,7 @@ public void SpawnRay(RayFact fact) { //Change FactRepresentation to Line GameObject line = GameObject.Instantiate(Ray); + line.GetComponentInChildren<FactObject>().URI = fact.Id; //Place the Line in the centre of the two points line.transform.position = fact.Position; @@ -94,8 +95,7 @@ public void SpawnRay(RayFact fact) line.transform.GetChild(0).localScale = fact.LocalScale; line.transform.GetChild(0).rotation = fact.Rotation; - line.GetComponentInChildren<TextMeshPro>().text = fact.Label; - line.GetComponentInChildren<FactObject>().URI = fact.Id; + //line.GetComponentInChildren<TextMeshPro>().text = fact.Label; fact.Representation = line; } @@ -109,6 +109,7 @@ public void SpawnAngle(AbstractAngleFact fact) //Change FactRepresentation to Angle GameObject angle = GameObject.Instantiate(Angle); + angle.GetComponentInChildren<FactObject>().URI = fact.Id; //Place the Angle at position of point2 angle.transform.SetPositionAndRotation(Psotion, Rotation); @@ -126,7 +127,6 @@ public void SpawnAngle(AbstractAngleFact fact) foreach (CircleSegmentGenerator c in segments) c.setAngle(angleValue); - angle.GetComponentInChildren<FactObject>().URI = fact.Id; fact.Representation = angle; } @@ -145,17 +145,14 @@ public void SpawnRingAndCircle(CircleFact fact) public void SpawnRing(CircleFact circleFact, Transform parent = null) { GameObject ring = GameObject.Instantiate(Ring, parent); - var tori = ring.GetComponentsInChildren<TorusGenerator>(); - var tmpText = ring.GetComponentInChildren<TextMeshPro>(); - var FactObj = ring.GetComponentInChildren<FactObject>(); + ring.GetComponentInChildren<FactObject>().URI = circleFact.Id; - //Set radii + var tori = ring.GetComponentsInChildren<TorusGenerator>(); foreach (var torus in tori) torus.torusRadius = circleFact.radius; - tmpText.text = $"â—‹{circleFact.Point1.Label}"; - - FactObj.URI = circleFact.Id; + //var tmpText = ring.GetComponentInChildren<TextMeshPro>(); + //tmpText.text = $"â—‹{circleFact.Point1.Label}"; } public void SpawnCircle(CircleFact circleFact, Transform parent = null) diff --git a/Assets/Scripts/InteractionEngine/FactHandling/Facts/FunctionFact.cs b/Assets/Scripts/InteractionEngine/FactHandling/Facts/FunctionFact.cs index 99686910265f3f2a55bdc96ce3ffb2014cf1929e..d77e7f88582b9ce034551e37b7deec07271c1bfd 100644 --- a/Assets/Scripts/InteractionEngine/FactHandling/Facts/FunctionFact.cs +++ b/Assets/Scripts/InteractionEngine/FactHandling/Facts/FunctionFact.cs @@ -185,7 +185,7 @@ public class AttachedPositionFunction : FactWrappedCRTP<AttachedPositionFunction public Fact Fact => FactOrganizer.AllFacts[fid]; [JsonIgnore] - public FunctionCallFact[] FunctionFacts + public FunctionCallFact[] FunctionCallFacts => func_call_ids.Select(f => FactOrganizer.AllFacts[f] as FunctionCallFact).ToArray(); /// <summary>\copydoc Fact.Fact()</summary> @@ -196,7 +196,7 @@ public AttachedPositionFunction(string fid, string[] funcids, FactOrganizer orga { init(fid, funcids); //TODO: call MMT, set URI - _URI = Fact.Id + "{" + string.Join(", ", FunctionFacts.Select(f => f.Id)) + "}"; + _URI = Fact.Id + "{" + string.Join(", ", FunctionCallFacts.Select(f => f.Id)) + "}"; } private void init(string fid, string[] funcids) @@ -229,7 +229,7 @@ protected override string[] GetGetDependentFactIds() => new string[] { fid }.ShallowCloneAppend(func_call_ids); public override int GetHashCode() - => Fact.GetHashCode() ^ FunctionFacts.GetHashCode(); + => Fact.GetHashCode() ^ FunctionCallFacts.GetHashCode(); protected override bool EquivalentWrapped(AttachedPositionFunction f1, AttachedPositionFunction f2) => DependentFactsEquivalent(f1, f2); diff --git a/Assets/Scripts/InteractionEngine/ShinyThings.cs b/Assets/Scripts/InteractionEngine/ShinyThings.cs index 4be58172dadf90d03b6ab2905becc641544d11f2..7a07335331629086734868bf185d30585c80b9ac 100644 --- a/Assets/Scripts/InteractionEngine/ShinyThings.cs +++ b/Assets/Scripts/InteractionEngine/ShinyThings.cs @@ -75,7 +75,7 @@ private void HighlightCurserHit(RaycastHit hit) } void ApplyMaterial(FactObject root, Material new_mat) => - root.CoroutineCascadeForChildrenAllRenderer( + root.CoroutineCascadeForMeAndChildrenAllRenderer( (_, renderer) => renderer.ProgrammMaterialChange(new[] { (0f, lerpTime, new_mat), @@ -90,7 +90,7 @@ public static void HighlightFact(Fact startFact, FactObject.FactMaterials tmp_ma FactObject selected_fact_obj = startFact.Representation.GetComponentInChildren<FactObject>(); - selected_fact_obj.CoroutineCascadeForChildrenAllRenderer( + selected_fact_obj.CoroutineCascadeForMeAndChildrenAllRenderer( (fact_obj, renderer) => renderer.ProgrammMaterialChange(new[] { (0f, lerpTime, fact_obj.materials[(int) tmp_mat]), diff --git a/Assets/Scripts/InteractionEngine/TBD/AttachedPositionFunctionBehaviour.cs b/Assets/Scripts/InteractionEngine/TBD/AttachedPositionFunctionBehaviour.cs index 91c99ec4e661cb0c7f9547638b0ba8b9ab4a6b2b..b48e502a3aeef8d76af8ca06b6d3833122f1148f 100644 --- a/Assets/Scripts/InteractionEngine/TBD/AttachedPositionFunctionBehaviour.cs +++ b/Assets/Scripts/InteractionEngine/TBD/AttachedPositionFunctionBehaviour.cs @@ -49,18 +49,33 @@ public void NewExecutingInstance() if (!original) return; + GameObject clone = Instantiate(gameObject); + clone.GetComponent<FactObject>().URI = (Fact as AttachedPositionFunction).Fact.Id; + AttachedPositionFunctionBehaviour cloneComp = - GameObject.Instantiate(gameObject)//, gameObject.transform) - .GetComponent<AttachedPositionFunctionBehaviour>(); - cloneComp.Start(); + clone.GetComponent<AttachedPositionFunctionBehaviour>(); + cloneComp.URI = URI; cloneComp.original = false; + + cloneComp.Start(); cloneComp.StartExecution(); } + private void Awake() + { + // TODO! SE: not great, but terrible + AllChildren = new(); + FactText = new(); + StringLabelFormats = new(); + } + + // TODO! SE: not great, but terrible + protected override void FactUpdated() { } + private void Start() { startcondition = transform; - f_t_to_pos = (Fact as AttachedPositionFunction).FunctionFacts.ToList(); + f_t_to_pos = (Fact as AttachedPositionFunction).FunctionCallFacts.ToList(); } private void OnEnable() diff --git a/Assets/Scripts/InventoryStuff/DropHandling.cs b/Assets/Scripts/InventoryStuff/DropHandling.cs index 0fea168fd3859328d609597f464aca85fb1c5df7..fe6352972fcb2e700297a1a0d42b641ae2645b65 100644 --- a/Assets/Scripts/InventoryStuff/DropHandling.cs +++ b/Assets/Scripts/InventoryStuff/DropHandling.cs @@ -11,7 +11,7 @@ public void OnDrop(PointerEventData eventData) var scrollFact = gameObject.GetComponent<RenderedScrollFact>(); Debug.Log(eventData.pointerDrag.GetComponent<FactObject>().Fact.Label + " was dropped on " - + gameObject.name + " " + scrollFact.ID + "/" + + + gameObject.name + " " + (scrollFact.ID + 1) + "/" + ScrollDetails.ParameterDisplays.Count + " label: " + scrollFact.Label); Destroy(current); diff --git a/Assets/Scripts/MeshGenerator/ConeGenerator.cs b/Assets/Scripts/MeshGenerator/ConeGenerator.cs index 717cd56f47be2883e74198b4da2007083e828bdf..73cc683360f1c588a9765645aa395ea5824a5fc0 100644 --- a/Assets/Scripts/MeshGenerator/ConeGenerator.cs +++ b/Assets/Scripts/MeshGenerator/ConeGenerator.cs @@ -29,6 +29,9 @@ protected override void GenerateShape() Vector3[] bottomCircle = GetCirclePoints(bottomRadius, sideCount); Vector3[] topCircle = GetCirclePoints(topRadius, sideCount, topPosition); + if (sideMesh == null || topMesh == null || bottomMesh == null) + return; + //side if (sideMesh.sharedMesh != null) sideMesh.sharedMesh.Clear(); diff --git a/Assets/Scripts/MeshGenerator/TorusGenerator.cs b/Assets/Scripts/MeshGenerator/TorusGenerator.cs index ab05a78233c7656f78b9b0ebb88aa4dbac822080..f93ed849f69c59034ca85c11e64119590a6d24d0 100644 --- a/Assets/Scripts/MeshGenerator/TorusGenerator.cs +++ b/Assets/Scripts/MeshGenerator/TorusGenerator.cs @@ -22,6 +22,9 @@ public class TorusGenerator : ShapeGenerator #region Implementation protected override void GenerateShape() { + if (torusMesh == null) + return; + if (torusMesh.sharedMesh != null) torusMesh.sharedMesh.Clear(); diff --git a/Assets/Scripts/SoundManager.cs b/Assets/Scripts/SoundManager.cs index 492de2034f12eec6f78a7ad022febb087dda0d5e..f1af5e0de7e5523b2f84a8bb2b248c75727b39b8 100644 --- a/Assets/Scripts/SoundManager.cs +++ b/Assets/Scripts/SoundManager.cs @@ -11,10 +11,12 @@ public class SoundManager : MonoBehaviour // Start is called before the first frame update void Start() { - if(!PlayerPrefs.HasKey("soundVolume")) { + if (!PlayerPrefs.HasKey("soundVolume")) + { PlayerPrefs.SetFloat("soundVolume", defaultVolume); Load(); - } else + } + else { Load(); } @@ -23,16 +25,24 @@ void Start() public void Awake() { //singleton - if(Instance == null) + if (Instance == null) { Instance = this; - DontDestroyOnLoad(gameObject); - } else + if (gameObject.IsRoot()) + DontDestroyOnLoad(gameObject); + } + else { Destroy(gameObject); } } + private void OnDestroy() + { + if (!gameObject.IsRoot()) + Instance = null; + } + public void ChangeVolume() { AudioListener.volume = volumeSlider.value; @@ -43,10 +53,9 @@ private void Load() { volumeSlider.value = PlayerPrefs.GetFloat("soundVolume"); } + private void Save() { PlayerPrefs.SetFloat("soundVolume", volumeSlider.value); } - - } diff --git a/Assets/Scripts/Utility/Extensions/GameObjectExtensions.cs b/Assets/Scripts/Utility/Extensions/GameObjectExtensions.cs index 003876b4550f6e6acea5e4e149e7760a1079355e..86b5c77a42ea6b4e81acde50fb951d7c3f3a3d9a 100644 --- a/Assets/Scripts/Utility/Extensions/GameObjectExtensions.cs +++ b/Assets/Scripts/Utility/Extensions/GameObjectExtensions.cs @@ -5,6 +5,9 @@ public static class GameObjectExtensions { + public static bool IsRoot(this GameObject root) + => root.transform.parent == null; + public static void SetActiveByTagRecursive(this GameObject root, string tag, bool enable) => root.ForAllChildren(child => { if (child.CompareTag(tag)) diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index 2f91af0d16765917cc71d74a246203aae4c540e1..70253e43e61bbe6e9f9976677fcae67f4b262a82 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -12,10 +12,10 @@ EditorUserSettings: value: 5b01035553515d0e0b0f5b7415725d444e4f1d2b2e782332757f4863e4e6673c flags: 0 RecentlyUsedSceneGuid-2: - value: 5b5200520604510a5b5b587642270744124e4e7a7e7f2764742f1b61b0e6613a + value: 0502505152005e020c0d0e2446275e44144f19287f707e362c7c4b60b2b9353c flags: 0 RecentlyUsedSceneGuid-3: - value: 0502505152005e020c0d0e2446275e44144f19287f707e362c7c4b60b2b9353c + value: 5b5200520604510a5b5b587642270744124e4e7a7e7f2764742f1b61b0e6613a flags: 0 RecentlyUsedSceneGuid-4: value: 0709560454055c0d0c5e5c2444740b4413154a72792d22627c714963e0b6373d