Huge GUI update

This commit is contained in:
DevilXD committed 2021-12-29 13:55:05 +01:00
1 parent bddbff7c35
commit c8d3b992d7
10 files changed
+1460 -453

No files matched your search

+15 -3
View File
@@ -17,6 +17,9 @@ class Game:
def __str__(self) -> str:
return self.name
def __repr__(self) -> str:
return f"Game({self.id}, {self.name})"
def __eq__(self, other: object):
if isinstance(other, self.__class__):
return self.id == other.id
@@ -93,15 +96,14 @@ class TimedDrop(BaseDrop):
@property
def remaining_minutes(self) -> int:
return self.required_minutes - self.current_minutes
return self.required_minutes - self.current_minutes + 1
@property
def progress(self) -> float:
return self.current_minutes / self.required_minutes
def update(self, message: JsonType):
# {"type": "drop-progress", data: {"current_progress_min": 3, "required_progress_min": 10}}
# {"type": "drop-claim", data: {"drop_instance_id": ...}}
# See Twitch.process_drop for message examples
msg_type = message["type"]
if msg_type == "drop-progress":
self.current_minutes = message["data"]["current_progress_min"]
@@ -109,6 +111,10 @@ class TimedDrop(BaseDrop):
elif msg_type == "drop-claim":
self.claim_id = message["data"]["drop_instance_id"]
def bump_minutes(self):
if self.current_minutes < self.required_minutes:
self.current_minutes += 1
class DropsCampaign:
def __init__(self, twitch: Twitch, data: JsonType):
@@ -149,3 +155,9 @@ class DropsCampaign:
def get_drop(self, drop_id: str) -> Optional[TimedDrop]:
return self.timed_drops.get(drop_id)
def get_active_drop(self) -> Optional[TimedDrop]:
for drop in self.timed_drops.values():
if drop.can_earn:
return drop
return None