Category:Ru/Interfaces: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
{{ | {{lang|Category:Interfaces|title=Категория: Интерфейсы}} | ||
'''[[w:ru:Интерфейс|Интерфейсы]]''' — это C++ классы, к которым другие части движка получают доступ, пока ваш мод запущен. | |||
| | |||
| | |||
}} | |||
[ | |||
Некоторые объекты интерфейса очень важны и необходимы для функционирования игровых DLL файлов. Для их использования, наследуйте их для реализации, затем вернитесь к интерфейсу в глобальном [[pointer|указателе]] с предопределённым именем. | |||
{{note:ru|Если вы попытаетесь создать интерфейс напрямую, ваш мод крашнется. Это происходит намеренно.}} | |||
{{warning:ru|Важно создать все объекты, перечисленные при предоставлении интерфейса, даже если ваш мод может быть скомпилирован и запущен без одного или другого. Если вы попытаетесь убрать что-то, вы, вероятней всего, столкнётесь со странными, почти невозможными для отладки ошибками нынешних или будущих обновлений движка!}} | |||
{{warning:ru|Ни в коем случае не изменяйте сам класс интерфейса. Вы всегда должны наследовать его, а затем возвращать.}} | |||
==Пример== | |||
<source lang=cpp>static CInput g_Input; | <source lang=cpp>static CInput g_Input; | ||
IInput* input = (IInput*)&g_Input;</source> | IInput* input = (IInput*)&g_Input;</source> | ||
Тут создаются объекты <code>[[IInput]]* input</code> и <code>g_Input</code>, которые ждёт движок, помещая за ними базовый код Valve от CInput. | Тут создаются объекты <code>[[IInput]]* input</code> и <code>g_Input</code>, которые ждёт движок, помещая за ними базовый код [[Valve]] от [[CInput]]. | ||
Вы можете изменить <code>CInput</code> или создать свой собственный унаследованный класс и использовать его | Вы можете изменить <code>CInput</code> или создать свой собственный унаследованный класс и использовать его. Но помните — только члены <code>IInput</code> будут доступны движку. | ||
[[Category:Programming:ru]] | [[Category:Programming:ru]] |
Revision as of 09:05, 24 November 2022
Интерфейсы — это C++ классы, к которым другие части движка получают доступ, пока ваш мод запущен.
Некоторые объекты интерфейса очень важны и необходимы для функционирования игровых DLL файлов. Для их использования, наследуйте их для реализации, затем вернитесь к интерфейсу в глобальном указателе с предопределённым именем.
Template:Note:ru 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.