允许修补/修改C#游戏的术语

时间:2011-01-13 06:00:15

标签: c# patch

我需要能够允许mods /补丁到一个非常简单的游戏。基本上我需要允许加载一个充满DLL文件的文件夹,并让它们的功能覆盖原始应用程序的功能。

我知道钩子系统的基础知识,其中可以在整个应用程序源中放置一行代码,以“引入”来自外部变量等的代码。

我试图搜索这个,但是由于我不确定术语,我最终筛选了大约30个网站并回到游戏网站,并提供有关如何专门修改游戏的说明。这些信息很有帮助,但我需要一点帮助

我的问题是:我试图实现的目标是否有助于我进行谷歌搜索?

2 个答案:

答案 0 :(得分:3)

您应该寻找.NET plug-in / add-in框架。 .NET Fx自3.5以来包含自己的加载框架,但这可能对您的要求有些过分。因此,你想要实现的东西在.NET中非常简单 - 这里是它的大致概述:

  1. 定义需要由第三方实施的各种接口(挂钩)。将它们打包在带有文档的单独dll中。
  2. 创建一个配置项(配置项),它将接受实现必需接口的完全限定类型名称。
  3. 在您的程序中,使用上面的配置条目加载类型。你可以使用反射(见Activator.CreateInstance)。将对象转换为接口并使用它。
  4. 第三方应该提供这些接口的实现并将dll放在应用程序文件夹下。并修改配置条目以输入类型名称。

答案 1 :(得分:2)

不确定,但鉴于.NET上下文,MEF(托管可扩展框架)或System.AddIns可以正常工作。