* Use more reliable SceneAsset instead of error-prone scene name
This also makes a custom editor unnecessary
* Set proper SceneAssets and serialize
* Improve code readability by splitting runtime and editor parts
* Fix scene path not being retrieved when entering play mode in Editor
* Use scene path instead of name
* Reset to default value
For a case when domain was not reloaded after entering play mode
LocalizeTMProFontEvent.cs - Component to localize a TMP_FontAsset
LocalizeComponent_TMProFont.cs - TextmeshProUGUI context menu "Localize String And Font"
- Logic is now split into sub components: Genera, Graphics, Audio and Input (currently empty as input system is wip)
- The settings system class can be used to get information from all sub components, a distributor
- Fixed an issue with Screen resolution not being correct when in windowed mode (Screen.currentResolution gives back desktop resolution when in windowed mode)
- Added Input UI elements which are placeholders for now, once the input system is done this can be populated like the other settings sub components
- Implemented General tab - Language setting
- Implemented Graphics tab - Graphics Presets, Resolution (all supported resolutions on users device), fullscreen mode settings
- Implemented Advanced Graphics - Anisotropic filtering, Anti-Aliasing, Shadow Distance, Shadow Quality settings
- Implemented Audio tab - Music Volume, Sfx Volume settings
- Moved SettingsSystem scripts to Scripts/Systems/Settings (if we use asmdef files in the future this hiararchy might be better than throwin every script under the scripts folder)
- Added scriptable object which holds graphics presets
- Updated SettingsSystem script to utilize the presets object