RemoveObject

Kategorie: Objekte / Existenz
Ab Engineversion: 4.6.5.0 CP (erweitert ab 4.9.1.0 GWE)

Beschreibung

Entfernt ein Objekt.

Syntax

bool RemoveObject (object pObj, bool fEjectContents);

Parameter

pObj:
[opt] Objekt, das entfernt werden soll. 0 bei lokalem Aufruf.
fEjectContents:
[opt] Wenn wahr, wird der Inhalt des Objekts vor der Vernichtung ausgeleert. Ansonsten wird er mit vernichtet.

Anmerkung

Beim Löschen eines Objekts werden viele interne Zeiger gelöscht, und das Objekt selber wird ungültig. Darum sollte der Zeiger auf dieses Objekt (z.B. innerhalb von threadlokalen Variablen) anschließend nicht mehr benutzt werden. Wenn sich ein Objekt selber entfernt, sollte die Funktion sofort mit return() beendet werden.
Wenn sich das Objekt zu diesem Zeitpunkt in einer Crew befindet, wird das assoziierte Infoobjekt in der Crew nicht als getötet markiert. Das heißt, ein darauffolgender MakeCrewMember()-Aufruf kann wieder in demselben Mannschaftsmitglied resultieren. Um dies zu verhindern, sollte das Objekt zuvor mit Kill() getötet werden.

Beispiel

public func Activate(pClonk) { return(RemoveObject(pClonk)); }
Wenn ein Clonk dieses Objekt aktiviert, wird er entfernt.
Siehe auch: CreateObject, Explode, Kill
Sven2, August 2002