firmware+controller: Add round start state
This commit is contained in:
		@@ -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:
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user