From 7fb0ff54b1e8dac6e6d791bed565b932a547a80b Mon Sep 17 00:00:00 2001 From: MelekTaus Moribundus Date: Fri, 10 Jul 2026 19:28:22 +0200 Subject: [PATCH] Add double-click-to-reset on all sliders (interval + pointer tolerance) and sync PaintHud slider defaults Co-Authored-By: Claude Fable 5 --- Assets/Prefabs/PaintHudPanel.prefab | 515 +++++++++++++++++- .../Components/MeshPainter/MeshPainter.cs | 2 +- .../Components/UI/SliderDoubleClickReset.cs | 41 ++ .../UI/SliderDoubleClickReset.cs.meta | 2 + 4 files changed, 537 insertions(+), 23 deletions(-) create mode 100644 Assets/Scripts/Components/UI/SliderDoubleClickReset.cs create mode 100644 Assets/Scripts/Components/UI/SliderDoubleClickReset.cs.meta diff --git a/Assets/Prefabs/PaintHudPanel.prefab b/Assets/Prefabs/PaintHudPanel.prefab index 5750d43..522abcb 100644 --- a/Assets/Prefabs/PaintHudPanel.prefab +++ b/Assets/Prefabs/PaintHudPanel.prefab @@ -11186,13 +11186,36 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 8422302119852550753} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} --- !u!224 &5426747044321037415 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} m_PrefabInstance: {fileID: 201611063859136354} m_PrefabAsset: {fileID: 0} +--- !u!1 &6928654862305171619 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + m_PrefabInstance: {fileID: 201611063859136354} + m_PrefabAsset: {fileID: 0} +--- !u!114 &8422302119852550753 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6928654862305171619} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 24 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!1001 &321342751622582168 PrefabInstance: m_ObjectHideFlags: 0 @@ -11207,7 +11230,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4562821246304388210, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} propertyPath: m_text - value: 0 + value: 20 objectReference: {fileID: 0} - target: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} propertyPath: m_Pivot.x @@ -11299,7 +11322,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6369511037010461285, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} propertyPath: m_Value - value: 1 + value: 20 objectReference: {fileID: 0} - target: {fileID: 6369511037010461285, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} propertyPath: m_MaxValue @@ -11332,13 +11355,36 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 5821102879776949869} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} --- !u!224 &5617759057284203677 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} m_PrefabInstance: {fileID: 321342751622582168} m_PrefabAsset: {fileID: 0} +--- !u!1 &7394454657155403865 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + m_PrefabInstance: {fileID: 321342751622582168} + m_PrefabAsset: {fileID: 0} +--- !u!114 &5821102879776949869 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7394454657155403865} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 20 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!1001 &433630473965899725 PrefabInstance: m_ObjectHideFlags: 0 @@ -11478,6 +11524,9 @@ PrefabInstance: - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} insertIndex: -1 addedObject: {fileID: 6970381899899350066} + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 7983859065522792459} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} --- !u!224 &5730682095486977224 stripped RectTransform: @@ -11525,6 +11574,21 @@ MonoBehaviour: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 +--- !u!114 &7983859065522792459 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7273122412389126156} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 0.6 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!1001 &611635144917773257 PrefabInstance: m_ObjectHideFlags: 0 @@ -11539,7 +11603,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4562821246304388210, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} propertyPath: m_text - value: 1,00 + value: 1,40 objectReference: {fileID: 0} - target: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} propertyPath: m_Pivot.x @@ -11631,7 +11695,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6369511037010461285, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} propertyPath: m_Value - value: 1 + value: 1.4 objectReference: {fileID: 0} - target: {fileID: 6369511037010461285, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} propertyPath: m_MaxValue @@ -11664,13 +11728,36 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 3527820188387231000} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} --- !u!224 &4755554310211969228 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} m_PrefabInstance: {fileID: 611635144917773257} m_PrefabAsset: {fileID: 0} +--- !u!1 &7680665132578419720 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + m_PrefabInstance: {fileID: 611635144917773257} + m_PrefabAsset: {fileID: 0} +--- !u!114 &3527820188387231000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7680665132578419720} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 1.4 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!1001 &612904001219612692 PrefabInstance: m_ObjectHideFlags: 0 @@ -11814,6 +11901,9 @@ PrefabInstance: - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} insertIndex: -1 addedObject: {fileID: 8710033801547324456} + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 3829937455900202635} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} --- !u!224 &4684466470907321105 stripped RectTransform: @@ -11861,6 +11951,21 @@ MonoBehaviour: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 +--- !u!114 &3829937455900202635 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7668145978812862421} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 0.6 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!1001 &889416535110432801 PrefabInstance: m_ObjectHideFlags: 0 @@ -12000,13 +12105,36 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 6803915911616909144} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} --- !u!224 &5031715123348730660 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} m_PrefabInstance: {fileID: 889416535110432801} m_PrefabAsset: {fileID: 0} +--- !u!1 &7979276221890095072 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + m_PrefabInstance: {fileID: 889416535110432801} + m_PrefabAsset: {fileID: 0} +--- !u!114 &6803915911616909144 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7979276221890095072} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 25 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!1001 &992071552706941769 PrefabInstance: m_ObjectHideFlags: 0 @@ -12021,7 +12149,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4562821246304388210, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} propertyPath: m_text - value: 0,50 + value: 0,20 objectReference: {fileID: 0} - target: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} propertyPath: m_Pivot.x @@ -12113,7 +12241,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6369511037010461285, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} propertyPath: m_Value - value: 0.5 + value: 0.2 objectReference: {fileID: 0} - target: {fileID: 6369511037010461285, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} propertyPath: m_MaxValue @@ -12146,13 +12274,36 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 5467403397455498810} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} --- !u!224 &4920009199308167244 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} m_PrefabInstance: {fileID: 992071552706941769} m_PrefabAsset: {fileID: 0} +--- !u!1 &8011702529957645448 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + m_PrefabInstance: {fileID: 992071552706941769} + m_PrefabAsset: {fileID: 0} +--- !u!114 &5467403397455498810 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8011702529957645448} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 0.2 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!1001 &1186831770284193990 PrefabInstance: m_ObjectHideFlags: 0 @@ -12263,7 +12414,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6369511037010461285, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} propertyPath: m_MaxValue - value: 0.7 + value: 0.85 objectReference: {fileID: 0} - target: {fileID: 6369511037010461285, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} propertyPath: m_MinValue @@ -12292,13 +12443,36 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 9052530519682123355} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} --- !u!224 &6483935150384821187 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} m_PrefabInstance: {fileID: 1186831770284193990} m_PrefabAsset: {fileID: 0} +--- !u!1 &8256149138434467591 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + m_PrefabInstance: {fileID: 1186831770284193990} + m_PrefabAsset: {fileID: 0} +--- !u!114 &9052530519682123355 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8256149138434467591} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 0.1 + _maxClickInterval: 0.25 + _maxPointerDistance: 4 --- !u!1001 &1796302450561085447 PrefabInstance: m_ObjectHideFlags: 0 @@ -12438,6 +12612,9 @@ PrefabInstance: - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} insertIndex: -1 addedObject: {fileID: 3271950515383086388} + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 6927429563518040252} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} --- !u!224 &5867721996605831938 stripped RectTransform: @@ -12485,6 +12662,21 @@ MonoBehaviour: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 +--- !u!114 &6927429563518040252 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8792853161816371142} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 0.6 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!1001 &3885656023294909575 PrefabInstance: m_ObjectHideFlags: 0 @@ -12624,6 +12816,9 @@ PrefabInstance: - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} insertIndex: -1 addedObject: {fileID: 6064484968290035128} + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 4662561430006355255} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} --- !u!1 &6271083544475255622 stripped GameObject: @@ -12666,6 +12861,21 @@ MonoBehaviour: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 +--- !u!114 &4662561430006355255 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6271083544475255622} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 0.6 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!224 &8966515187388340098 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} @@ -12810,8 +13020,31 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 4005340636306614113} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} +--- !u!1 &6425039601110850026 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + m_PrefabInstance: {fileID: 4305882883154822699} + m_PrefabAsset: {fileID: 0} +--- !u!114 &4005340636306614113 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6425039601110850026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 0 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!224 &8233275240706477358 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} @@ -12956,8 +13189,31 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 4681485690063148979} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} +--- !u!1 &6422069863406546011 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + m_PrefabInstance: {fileID: 4320082688929297306} + m_PrefabAsset: {fileID: 0} +--- !u!114 &4681485690063148979 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6422069863406546011} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 0.18 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!224 &8248322718471370911 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} @@ -13070,8 +13326,31 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 2007458841719450721} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} +--- !u!1 &6790878502931242297 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + m_PrefabInstance: {fileID: 4383637231553397496} + m_PrefabAsset: {fileID: 0} +--- !u!114 &2007458841719450721 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6790878502931242297} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 0 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!224 &8454988543450548733 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} @@ -13184,8 +13463,31 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 4152284484146100299} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} +--- !u!1 &6856934790558017450 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + m_PrefabInstance: {fileID: 4450536157869848683} + m_PrefabAsset: {fileID: 0} +--- !u!114 &4152284484146100299 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6856934790558017450} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 0 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!224 &8376856457293460334 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} @@ -13330,13 +13632,36 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 2397470144086736500} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} --- !u!224 &652619378731940807 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} m_PrefabInstance: {fileID: 4651506208571568322} m_PrefabAsset: {fileID: 0} +--- !u!1 &2478873783197888259 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + m_PrefabInstance: {fileID: 4651506208571568322} + m_PrefabAsset: {fileID: 0} +--- !u!114 &2397470144086736500 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2478873783197888259} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 0.1 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!1001 &5344768466403301413 PrefabInstance: m_ObjectHideFlags: 0 @@ -13476,13 +13801,36 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 1535278202734043942} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} --- !u!224 &265579357309326112 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} m_PrefabInstance: {fileID: 5344768466403301413} m_PrefabAsset: {fileID: 0} +--- !u!1 &2938506710547613668 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + m_PrefabInstance: {fileID: 5344768466403301413} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1535278202734043942 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2938506710547613668} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 0.5 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!1001 &5741377799947806041 PrefabInstance: m_ObjectHideFlags: 0 @@ -13626,6 +13974,9 @@ PrefabInstance: - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} insertIndex: -1 addedObject: {fileID: 3166911280320683227} + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 4763416555110830248} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} --- !u!224 &445453040406179420 stripped RectTransform: @@ -13673,6 +14024,21 @@ MonoBehaviour: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 +--- !u!114 &4763416555110830248 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3262499911854504600} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 0.2928932 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!1001 &5855916597358260260 PrefabInstance: m_ObjectHideFlags: 0 @@ -13814,13 +14180,36 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 7178083605403027413} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} --- !u!224 &1785550258817645345 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} m_PrefabInstance: {fileID: 5855916597358260260} m_PrefabAsset: {fileID: 0} +--- !u!1 &3724379913373691877 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + m_PrefabInstance: {fileID: 5855916597358260260} + m_PrefabAsset: {fileID: 0} +--- !u!114 &7178083605403027413 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3724379913373691877} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 1 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!1001 &6020406851703747421 PrefabInstance: m_ObjectHideFlags: 0 @@ -13960,13 +14349,36 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 214062519770500509} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} --- !u!224 &1877756664557729880 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} m_PrefabInstance: {fileID: 6020406851703747421} m_PrefabAsset: {fileID: 0} +--- !u!1 &3559826059283557532 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + m_PrefabInstance: {fileID: 6020406851703747421} + m_PrefabAsset: {fileID: 0} +--- !u!114 &214062519770500509 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3559826059283557532} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 0 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!1001 &6172334181636976323 PrefabInstance: m_ObjectHideFlags: 0 @@ -14110,6 +14522,9 @@ PrefabInstance: - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} insertIndex: -1 addedObject: {fileID: 8663658190608707150} + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 3352635415780465768} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} --- !u!224 &2029822309615658438 stripped RectTransform: @@ -14157,6 +14572,21 @@ MonoBehaviour: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 +--- !u!114 &3352635415780465768 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3982109983811465474} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 0.38523966 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!1001 &7717931987048658996 PrefabInstance: m_ObjectHideFlags: 0 @@ -14296,6 +14726,9 @@ PrefabInstance: - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} insertIndex: -1 addedObject: {fileID: 8343122748845105391} + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 6310340794353119155} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} --- !u!1 &716169728100378613 stripped GameObject: @@ -14338,6 +14771,21 @@ MonoBehaviour: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 +--- !u!114 &6310340794353119155 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 716169728100378613} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 0.6 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!224 &2492869794191913777 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} @@ -14482,8 +14930,31 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + insertIndex: -1 + addedObject: {fileID: 1222986833584458479} m_SourcePrefab: {fileID: 100100000, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} +--- !u!1 &1681885536998784361 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7128005046652329921, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} + m_PrefabInstance: {fileID: 8483800035330007720} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1222986833584458479 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1681885536998784361} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3e16aacd913a5149ab3ccf77d93cd5c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SliderDoubleClickReset + _defaultValue: 0.05 + _maxClickInterval: 0.25 + _maxPointerDistance: 8 --- !u!224 &4341305871465081261 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5297334453724826373, guid: ddd3fe86b03da644faf6d52ae79646b6, type: 3} diff --git a/Assets/Scripts/Components/MeshPainter/MeshPainter.cs b/Assets/Scripts/Components/MeshPainter/MeshPainter.cs index 55a6fb3..6f138e3 100644 --- a/Assets/Scripts/Components/MeshPainter/MeshPainter.cs +++ b/Assets/Scripts/Components/MeshPainter/MeshPainter.cs @@ -67,7 +67,7 @@ public partial class MeshPainter : MonoBehaviour /// Companion to : scales down the direct specular highlight. public float CamoSpecularDampen { - get => GetMatFloat(SpecularDampenId, 0f); + get => GetMatFloat(SpecularDampenId, 0.1f); set => SetMatFloat(SpecularDampenId, value); } diff --git a/Assets/Scripts/Components/UI/SliderDoubleClickReset.cs b/Assets/Scripts/Components/UI/SliderDoubleClickReset.cs new file mode 100644 index 0000000..ddc7617 --- /dev/null +++ b/Assets/Scripts/Components/UI/SliderDoubleClickReset.cs @@ -0,0 +1,41 @@ +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +/// +/// Double-clicking a slider resets it to its default value. The default is the slider's authored +/// value, serialized when the component is added (runtime seeding from settings/persistence must not +/// overwrite it, so it is captured at edit time, not in Awake). The reset goes through slider.value, +/// so onValueChanged listeners (persistence, SliderCurve, value labels) fire as if the user dragged. +/// +[RequireComponent(typeof(Slider))] +public class SliderDoubleClickReset : MonoBehaviour, IPointerClickHandler +{ + [SerializeField, Tooltip("Raw slider value restored on double-click. Seeded from the slider's authored value when the component is added.")] + private float _defaultValue; + + [SerializeField, Tooltip("Max seconds between the two clicks.")] + private float _maxClickInterval = 0.25f; + + [SerializeField, Tooltip("Max pointer movement (screen pixels) between the two clicks.")] + private float _maxPointerDistance = 8f; + + private float _lastClickTime = float.NegativeInfinity; + private Vector2 _lastClickPosition; + + public void OnPointerClick(PointerEventData eventData) + { + if (eventData.button != PointerEventData.InputButton.Left) return; + + // Unitys clickCount (festes ~0.3s-Fenster, kein Positions-Check) bewusst ignoriert. + bool isDouble = Time.unscaledTime - _lastClickTime <= _maxClickInterval + && (eventData.position - _lastClickPosition).sqrMagnitude <= _maxPointerDistance * _maxPointerDistance; + + _lastClickTime = isDouble ? float.NegativeInfinity : Time.unscaledTime; + _lastClickPosition = eventData.position; + + if (isDouble) GetComponent().value = _defaultValue; + } + + private void Reset() => _defaultValue = GetComponent().value; +} diff --git a/Assets/Scripts/Components/UI/SliderDoubleClickReset.cs.meta b/Assets/Scripts/Components/UI/SliderDoubleClickReset.cs.meta new file mode 100644 index 0000000..0f159a0 --- /dev/null +++ b/Assets/Scripts/Components/UI/SliderDoubleClickReset.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d3e16aacd913a5149ab3ccf77d93cd5c \ No newline at end of file