X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Flib%2Fdefer.qh;h=4f34bb4853ade7f0149274ebdb3c325d4468147a;hb=93828285050f4c7c88bec2a5aa12da41538e5075;hp=24764ae1585038b96257e139e857f7f30417dae5;hpb=669311cae7c93d70ff08fa2e3dd30cabdd2da8fa;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/lib/defer.qh b/qcsrc/lib/defer.qh index 24764ae15..4f34bb485 100644 --- a/qcsrc/lib/defer.qh +++ b/qcsrc/lib/defer.qh @@ -1,33 +1,23 @@ #pragma once -#ifndef MENUQC +#ifdef GAMEQC #include "oo.qh" #include "self.qh" entityclass(Defer); class(Defer).entity owner; - class(Defer).void() think; - class(Defer).float nextthink; class(Defer).void(entity) defer_func; - /** Remove self */ + /** Remove entity */ void SUB_Remove(entity this) { - remove(this); + delete(this); } - /** Remove self */ - void SUB_Remove_self() + void defer_think(entity this) { - SELFPARAM(); - remove(this); - } - - void defer_think() - { - SELFPARAM(); - this.think = SUB_Remove_self; + setthink(this, SUB_Remove); this.nextthink = time; this.defer_func(this.owner); } @@ -41,7 +31,7 @@ entity e = new_pure(deferred); e.owner = this; e.defer_func = func; - e.think = defer_think; + setthink(e, defer_think); e.nextthink = time + fdelay; }