Added back host and ingame username

This commit is contained in:
Alessandro Autiero
2022-09-06 15:13:20 +02:00
parent e36c0762aa
commit 04f24f691f
15 changed files with 27 additions and 26 deletions

View File

@@ -2,6 +2,9 @@ import 'package:bitsdojo_window/bitsdojo_window.dart';
import 'package:fluent_ui/fluent_ui.dart';
import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
import 'package:reboot_launcher/src/controller/game_controller.dart';
import 'package:reboot_launcher/src/controller/server_controller.dart';
import 'package:reboot_launcher/src/controller/warning_controller.dart';
import 'package:system_theme/system_theme.dart';
import 'package:reboot_launcher/src/page/home_page.dart';
@@ -9,6 +12,9 @@ void main() async {
WidgetsFlutterBinding.ensureInitialized();
await GetStorage.init("game");
await GetStorage.init("server");
Get.put(GameController());
Get.put(ServerController());
Get.put(WarningController());
SystemTheme.accentColor.load();
doWhenWindowReady(() {
const size = Size(600, 380);

View File

@@ -22,11 +22,6 @@ class GameController extends GetxController {
GameController() {
_storage = GetStorage("game");
username = TextEditingController(text: _storage.read("username"));
username.addListener(() async {
await _storage.write("username", username.text);
});
Iterable decodedVersionsJson =
jsonDecode(_storage.read("versions") ?? "[]");
var decodedVersions = decodedVersionsJson
@@ -41,7 +36,14 @@ class GameController extends GetxController {
_selectedVersion = Rxn(decodedSelectedVersion);
host = RxBool(_storage.read("host") ?? false);
username = TextEditingController(text: _storage.read("${host.value ? 'host' : 'game'}_username") ?? "");
username.addListener(() async {
await _storage.write("${host.value ? 'host' : 'game'}_username", username.text);
});
host.listen((value) => _storage.write("host", value));
host.listen((value) => username.text = _storage.read("${host.value ? 'host' : 'game'}_username") ?? "");
started = RxBool(false);
}

View File

@@ -15,10 +15,10 @@ class ServerController extends GetxController {
ServerController() {
var storage = GetStorage("server");
host = TextEditingController(text: storage.read("host"));
host = TextEditingController(text: storage.read("host") ?? "");
host.addListener(() => storage.write("host", host.text));
port = TextEditingController(text: storage.read("port"));
port = TextEditingController(text: storage.read("port") ?? "");
port.addListener(() => storage.write("port", port.text));
embedded = RxBool(storage.read("embedded") ?? true);

View File

@@ -11,8 +11,7 @@ import 'package:reboot_launcher/src/widget/version_selector.dart';
import 'package:reboot_launcher/src/controller/warning_controller.dart';
class LauncherPage extends StatelessWidget {
final WarningController _warningController = Get.put(WarningController());
final GameController _gameController = Get.put(GameController());
final WarningController _warningController = Get.find<WarningController>();
LauncherPage({Key? key}) : super(key: key);

View File

@@ -11,8 +11,7 @@ import 'package:reboot_launcher/src/widget/server_button.dart';
import 'package:reboot_launcher/src/widget/restart_warning.dart';
class ServerPage extends StatelessWidget {
final WarningController _warningController = Get.put(WarningController());
final ServerController _serverController = Get.put(ServerController());
final WarningController _warningController = Get.find<WarningController>();
ServerPage({Key? key}) : super(key: key);

View File

@@ -24,7 +24,7 @@ class AddServerVersion extends StatefulWidget {
class _AddServerVersionState extends State<AddServerVersion> {
final GameController _gameController = Get.find<GameController>();
final BuildController _buildController = Get.put(BuildController());
final BuildController _buildController = Get.find<BuildController>();
final TextEditingController _nameController = TextEditingController();
final TextEditingController _pathController = TextEditingController();
late Future _future;

View File

@@ -5,14 +5,13 @@ import 'package:reboot_launcher/src/widget/smart_input.dart';
import 'package:reboot_launcher/src/controller/server_controller.dart';
class HostInput extends StatelessWidget {
final ServerController _serverController = Get.put(ServerController());
final ServerController _serverController = Get.find<ServerController>();
HostInput({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Obx(() => SmartInput(
keyName: "host",
label: "Host",
placeholder: "Type the host name",
controller: _serverController.host,

View File

@@ -73,16 +73,16 @@ class _LaunchButtonState extends State<LaunchButton> {
}
Future<void> _updateServerState(bool value) async {
if (_serverController.started.value == value) {
if (_gameController.started.value == value) {
return;
}
_serverController.started(value);
_gameController.started(value);
}
Future<void> _onStart() async {
try {
_gameController.started(true);
_updateServerState(true);
var version = _gameController.selectedVersionObs.value!;
if (await version.launcher.exists()) {
_gameController.launcherProcess = await Process.start(version.launcher.path, []);
@@ -99,7 +99,7 @@ class _LaunchButtonState extends State<LaunchButton> {
..outLines.forEach(_onGameOutput);
_injectOrShowError("cranium.dll");
} catch (exception) {
_gameController.started(false);
_updateServerState(false);
_onError(exception);
}
}

View File

@@ -5,7 +5,7 @@ import 'package:reboot_launcher/src/widget/smart_switch.dart';
import 'package:reboot_launcher/src/controller/server_controller.dart';
class LocalServerSwitch extends StatelessWidget {
final ServerController _serverController = Get.put(ServerController());
final ServerController _serverController = Get.find<ServerController>();
LocalServerSwitch({Key? key}) : super(key: key);

View File

@@ -5,14 +5,13 @@ import 'package:reboot_launcher/src/widget/smart_input.dart';
import 'package:reboot_launcher/src/controller/server_controller.dart';
class PortInput extends StatelessWidget {
final ServerController _serverController = Get.put(ServerController());
final ServerController _serverController = Get.find<ServerController>();
PortInput({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Obx(() => SmartInput(
keyName: "port",
label: "Port",
placeholder: "Type the host port",
controller: _serverController.port,

View File

@@ -5,7 +5,7 @@ import 'package:reboot_launcher/src/controller/server_controller.dart';
import 'package:reboot_launcher/src/util/server.dart';
class ServerButton extends StatelessWidget {
final ServerController _serverController = Get.put(ServerController());
final ServerController _serverController = Get.find<ServerController>();
ServerButton({Key? key}) : super(key: key);
@override

View File

@@ -1,7 +1,6 @@
import 'package:fluent_ui/fluent_ui.dart';
class SmartInput extends StatelessWidget {
final String keyName;
final String label;
final String placeholder;
final TextEditingController controller;
@@ -12,7 +11,6 @@ class SmartInput extends StatelessWidget {
const SmartInput(
{Key? key,
required this.keyName,
required this.label,
required this.placeholder,
required this.controller,

View File

@@ -12,7 +12,6 @@ class UsernameBox extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Obx(() => SmartInput(
keyName: "${_gameController.host.value ? 'host' : 'game'}_username",
label: "Username",
placeholder: "Type your ${_gameController.host.value ? 'hosting' : "in-game"} username",
controller: _gameController.username,