Category:Ru/Interfaces: Difference between revisions
Jump to navigation
Jump to search
Примечание:Если вы попытаетесь создать интерфейс напрямую, ваш мод крашнется. Это происходит намеренно.
mNo edit summary |
Another OWL (talk | contribs) m ({{Note}} instead of {{Note:ru}}) |
||
Line 4: | Line 4: | ||
Некоторые объекты интерфейса очень важны и необходимы для функционирования игровых DLL файлов. Для их использования, наследуйте их для реализации, затем вернитесь к интерфейсу в глобальном [[pointer|указателе]] с предопределённым именем. | Некоторые объекты интерфейса очень важны и необходимы для функционирования игровых DLL файлов. Для их использования, наследуйте их для реализации, затем вернитесь к интерфейсу в глобальном [[pointer|указателе]] с предопределённым именем. | ||
{{ | {{Note|Если вы попытаетесь создать интерфейс напрямую, ваш мод крашнется. Это происходит намеренно.}} | ||
{{warning:ru|Важно создать все объекты, перечисленные при предоставлении интерфейса, даже если ваш мод может быть скомпилирован и запущен без одного или другого. Если вы попытаетесь убрать что-то, вы, вероятней всего, столкнётесь со странными, почти невозможными для отладки ошибками нынешних или будущих обновлений движка!}} | {{warning:ru|Важно создать все объекты, перечисленные при предоставлении интерфейса, даже если ваш мод может быть скомпилирован и запущен без одного или другого. Если вы попытаетесь убрать что-то, вы, вероятней всего, столкнётесь со странными, почти невозможными для отладки ошибками нынешних или будущих обновлений движка!}} | ||
{{warning:ru|Ни в коем случае не изменяйте сам класс интерфейса. Вы всегда должны наследовать его, а затем возвращать.}} | {{warning:ru|Ни в коем случае не изменяйте сам класс интерфейса. Вы всегда должны наследовать его, а затем возвращать.}} |
Revision as of 11:40, 21 September 2023
Интерфейсы — это C++ классы, к которым другие части движка получают доступ, пока ваш мод запущен.
Некоторые объекты интерфейса очень важны и необходимы для функционирования игровых DLL файлов. Для их использования, наследуйте их для реализации, затем вернитесь к интерфейсу в глобальном указателе с предопределённым именем.

Template:Warning:ru Template:Warning:ru
Пример
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.