GameLaunchHelper: Enumerate valid actions and states from 1 instead of 0
Fixes potential boolean checks on the relevant attributes
This commit is contained in:
parent
6ccbeb12dc
commit
95df85419b
4 changed files with 14 additions and 13 deletions
|
@ -119,7 +119,7 @@ class Console(QDialog):
|
|||
|
||||
def on_process_exit(self, app_title: str, status: Union[int, str]):
|
||||
self.error(
|
||||
self.tr("Application \"{}\" finished with \"{}\"").format(app_title, status)
|
||||
self.tr("Application \"{}\" finished with \"{}\"\n").format(app_title, status)
|
||||
)
|
||||
self.accept_close = True
|
||||
|
||||
|
|
|
@ -128,14 +128,14 @@ class RareGame(QObject):
|
|||
self.state = RareGame.State.RUNNING
|
||||
self.metadata.last_played = datetime.now()
|
||||
self.__save_metadata()
|
||||
self.signals.game.launched.emit()
|
||||
self.signals.game.launched.emit(self.app_name)
|
||||
|
||||
@pyqtSlot(int)
|
||||
def __game_finished(self, exit_code: int):
|
||||
if exit_code == GameProcess.Code.ON_STARTUP:
|
||||
return
|
||||
self.state = RareGame.State.IDLE
|
||||
self.signals.game.finished.emit()
|
||||
self.signals.game.finished.emit(self.app_name)
|
||||
|
||||
__metadata_json: Dict = None
|
||||
|
||||
|
@ -283,6 +283,7 @@ class RareGame(QObject):
|
|||
self.igame = None
|
||||
self.signals.game.uninstalled.emit(self.app_name)
|
||||
self.set_pixmap()
|
||||
self.signals.widget.update.emit()
|
||||
|
||||
@property
|
||||
def can_run_offline(self) -> bool:
|
||||
|
|
|
@ -2,10 +2,11 @@ from dataclasses import dataclass
|
|||
|
||||
|
||||
class Actions:
|
||||
finished = 0
|
||||
error = 1
|
||||
message = 2
|
||||
state_update = 3
|
||||
undefined = 0
|
||||
finished = 1
|
||||
error = 2
|
||||
message = 3
|
||||
state_update = 4
|
||||
|
||||
|
||||
@dataclass
|
||||
|
@ -38,11 +39,10 @@ class FinishedModel(BaseModel):
|
|||
@dataclass
|
||||
class StateChangedModel(BaseModel):
|
||||
class States:
|
||||
started = 0
|
||||
|
||||
started = 1
|
||||
# for future
|
||||
syncing_cloud = 1
|
||||
cloud_sync_finished = 2
|
||||
syncing_cloud = 2
|
||||
cloud_sync_finished = 3
|
||||
|
||||
new_state: int
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ class GameProcess(QObject):
|
|||
|
||||
class Code(IntEnum):
|
||||
SUCCESS = 0
|
||||
ERROR = 1
|
||||
TIMEOUT = -1
|
||||
ON_STARTUP = -1234
|
||||
|
||||
|
@ -93,10 +94,9 @@ class GameProcess(QObject):
|
|||
model = ErrorModel.from_json(data)
|
||||
logger.error(f"Error in game {self.game.app_title}: {model.error_string}")
|
||||
self.socket.close()
|
||||
self.__game_finished(1)
|
||||
self.__game_finished(GameProcess.Code.ERROR)
|
||||
QMessageBox.warning(None, "Error", self.tr(
|
||||
"Error in game {}:\n{}").format(self.game.app_title, model.error_string))
|
||||
|
||||
elif action == Actions.state_update:
|
||||
model = StateChangedModel.from_json(data)
|
||||
if model.new_state == StateChangedModel.States.started:
|
||||
|
|
Loading…
Reference in a new issue