28 lines
1.1 KiB
Markdown
28 lines
1.1 KiB
Markdown
# Task: Global Shake Settings
|
|
|
|
**Goal**: Make `shakeCount` and `shakeOffset` in `ShakeWidget` configurable via global settings, similar to `attackAnimationScale`.
|
|
|
|
## Context
|
|
Currently, `ShakeWidget` uses hardcoded defaults or constructor parameters for `shakeOffset` and `shakeCount`. The user wants to adjust these values globally from the Settings screen to fine-tune the visual feedback.
|
|
|
|
## Requirements
|
|
|
|
1. **Settings Provider Updates**:
|
|
- Add `shakeOffset` (double, default 30.0).
|
|
- Add `shakeCount` (int, default 3).
|
|
- Implement persistence using `SharedPreferences`.
|
|
|
|
2. **Settings UI**:
|
|
- Add sliders to the Settings screen to control these values.
|
|
- `Shake Offset`: Range approx 0-100?
|
|
- `Shake Count`: Range approx 1-10?
|
|
|
|
3. **ShakeWidget Updates**:
|
|
- Consume `SettingsProvider` to get the global values.
|
|
- Apply these values to the shake animation logic.
|
|
|
|
## Plan
|
|
1. Modify `lib/providers/settings_provider.dart` to add the new settings.
|
|
2. Modify `lib/screens/settings_screen.dart` to add the sliders.
|
|
3. Modify `lib/widgets/battle/shake_widget.dart` to use the provider.
|