Category:Ru/Interfaces: Difference between revisions
Jump to navigation
Jump to search
Примечание:Если вы попытаетесь создать интерфейс напрямую, ваш мод крашнется. Это происходит намеренно.
Предупреждение:Важно создать все объекты, перечисленные при предоставлении интерфейса, даже если ваш мод может быть скомпилирован и запущен без одного или другого. Если вы попытаетесь убрать что-то, вы, вероятней всего, столкнётесь со странными, почти невозможными для отладки ошибками нынешних или будущих обновлений движка!
Предупреждение:Ни в коем случае не изменяйте сам класс интерфейса. Вы всегда должны наследовать его, а затем возвращать.
mNo edit summary |
m (obsolete language category) |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 2: | Line 2: | ||
'''[[w:ru:Интерфейс|Интерфейсы]]''' — это C++ классы, к которым другие части движка получают доступ, пока ваш мод запущен. | '''[[w:ru:Интерфейс|Интерфейсы]]''' — это C++ классы, к которым другие части движка получают доступ, пока ваш мод запущен. | ||
Некоторые объекты интерфейса очень важны и необходимы для функционирования игровых DLL файлов. Для их использования, наследуйте их для реализации, затем вернитесь к интерфейсу в глобальном | Некоторые объекты интерфейса очень важны и необходимы для функционирования игровых DLL файлов. Для их использования, наследуйте их для реализации, затем вернитесь к интерфейсу в глобальном {{L|pointer|указателе}} с предопределённым именем. | ||
{{ | {{Note|Если вы попытаетесь создать интерфейс напрямую, ваш мод крашнется. Это происходит намеренно.}} | ||
{{warning | {{warning|Важно создать все объекты, перечисленные при предоставлении интерфейса, даже если ваш мод может быть скомпилирован и запущен без одного или другого. Если вы попытаетесь убрать что-то, вы, вероятней всего, столкнётесь со странными, почти невозможными для отладки ошибками нынешних или будущих обновлений движка!}} | ||
{{warning | {{warning|Ни в коем случае не изменяйте сам класс интерфейса. Вы всегда должны наследовать его, а затем возвращать.}} | ||
==Пример== | ==Пример== | ||
Line 12: | Line 12: | ||
IInput* input = (IInput*)&g_Input;</source> | IInput* input = (IInput*)&g_Input;</source> | ||
Тут создаются объекты <code> | Тут создаются объекты <code>{{L|IInput}}* input</code> и <code>g_Input</code>, которые ждёт движок, помещая за ними базовый код {{L|Valve}} от {{L|CInput}}. | ||
Вы можете изменить <code>CInput</code> или создать свой собственный унаследованный класс и использовать его. Но помните — только члены <code>IInput</code> будут доступны движку. | Вы можете изменить <code>CInput</code> или создать свой собственный унаследованный класс и использовать его. Но помните — только члены <code>IInput</code> будут доступны движку. | ||
{{ACategory|Programming}} |
Latest revision as of 04:31, 22 August 2024
Интерфейсы — это C++ классы, к которым другие части движка получают доступ, пока ваш мод запущен.
Некоторые объекты интерфейса очень важны и необходимы для функционирования игровых DLL файлов. Для их использования, наследуйте их для реализации, затем вернитесь к интерфейсу в глобальном указателе с предопределённым именем.



Пример
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.