Files
Reboot-Launcher/common/lib/src/model/game_instance.dart
Alessandro Autiero 5d89a603d7 9.0.8
2024-06-02 15:12:42 +02:00

46 lines
957 B
Dart

import 'dart:io';
class GameInstance {
final String versionName;
final int gamePid;
final int? launcherPid;
final int? eacPid;
bool hosting;
bool launched;
bool movedToVirtualDesktop;
bool tokenError;
GameInstance? child;
GameInstance({
required this.versionName,
required this.gamePid,
required this.launcherPid,
required this.eacPid,
required this.hosting,
required this.child
}): tokenError = false, launched = false, movedToVirtualDesktop = false;
void kill() {
Process.killPid(gamePid, ProcessSignal.sigabrt);
if(launcherPid != null) {
Process.killPid(launcherPid!, ProcessSignal.sigabrt);
}
if(eacPid != null) {
Process.killPid(eacPid!, ProcessSignal.sigabrt);
}
}
bool get nestedHosting {
GameInstance? child = this;
while(child != null) {
if(child.hosting) {
return true;
}
child = child.child;
}
return false;
}
}