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

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, которые ждёт движок, помещая за ними базовый код Valve(en) от CInput(en).

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

This category currently contains no pages or media.