fishyboteso/fishy/engine/semifisher/fishing_mode.py

39 lines
782 B
Python
Raw Normal View History

from enum import Enum
subscribers = []
class State(Enum):
HOOK = 60,
STICK = 18,
LOOK = 100,
IDLE = -1
def _notify(event):
for subscriber in subscribers:
subscriber(event)
class FishingMode:
CurrentMode = State.IDLE
PrevMode = State.IDLE
def loop(hue_values):
"""
Executed in the start of the main loop in fishy.py
Changes modes, calls mode events (callbacks) when mode is changed
:param hue_values: hue_values read by the bot
"""
FishingMode.CurrentMode = State.IDLE
for s in State:
if hue_values == s.value:
FishingMode.CurrentMode = s
if FishingMode.CurrentMode != FishingMode.PrevMode:
_notify(FishingMode.CurrentMode)
FishingMode.PrevMode = FishingMode.CurrentMode