Категория: Интерфейсы

From Valve Developer Community
Jump to navigation Jump to search
English (en)Deutsch (de)Русский (ru)Translate (Translate)

Интерфейсы — это C++ классы, к которым другие части движка получают доступ, пока ваш мод запущен.

Некоторые объекты интерфейса очень важны и необходимы для функционирования игровых DLL файлов. Для их использования, наследуйте их для реализации, затем вернитесь к интерфейсу в глобальном указателе(en) с предопределённым именем.

Note.pngПримечание: Если попытаться создать интерфейс самостоятельно, то модификация будет завершаться сбоем. Это сделано специально.
Warning.pngПредупреждение: Важно создать все перечисляемые объекты для работы необходимого интерфейса, даже если модификация может быть скомпилирована и запущена без одного или другого из них. Попытка сэкономить время, скорее всего, приведёт к появлению странных ошибок, которые практически невозможно отладить сейчас, и тем более после обновления платформы!
Warning.pngПредупреждение: Никогда не изменяйте сам класс интерфейса. Всегда нужно наследовать его, а затем приводить необходимый тип.

Пример

static CInput g_Input;
IInput* input = (IInput*)&g_Input;

Этот код создаёт объекты IInput(en)* input и g_Input, которые ожидает игровая платформа, дополняя их системным кодом ввода из CInput(en).

Вы можете изменить CInput или создать свой собственный унаследованный класс и использовать его. Но помните — только члены IInput будут доступны движку.

This category currently contains no pages or media.