* Toon Shader Wind effect addon
New Sub Graph added to simulate wind based on gradient noise (over world coordinates) and applied on Object coordinates depending of the mesh vertex color (Green channel) only.
- Properties: Wind speed, Wind density, Wind strength, Wind direction (around Y axis)
Note: No update on FBX files in this PR to introduce vertex color on the existing assets. It will be done through one/multiple other PRs.
* Toon refactor
Reading back the requirement from Toon Shader add-on, it is preferred (for perf reason) to have a separated unlit shader for Toon shading with wind impact, instead of having wind graph applied to all object even if they are not sensitve to the wind.
Toon shader refactor:
- Extract each part into a separated Sub Shader
-- Shadow part: ToonShadow
-- Specular part: ToonSpecular
- Move current Toon implementation into Sub Graph: ToonColor
- Use ToonColor into Unlit shader Toon...
- 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
* Added the basic inventory system
* Removed prefixes, added CreateAssetMenu to ingredient
* Added CreateAssetMenu to Inventory
* Updated to use tabs and prefixes
* Added prefix to inventory item
* Added a means to iterate over items in Inventory
* Moved accessor
* Spaces to tabs (again)
* Added default assignment to prevent warning
* Added a CustomEditor for Inventory
* added Items according to @chema descrription.
* Marked out item type
* follow code convention
* Added character Customization script.
Added folder structure for scripable objects
* removed marked out lines
* Changed Inventory to contain a list of ItemStacks instead of a dictrionary of Items.
* added item background color
* Reimplemented all the methods in Inventory.cs to work better with List.
* simplified member field namings
* made changed according to request by @Ciro_unity - moved scirpable objects to i...
Conflicts are all regarding the renaming of the namespace from Deivsky to UOP1
# Conflicts:
# UOP1_Project/Assets/Scripts/StateMachine/Core/IStateComponent.cs
# UOP1_Project/Assets/Scripts/StateMachine/Core/State.cs
# UOP1_Project/Assets/Scripts/StateMachine/Core/StateAction.cs
# UOP1_Project/Assets/Scripts/StateMachine/Core/StateCondition.cs
# UOP1_Project/Assets/Scripts/StateMachine/Core/StateMachine.cs
# UOP1_Project/Assets/Scripts/StateMachine/Core/StateTransition.cs
# UOP1_Project/Assets/Scripts/StateMachine/ScriptableObjects/StateActionSO.cs
# UOP1_Project/Assets/Scripts/StateMachine/ScriptableObjects/StateConditionSO.cs
# UOP1_Project/Assets/Scripts/StateMachine/ScriptableObjects/StateSO.cs
# UOP1_Project/Assets/Scripts/StateMachine/ScriptableObjects/StateTransitionSO.cs
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...