This commit is contained in:
2026-02-15 15:47:39 +09:00
parent adb6c2d20b
commit 0420e23939
4 changed files with 152 additions and 5 deletions
+21
View File
@@ -7,9 +7,14 @@ class SettingsProvider with ChangeNotifier {
bool _enableEnemyAnimations = true; // Default: Enabled
double _attackAnimScale = 5.0; // Default: 5.0
double _shakeOffset = 30.0; // Default: 30.0
double _shakeCount =
3.0; // Default: 3.0 (using double for slider convenience, cast to int where needed)
bool get enableEnemyAnimations => _enableEnemyAnimations;
double get attackAnimScale => _attackAnimScale;
double get shakeOffset => _shakeOffset;
double get shakeCount => _shakeCount;
SettingsProvider() {
_loadSettings();
@@ -19,6 +24,8 @@ class SettingsProvider with ChangeNotifier {
final prefs = await SharedPreferences.getInstance();
_enableEnemyAnimations = prefs.getBool(_keyEnemyAnim) ?? true;
_attackAnimScale = prefs.getDouble(_keyAttackAnimScale) ?? 5.0;
_shakeOffset = prefs.getDouble('settings_shake_offset') ?? 30.0;
_shakeCount = prefs.getDouble('settings_shake_count') ?? 3.0;
notifyListeners();
}
@@ -35,4 +42,18 @@ class SettingsProvider with ChangeNotifier {
final prefs = await SharedPreferences.getInstance();
await prefs.setDouble(_keyAttackAnimScale, value);
}
Future<void> setShakeOffset(double value) async {
_shakeOffset = value;
notifyListeners();
final prefs = await SharedPreferences.getInstance();
await prefs.setDouble('settings_shake_offset', value);
}
Future<void> setShakeCount(double value) async {
_shakeCount = value;
notifyListeners();
final prefs = await SharedPreferences.getInstance();
await prefs.setDouble('settings_shake_count', value);
}
}