mapy/mapy/scripts/script_base.py
2022-04-15 23:49:39 -07:00

26 lines
668 B
Python

class ScriptBase:
def __init__(self, script, client):
self._parent = client
self._script = compile(
"async def ex():\n"
+ "".join([f" {line}" for line in open(script, "r").readlines()]),
"<string>",
"exec",
)
self._context = None
async def execute(self):
async def run(script, _globals):
exec(script, _globals)
await _globals["ex"]()
env = {"ctx": self._context}
env.update(globals())
await run(self._script, env)
self._parent.npc_script = None
@property
def parent(self):
return self._parent