class ICCME_EventBase extends RelationalClasses abstract; // time the event was created (relative to game start) var float createdTime; // Is this event reliable ? Setted for some emulated event that might not be accurates var bool bReliable; // Tell the engine this event must be treated in the current Tick() context and not the next one var bool bUrgent; var array _ar_AttachedEventListener; var bool _bBroadcast; // print Event relevent informations in the main UT log file function doLog() { log(""); log("===== Event:"@Self.Class@"["$createdTime$"]"@"====="); log("Self:"@Self); log("bReliable:"@bReliable); log("bUrgent:"@bUrgent); } static function attach(ICCME_EventListenerBase EventListener) { local int i; local bool bAlreadyRegistered; if(EventListener.bMonitor) return; for(i=0;i(default.Tchilds[i]).static.attach(EventListener); } } function RunAttached() { local int i; for(i=0;i