This commit is contained in:
Alessandro Autiero
2024-05-20 17:24:00 +02:00
parent 7c2caed16c
commit 9f5590d41c
562 changed files with 3303 additions and 156787 deletions

View File

@@ -8,35 +8,18 @@ class GameInstance {
final int? eacPid;
int? observerPid;
bool hosting;
bool launched;
bool tokenError;
bool linkedHosting;
GameInstance? child;
GameInstance(this.versionName, this.gamePid, this.launcherPid, this.eacPid, this.hosting, this.linkedHosting)
: tokenError = false,
assert(!linkedHosting || !hosting, "Only a game instance can have a linked hosting server");
GameInstance._fromJson(this.versionName, this.gamePid, this.launcherPid, this.eacPid, this.observerPid,
this.hosting, this.tokenError, this.linkedHosting);
static GameInstance? fromJson(Map<String, dynamic>? json) {
if(json == null) {
return null;
}
var gamePid = json["game"];
if(gamePid == null) {
return null;
}
var version = json["versionName"];
var launcherPid = json["launcher"];
var eacPid = json["eac"];
var observerPid = json["observer"];
var hosting = json["hosting"];
var tokenError = json["tokenError"];
var linkedHosting = json["linkedHosting"];
return GameInstance._fromJson(version, gamePid, launcherPid, eacPid, observerPid, hosting, tokenError, linkedHosting);
}
GameInstance({
required this.versionName,
required this.gamePid,
required this.launcherPid,
required this.eacPid,
required this.hosting,
required this.child
}): tokenError = false, launched = false;
void kill() {
Process.killPid(gamePid, ProcessSignal.sigabrt);
@@ -49,16 +32,6 @@ class GameInstance {
if(observerPid != null) {
Process.killPid(observerPid!, ProcessSignal.sigabrt);
}
child?.kill();
}
Map<String, dynamic> toJson() => {
'versionName': versionName,
'game': gamePid,
'launcher': launcherPid,
'eac': eacPid,
'observer': observerPid,
'hosting': hosting,
'tokenError': tokenError,
'linkedHosting': linkedHosting
};
}