36 lines
941 B
Python
36 lines
941 B
Python
import typing
|
|
|
|
import interface.screen
|
|
import logic.listener
|
|
|
|
|
|
class Context:
|
|
screen: interface.screen.Screen
|
|
listener: typing.Type[logic.listener.Listener]
|
|
type: str
|
|
|
|
pygame_launched: bool = False
|
|
|
|
@classmethod
|
|
def get_context(cls):
|
|
"""Get the actual context (what's in the screen, in the listener) and store it in the 'Context' class"""
|
|
cls.screen = interface.screen.Screen()
|
|
cls.screen.start()
|
|
cls.screen.init()
|
|
cls.listener = logic.listener.Listener
|
|
cls.type = "pygame"
|
|
|
|
@classmethod
|
|
def leave_context(cls):
|
|
"""Leave the actual context"""
|
|
try:
|
|
if cls.type == "pygame":
|
|
cls.listener.clean()
|
|
cls.screen.close()
|
|
if cls.pygame_launched:
|
|
cls.screen.stop()
|
|
cls.pygame_launched = False
|
|
except KeyError:
|
|
pass
|
|
return None
|