Category:Ru/Interfaces: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
m (obsolete language category)
 
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{otherlang2
{{lang|Category:Interfaces|title=Категория: Интерфейсы}}
|title=Категория:Интерфейсы
'''[[w:ru:Интерфейс|Интерфейсы]]''' — это C++ классы, к которым другие части движка получают доступ, пока ваш мод запущен.
|en=Category:Interfaces
|de=Category:Interfaces:de
}}
[https://ru.wikipedia.org/wiki/Интерфейс Интерфейсы] - это C++ классы, к которым другие части движка получают доступ, пока ваш мод запущен.
Некоторые объекты интерфейса очень важны и необходимы для функционирования игровых DLL. Чтобы использовать их, наследуйте их для реализации, затем вернитесь к интерфейсу в глобальном [[pointer|указателе]] с предопределенным именем.


{{note:ru|Если вы попытаетесь создать интерфейс напрямую, ваш мод будет крашнут осознанно}}
Некоторые объекты интерфейса очень важны и необходимы для функционирования игровых DLL файлов. Для их использования, наследуйте их для реализации, затем вернитесь к интерфейсу в глобальном {{L|pointer|указателе}} с предопределённым именем.
{{warning:ru|Важно создать все объекты, перечисленные при предоставлении интерфейса, даже если ваш мод может быть скомпилирован и запущен без одного или другого. Если вы попытаетесь срезать углы, вы, вероятно, столкнетесь со странными, почти невозможными для отладки ошибками нынешних или будущих обновлений движка!}}
{{warning:ru|'''Никогда, никогда''' не изменяйте сам класс интерфейса. Вы всегда должны наследовать, а затем возвратить.}}


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


==Пример==
<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>{{L|IInput}}* input</code> и <code>g_Input</code>, которые ждёт движок, помещая за ними базовый код {{L|Valve}} от {{L|CInput}}.


Вы можете изменить <code>CInput</code> или создать свой собственный унаследованный класс и использовать его вместо него. Просто помните, что только члены <code>IInput</code> будут доступны движку.
Вы можете изменить <code>CInput</code> или создать свой собственный унаследованный класс и использовать его. Но помните только члены <code>IInput</code> будут доступны движку.


[[Category:Programming:ru]]
{{ACategory|Programming}}

Latest revision as of 04:31, 22 August 2024

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.