Settings are now loaded from and saved to the config.json file. Reworked the UI structure a bit (the script that manage the settings have to be active before the UI is opened to actually take effect at game startup). Fixed several UI bugs (slider deselection, UI labels blocking the sliders, etc).

This commit is contained in:
2026-02-03 21:47:16 +02:00
parent 415484c1f0
commit ba1f0c855d
8 changed files with 439 additions and 297 deletions

View File

@@ -119,7 +119,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &2888630431832822380
RectTransform:
m_ObjectHideFlags: 0
@@ -128,7 +128,7 @@ RectTransform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 674832405591274748}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 6.199966}
m_LocalPosition: {x: 0, y: 0, z: 6}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -137,8 +137,8 @@ RectTransform:
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: 198, y: 29.999985}
m_SizeDelta: {x: 178.01, y: 338.4}
m_AnchoredPosition: {x: 25.8, y: -57.9}
m_SizeDelta: {x: 485, y: 46.5}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7009866660814900916
CanvasRenderer:
@@ -168,9 +168,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: 'Warning:
High speeds may cause nausea'
m_text: High speeds may cause nausea!
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: d564a6b9a8a781b438125b614edcc297, type: 2}
m_sharedMaterial: {fileID: 2467261418627247352, guid: d564a6b9a8a781b438125b614edcc297,
@@ -205,7 +203,7 @@ MonoBehaviour:
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_HorizontalAlignment: 4
m_VerticalAlignment: 256
m_textAlignment: 65535
m_characterSpacing: 0
@@ -236,7 +234,7 @@ MonoBehaviour:
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_margin: {x: 1.8959656, y: 6.638962, z: 3.9048767, w: 1.7601442}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
@@ -582,6 +580,7 @@ Transform:
- {fileID: 7867682990484010893}
- {fileID: 385502688868600332}
- {fileID: 8911245181170312639}
- {fileID: 4369549003892251738}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -711,8 +710,8 @@ RectTransform:
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: -371.7, y: 0.000015258789}
m_SizeDelta: {x: 469.55, y: 50.48}
m_AnchoredPosition: {x: -429.3, y: 0.000015258789}
m_SizeDelta: {x: 319.7, y: 50.48}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1756154180137300123
CanvasRenderer:
@@ -808,7 +807,7 @@ MonoBehaviour:
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_margin: {x: 2.8457031, y: 0, z: 2.8460312, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
@@ -1140,6 +1139,129 @@ RectTransform:
m_AnchoredPosition: {x: -5.404525, y: 60.661545}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &1647071810007517722
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4369549003892251738}
- component: {fileID: 18611445735460691}
- component: {fileID: 8343075384873062513}
- component: {fileID: 5285357331933866282}
- component: {fileID: 1310480035629572623}
- component: {fileID: 1510780549024052800}
- component: {fileID: 4307275810096043329}
m_Layer: 12
m_Name: Settings
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4369549003892251738
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1647071810007517722}
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: 5343771095006709614}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &18611445735460691
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1647071810007517722}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 26a0dd79a025e5041a41f576b1aa4968, type: 3}
m_Name:
m_EditorClassIdentifier:
turnOffButton: {fileID: 3645818974320619446}
turnOnButton: {fileID: 1311809556432207317}
moveSpeedSlider: {fileID: 6956878155406096985}
locomotion: {fileID: 1565464911732960072}
--- !u!114 &8343075384873062513
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1647071810007517722}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ebe1ab889a9bed940995d4f47bc743ef, type: 3}
m_Name:
m_EditorClassIdentifier:
target: 0
slider: {fileID: 7370795858478176567}
--- !u!114 &5285357331933866282
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1647071810007517722}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ebe1ab889a9bed940995d4f47bc743ef, type: 3}
m_Name:
m_EditorClassIdentifier:
target: 3
slider: {fileID: 8524569723447833986}
--- !u!114 &1310480035629572623
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1647071810007517722}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ebe1ab889a9bed940995d4f47bc743ef, type: 3}
m_Name:
m_EditorClassIdentifier:
target: 5
slider: {fileID: 3954205046647893400}
--- !u!114 &1510780549024052800
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1647071810007517722}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ebe1ab889a9bed940995d4f47bc743ef, type: 3}
m_Name:
m_EditorClassIdentifier:
target: 4
slider: {fileID: 7262865820799039206}
--- !u!114 &4307275810096043329
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1647071810007517722}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ebe1ab889a9bed940995d4f47bc743ef, type: 3}
m_Name:
m_EditorClassIdentifier:
target: 1
slider: {fileID: 512852062931003448}
--- !u!1 &1694677102371321062
GameObject:
m_ObjectHideFlags: 0
@@ -2219,7 +2341,6 @@ GameObject:
- component: {fileID: 5495779272626688296}
- component: {fileID: 270386226070323618}
- component: {fileID: 7370795858478176567}
- component: {fileID: 9192465668386235667}
m_Layer: 5
m_Name: Button
m_TagString: Untagged
@@ -2346,19 +2467,6 @@ MonoBehaviour:
minValue: 0
maxValue: 1
slideareaOffsetMultiplier: 0.9
--- !u!114 &9192465668386235667
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3421967330093517364}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ebe1ab889a9bed940995d4f47bc743ef, type: 3}
m_Name:
m_EditorClassIdentifier:
target: 0
--- !u!1 &3434260850308121859
GameObject:
m_ObjectHideFlags: 0
@@ -2412,7 +2520,6 @@ GameObject:
- component: {fileID: 5857106340495004348}
- component: {fileID: 467034009919322666}
- component: {fileID: 3954205046647893400}
- component: {fileID: 8737582689073729793}
m_Layer: 5
m_Name: Button
m_TagString: Untagged
@@ -2539,19 +2646,6 @@ MonoBehaviour:
minValue: 0
maxValue: 1
slideareaOffsetMultiplier: 0.9
--- !u!114 &8737582689073729793
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3504227185401202113}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ebe1ab889a9bed940995d4f47bc743ef, type: 3}
m_Name:
m_EditorClassIdentifier:
target: 5
--- !u!1 &3847096334227967442
GameObject:
m_ObjectHideFlags: 0
@@ -3036,7 +3130,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -1849.8, y: 30}
m_SizeDelta: {x: 90.1, y: 50.5}
m_SizeDelta: {x: 89, y: 50.5}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1344781521441133505
CanvasRenderer:
@@ -3539,7 +3633,7 @@ RectTransform:
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: -2404.8, y: 34.7}
m_AnchoredPosition: {x: -2600, y: 34.7}
m_SizeDelta: {x: 220, y: 49.6}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2306375091028476275
@@ -3605,7 +3699,7 @@ MonoBehaviour:
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_HorizontalAlignment: 4
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
@@ -3636,7 +3730,7 @@ MonoBehaviour:
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_margin: {x: 14.186401, y: 0, z: -0.9451599, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
@@ -3655,7 +3749,6 @@ GameObject:
- component: {fileID: 4467346825075014904}
- component: {fileID: 1078020185355697329}
- component: {fileID: 7262865820799039206}
- component: {fileID: 8463522706283787556}
m_Layer: 5
m_Name: Button
m_TagString: Untagged
@@ -3782,19 +3875,6 @@ MonoBehaviour:
minValue: 0
maxValue: 1
slideareaOffsetMultiplier: 0.9
--- !u!114 &8463522706283787556
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5731468542189211806}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ebe1ab889a9bed940995d4f47bc743ef, type: 3}
m_Name:
m_EditorClassIdentifier:
target: 4
--- !u!1 &5770108565631511295
GameObject:
m_ObjectHideFlags: 0
@@ -5429,13 +5509,14 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6798620428918177696}
m_Enabled: 1
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 26a0dd79a025e5041a41f576b1aa4968, type: 3}
m_Name:
m_EditorClassIdentifier:
turnOffButton: {fileID: 3645818974320619446}
turnOnButton: {fileID: 1311809556432207317}
moveSpeedSlider: {fileID: 6956878155406096985}
locomotion: {fileID: 1565464911732960072}
--- !u!1 &6976341305452677775
GameObject:
@@ -5463,7 +5544,7 @@ RectTransform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6976341305452677775}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 1.0000267}
m_LocalPosition: {x: 0, y: 0, z: 1}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -5472,8 +5553,8 @@ RectTransform:
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: -406.48022, y: 260}
m_SizeDelta: {x: 383.04, y: 50.5}
m_AnchoredPosition: {x: -446.3, y: 255.3}
m_SizeDelta: {x: 327.3, y: 50.5}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8334943640923905114
CanvasRenderer:
@@ -5569,7 +5650,7 @@ MonoBehaviour:
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_margin: {x: 0, y: 0, z: 0.9477234, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
@@ -5625,7 +5706,6 @@ GameObject:
- component: {fileID: 7392776148620295955}
- component: {fileID: 623723497249906612}
- component: {fileID: 8524569723447833986}
- component: {fileID: 2518031444015721236}
m_Layer: 5
m_Name: Button
m_TagString: Untagged
@@ -5752,19 +5832,6 @@ MonoBehaviour:
minValue: 0
maxValue: 1
slideareaOffsetMultiplier: 0.9
--- !u!114 &2518031444015721236
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7116268483853744053}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ebe1ab889a9bed940995d4f47bc743ef, type: 3}
m_Name:
m_EditorClassIdentifier:
target: 3
--- !u!1 &7137625347935658456
GameObject:
m_ObjectHideFlags: 0
@@ -6850,7 +6917,7 @@ RectTransform:
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: -2404.8, y: 30}
m_AnchoredPosition: {x: -2424, y: 30}
m_SizeDelta: {x: 186.1, y: 50.5}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6159749963066026057
@@ -6916,7 +6983,7 @@ MonoBehaviour:
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_HorizontalAlignment: 4
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
@@ -6966,7 +7033,6 @@ GameObject:
- component: {fileID: 4806540607707404536}
- component: {fileID: 1263225200033619485}
- component: {fileID: 512852062931003448}
- component: {fileID: 5185990981600041478}
m_Layer: 5
m_Name: Button
m_TagString: Untagged
@@ -7093,19 +7159,6 @@ MonoBehaviour:
minValue: 0
maxValue: 1
slideareaOffsetMultiplier: 0.9
--- !u!114 &5185990981600041478
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7795711801980221647}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ebe1ab889a9bed940995d4f47bc743ef, type: 3}
m_Name:
m_EditorClassIdentifier:
target: 1
--- !u!1 &7941339244779152679
GameObject:
m_ObjectHideFlags: 0
@@ -7851,7 +7904,7 @@ RectTransform:
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: -3755, y: 30}
m_AnchoredPosition: {x: -3897, y: 30}
m_SizeDelta: {x: 131.9, y: 50.5}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7891019527381773321