20240126
NPC 分好类了¶
我们的NPC实现非常的诡异
由于我们想要实现纯 NPC,希望定义的时候就能够实现大部分功能
因此我们传递了一个构造器
比如:
self.npcs.add(DialogNPC(self.width // 3, self.height // 3, "和蔼的新手村导师",
dialog = lambda skinPath, name : DialogBox(self.window, skinPath, name, [f"你好,{os.getlogin()},欢迎来到靶场","你将扮演一位名为「旅行者」的神秘角色,逐步发掘原神的真相"], Archive.talkType)))
因为我们不仅需要 NPC 本身的信息(名字,图片),还想要能够自定义说话内容,而且在定义的时候就决定了其功能
于是我们直接传入一个 lambda 表达式用来构造
非常诡异的做法