Latest version

This commit is contained in:
Alessandro Autiero
2022-12-30 03:03:59 +01:00
parent 966b4b33fd
commit 013d15d7ff
43 changed files with 519 additions and 244 deletions

View File

@@ -1,3 +1,4 @@
import 'dart:collection';
import 'dart:convert';
import 'dart:io';
@@ -6,6 +7,7 @@ import 'package:fluent_ui/fluent_ui.dart';
import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
import 'package:reboot_launcher/src/model/fortnite_version.dart';
import 'package:reboot_launcher/src/model/game_instance.dart';
import 'package:reboot_launcher/src/model/game_type.dart';
class GameController extends GetxController {
@@ -15,11 +17,10 @@ class GameController extends GetxController {
late final Rx<List<FortniteVersion>> versions;
late final Rxn<FortniteVersion> _selectedVersion;
late final Rx<GameType> type;
late final HashMap<GameType, GameInstance> gameInstancesMap;
late final RxBool started;
late bool updated;
Future? updater;
Process? gameProcess;
Process? launcherProcess;
Process? eacProcess;
GameController() {
_storage = GetStorage("game");
@@ -40,19 +41,22 @@ class GameController extends GetxController {
type = Rx(GameType.values.elementAt(_storage.read("type") ?? 0));
type.listen((value) {
_storage.write("type", value.index);
username.text = _storage.read("${type.value == GameType.client ? 'game' : 'host'}_username") ?? "";
username.text = _readUsername();
});
username = TextEditingController(text: _storage.read("${type.value == GameType.client ? 'game' : 'host'}_username") ?? "");
username = TextEditingController(text: _readUsername());
username.addListener(() => _storage.write("${type.value == GameType.client ? 'game' : 'host'}_username", username.text));
gameInstancesMap= HashMap();
started = RxBool(false);
updated = false;
}
void kill() {
gameProcess?.kill(ProcessSignal.sigabrt);
launcherProcess?.kill(ProcessSignal.sigabrt);
eacProcess?.kill(ProcessSignal.sigabrt);
String _readUsername() {
var client = type.value == GameType.client;
return _storage.read("${client ? 'game' : 'host'}_username") ?? (client ? "" : "HostingServer");
}
FortniteVersion? getVersionByName(String name) {
@@ -86,6 +90,8 @@ class GameController extends GetxController {
Rxn<FortniteVersion> get selectedVersionObs => _selectedVersion;
GameInstance? get currentGameInstance => gameInstancesMap[type()];
set selectedVersion(FortniteVersion? version) {
_selectedVersion(version);
_storage.write("version", version?.name);