Removed the 'override' feature that was implemented as it was adding unnecessary complexity.
Adjusted test scene to reflect the changes:
- Added `ChaseComponent.cs`. It takes `Transform _target`, `float _speed` and has a `public void Chase()` function that moves the gameObject towards the target.
- `ChaseAction` now simply calls `ChaseComponent.Chase()` in its `OnUpdate()`.
- `ChaseComponent` also contains a public getter `Target => _target`.
- `CloseToTargetCondition` gets `transform` from the `StateMachine` and the transform of the target from `ChaseComponent`, the `Statement()` remains the same. Another way to implement it would be to have a public getter `bool IsCloseToTarget` or `float DistanceToTarget` in `ChaseComponent` and evaluate that in the `Statement`.
- Removed `ChaseData.cs`.
- How much each sphear eats is now contro...
The test scene was adjusted to display how to override the behaviour of the Spheres by attatching a different `ChaseDataSO` to the `StateMachine`, specifying a different target.
Tooltips and comments were added to try to explain the workflow of overriding Action and Condition data.
- 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
Removal of unnecessary Tests folder, Input Scene and the content in the Scene. I have tested the game and it doesn't breaks or effects the game in any possible way.