Терминология для разрешения патчей / модификаций в игре C # - PullRequest
0 голосов
/ 13 января 2011

Мне нужно иметь возможность разрешать моды / патчи в очень простой игре.По сути, мне нужно разрешить загрузку папки, полной DLL-файлов, и их функции переопределяют функции исходного приложения.

Я знаю основы системы перехвата, где строка кода может быть размещена в приложении.исходный код для «ввода» кода из внешних переменных и тому подобного.

Я попытался найти это, однако, поскольку я не уверен в терминологии, я закончил просеивать около 30 сайтов и возвращаться кигровые сайты с инструкциями о том, как конкретно модить свои игры.Эта информация была полезна, но мне нужна небольшая помощь

Мой вопрос: есть ли общий термин для того, чего я пытаюсь достичь, который поможет мне в поиске в Google?

Ответы [ 2 ]

3 голосов
/ 13 января 2011

Возможно, вам стоит поискать плагин .NET / add-in framework..NET Fx начиная с версии 3.5 содержит собственную структуру надстроек, но это может быть излишним для ваших требований.Таким образом, то, чего вы хотите достичь, довольно просто в .NET - вот его общая схема:

  1. Определение различных интерфейсов (хуков), которые должны быть реализованы третьей стороной.Упакуйте их в отдельную dll с документацией.
  2. Создайте элемент конфигурации (запись конфигурации), который будет принимать полное имя типа, реализующее необходимый интерфейс.
  3. В вашей программе загрузите типиспользуя вышеупомянутую запись конфигурации.Для этого вы можете использовать отражение (см. Activator.CreateInstance ).Приведите объект к интерфейсу и используйте его.
  4. Третья сторона должна обеспечить реализацию этих интерфейсов и поместить dll в папку приложения.И измените запись конфигурации, чтобы ввести имя типа.
2 голосов
/ 13 января 2011

Не уверен, но с учетом контекста .NET MEF (Managed Extensible Framework) или System.AddIns могут работать.

...