4
4
* @licence: MIT
5
5
*/
6
6
7
- #include " OvEditor/Settings/EditorSettings.h"
7
+ #include " OvEditor/Settings/EditorSettings.h"
8
+ #include < OvTools/Filesystem/IniFile.h>
9
+
10
+ template <class T >
11
+ void LoadIniEntry (OvTools::Filesystem::IniFile& iniFile, const std::string& entry, OvEditor::Settings::EditorSettings::Property<T>& out)
12
+ {
13
+ if (iniFile.IsKeyExisting (entry))
14
+ {
15
+ out = iniFile.Get <T>(entry);
16
+ }
17
+ }
18
+
19
+ void OvEditor::Settings::EditorSettings::Save ()
20
+ {
21
+ std::string editorSettingsPath = std::string (getenv (" APPDATA" )) + " \\ OverloadTech\\ OvEditor\\ editor.ini" ;
22
+ OvTools::Filesystem::IniFile iniFile (editorSettingsPath);
23
+ iniFile.RemoveAll ();
24
+ iniFile.Add (" show_geometry_bounds" , ShowGeometryBounds.Get ());
25
+ iniFile.Add (" show_light_bounds" , ShowLightBounds.Get ());
26
+ iniFile.Add (" show_geometry_frustum_culling_in_scene_view" , ShowGeometryFrustumCullingInSceneView.Get ());
27
+ iniFile.Add (" show_light_frustum_culling_in_scene_view" , ShowLightFrustumCullingInSceneView.Get ());
28
+ iniFile.Add (" light_billboard_scale" , LightBillboardScale.Get ());
29
+ iniFile.Add (" translation_snap_unit" , TranslationSnapUnit.Get ());
30
+ iniFile.Add (" rotation_snap_unit" , RotationSnapUnit.Get ());
31
+ iniFile.Add (" scaling_snap_unit" , ScalingSnapUnit.Get ());
32
+ iniFile.Rewrite ();
33
+ }
34
+
35
+ void OvEditor::Settings::EditorSettings::Load ()
36
+ {
37
+ std::string editorSettingsPath = std::string (getenv (" APPDATA" )) + " \\ OverloadTech\\ OvEditor\\ editor.ini" ;
38
+ OvTools::Filesystem::IniFile iniFile (editorSettingsPath);
39
+
40
+ LoadIniEntry<bool >(iniFile, " show_geometry_bounds" , ShowGeometryBounds);
41
+ LoadIniEntry<bool >(iniFile, " show_light_bounds" , ShowLightBounds);
42
+ LoadIniEntry<bool >(iniFile, " show_geometry_frustum_culling_in_scene_view" , ShowGeometryFrustumCullingInSceneView);
43
+ LoadIniEntry<bool >(iniFile, " show_light_frustum_culling_in_scene_view" , ShowLightFrustumCullingInSceneView);
44
+ LoadIniEntry<float >(iniFile, " light_billboard_scale" , LightBillboardScale);
45
+ LoadIniEntry<float >(iniFile, " translation_snap_unit" , TranslationSnapUnit);
46
+ LoadIniEntry<float >(iniFile, " rotation_snap_unit" , RotationSnapUnit);
47
+ LoadIniEntry<float >(iniFile, " scaling_snap_unit" , ScalingSnapUnit);
48
+ }
0 commit comments