2019-11-05 21:18:20 +00:00
|
|
|
class Update:
|
|
|
|
def __init__(self):
|
|
|
|
self.message_queue = []
|
|
|
|
self.model = None
|
|
|
|
self.view = None
|
|
|
|
|
|
|
|
def update_model(self):
|
2019-11-11 22:04:45 +00:00
|
|
|
# any update resets menu_location, except if it explicitly defines it
|
|
|
|
for msg in self.message_queue:
|
|
|
|
if msg.reset():
|
|
|
|
self.model.reset()
|
|
|
|
break
|
|
|
|
|
2019-11-05 21:18:20 +00:00
|
|
|
for msg in self.message_queue:
|
|
|
|
msg.update_model(self.model)
|
|
|
|
|
|
|
|
self.message_queue = []
|
|
|
|
self.view.view(self.model)
|
|
|
|
|
|
|
|
def schedule(self, msg):
|
|
|
|
self.message_queue.append(msg)
|
|
|
|
# for now, directly clearing message queue
|
|
|
|
self.update_model()
|
|
|
|
|
|
|
|
def set_model(self, model):
|
|
|
|
self.model = model
|
|
|
|
|
|
|
|
def set_view(self, view):
|
|
|
|
self.view = view
|
|
|
|
|
|
|
|
|
|
|
|
update = Update()
|
|
|
|
|