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

From Valve Developer Community
Jump to: navigation, search
English (en)Deutsch (de)русский (ru)
... Icon-Important.png

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

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

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

Пример

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

Тут создаются объекты IInput* input и g_Input, которые ждёт движок, помещая за ними базовый код Valve от CInput.

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

This category currently contains no pages or media.