You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
788 B
39 lines
788 B
library LocalLib;
|
|
|
|
import '../IManager.dart';
|
|
import '../IUserManager.dart';
|
|
import '../IGameManager.dart';
|
|
import '../User.dart';
|
|
import 'UserManager.dart';
|
|
import 'GameManager.dart';
|
|
import 'package:localstorage/localstorage.dart';
|
|
|
|
class LocalData extends IManager {
|
|
late IUserManager _userMgr;
|
|
late IGameManager _gameMgr;
|
|
|
|
final LocalStorage storage = LocalStorage('local_key');
|
|
|
|
List<User> users = [];
|
|
|
|
LocalData() {
|
|
_userMgr = UserManager(this);
|
|
_gameMgr = GameManager(this);
|
|
users = storage.getItem('users');
|
|
}
|
|
|
|
_saveToStorage() {
|
|
storage.setItem('users', toJSONEncodable());
|
|
}
|
|
|
|
_clearStorage() async {
|
|
await storage.clear();
|
|
}
|
|
|
|
toJSONEncodable() {
|
|
return users.map((user) {
|
|
return user.toJSONEncodable();
|
|
}).toList();
|
|
}
|
|
}
|