import os
from pymud import IConfig, Session
class MyConfig(IConfig):
def __init__(self, session: Session, *args, **kwargs):
self.session = session
# 是否调用 #reload 命令重新加载模块
reload = kwargs.get("reload", False)
# 定义一个元组,元组下标从0开始
mods = list()
# 加载单独脚本,把它们添加到mods元组中
mods.append("脚本一")
mods.append("script.账号一的独立脚本")
mods.append("script.公共脚本")
# =============#
# 加载任务模块 #
# =============#
# 固定语法,不要修改
cur_dir = os.path.dirname(__file__)
root_dir = os.path.join(cur_dir, "script")
# jobs目录下的所有py文件
dir = os.path.join(root_dir, "jobs")
# 开始遍历jobs目录下的所有py文件
if os.path.exists(dir):
for file in os.listdir(dir):
if (file.endswith(".py") and (not file.startswith("__"))):
# 把遍历找到的文件添加到mods元组中
mods.append(f"script.jobs.{file[:-3]}")
# 加载元组加载到session对象中,供pymud调用
session.load_module(mods)
# 在pymud中输入 #reload 命令,重新加载脚本
if reload:
session.reload_module(mods)
self.mods = mods
# 在pymud中输入#unload命令时触发,卸载脚本
def __unload__(self):
self.session.unload_module(self.mods)