firmware+controller: Add round start state

This commit is contained in:
2024-12-15 17:30:08 +00:00
parent 1caf43c6de
commit 9543851867
6 changed files with 170 additions and 7 deletions

View File

@@ -2,7 +2,7 @@
import logging
import valconomy
from valconomy import ValorantPlayerInfo, RiotPlayerInfo
from valconomy import ValorantPlayerInfo, RiotPlayerInfo, EconomyDecision
def main():
logging.basicConfig(
@@ -26,6 +26,18 @@ def main():
h.game_start(None)
h.game_over(None, False)
h.game_over(None, True)
h.round_start(
RiotPlayerInfo.dummy(valorant=ValorantPlayerInfo(score=3, enemy_score=7)),
won=True, economy=EconomyDecision.SAVE)
h.round_start(
RiotPlayerInfo.dummy(valorant=ValorantPlayerInfo(score=10, enemy_score=2)),
won=False, economy=EconomyDecision.BUY)
h.round_start(
RiotPlayerInfo.dummy(valorant=ValorantPlayerInfo(score=10, enemy_score=2)),
won=None, economy=EconomyDecision.MATCH_TEAM)
h.round_start(
RiotPlayerInfo.dummy(valorant=ValorantPlayerInfo(score=2, enemy_score=0)),
won=True, economy=EconomyDecision.BONUS)
h.service()
finally:

View File

@@ -340,8 +340,24 @@ class HIDValconomyHandler(ValconomyHandler):
def game_start(self, info: RiotPlayerInfo):
self._enq(7)
def round_start(self, info: RiotPlayerInfo, won: bool, economy: EconomyDecision):
match won:
case False:
won_val = 0
case True:
won_val = 1
case None:
won_val = 2
self._enq(
8,
info.valorant.score, info.valorant.enemy_score,
won_val,
economy.value,
fmt='BBBB')
def game_over(self, info: RiotPlayerInfo, won: bool):
self._enq(8, 1 if won else 0, fmt='B')
self._enq(9, 1 if won else 0, fmt='B')
class GameState(Enum):
NONE = 0