Category:Interfaces:de

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

Schnittstellen sind C++ klassen, die andere Teile der Engine verwenden, wenn eine Modifikation läuft.

Manche Schnittstellen-Objekte sind sehr wichtig und erofrderlich für die richtige Funktionsweise von Spiel-DLLs; Um diese zu nutzen, müssen diese über Vererbung implementiert werden und zurück zu einem globalen Pointer der Schnittstelle mit einem bestimmten Namen gecastet werden.

Note.pngNote:Wenn versucht wird, eine Schnittstelle direkt zu erzeugen, wird die Modifikation abstürzen. Dies geschieht bewusst.
Warning.pngWarning:Es ist wichtig alle aufgelisteten Objekte beim veröffentlichen einer wichtigen Schnittstelle zu erzeugen, auch wenn das Spiel sich ohne das eine oder andere Objekt Kompiliert und ausgeführt werden kann. Wenn versucht wird, Ecken einzusparen, treten seltsame und nahezu unmöglich zu debuggende Fehler auf, entweder sofort oder in einem zukünftigen Update der Engine!
Warning.pngWarning:Modifiziere niemals eine Schnittstelle selbst. Es muss immer von dieser geerbt und dann zurückgecastet werden.

Beispiel

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

Dies erzeugt von der Engine erwartete IInput* input- und g_Input-Objekte, hinter denen sich Valves Basis-Eingabecode aus CInput verbirgt.

CInput kann frei modifiziert werden oder es kann eine eigene, abgeleitete Klasse stattdessen erstellt werden; nur Member von IInput von der Engine verwendet.

This category currently contains no pages or media.