diff --git a/baystation12.dme b/baystation12.dme index ca75948dfff..fd3cf7af170 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -122,7 +122,6 @@ #include "code\controllers\subsystems.dm" #include "code\controllers\verbs.dm" #include "code\controllers\voting.dm" -#include "code\controllers\observer_listener\atom\observer.dm" #include "code\controllers\observer_listener\datum\observer.dm" #include "code\controllers\Processes\air.dm" #include "code\controllers\Processes\alarm.dm" @@ -131,6 +130,7 @@ #include "code\controllers\Processes\emergencyShuttle.dm" #include "code\controllers\Processes\event.dm" #include "code\controllers\Processes\garbage.dm" +#include "code\controllers\Processes\general.dm" #include "code\controllers\Processes\inactivity.dm" #include "code\controllers\Processes\machinery.dm" #include "code\controllers\Processes\mob.dm" diff --git a/code/controllers/observer_listener/atom/observer.dm b/code/controllers/observer_listener/atom/observer.dm deleted file mode 100644 index da38580414e..00000000000 --- a/code/controllers/observer_listener/atom/observer.dm +++ /dev/null @@ -1,31 +0,0 @@ -#define OBSERVER_EVENT_DESTROY "OnDestroy" - -/atom - var/list/observer_events - -/atom/Destroy() - var/list/destroy_listeners = get_listener_list_from_event(OBSERVER_EVENT_DESTROY) - if(destroy_listeners) - for(var/destroy_listener in destroy_listeners) - call(destroy_listener, destroy_listeners[destroy_listener])(src) - - for(var/list/listeners in observer_events) - listeners.Cut() - - return ..() - -/atom/proc/register(var/event, var/procOwner, var/proc_call) - var/list/listeners = get_listener_list_from_event(event) - listeners[procOwner] = proc_call - -/atom/proc/unregister(var/event, var/procOwner) - var/list/listeners = get_listener_list_from_event(event) - listeners -= procOwner - -/atom/proc/get_listener_list_from_event(var/observer_event) - if(!observer_events) observer_events = list() - var/list/listeners = observer_events[observer_event] - if(!listeners) - listeners = list() - observer_events[observer_event] = listeners - return listeners diff --git a/code/controllers/observer_listener/datum/observer.dm b/code/controllers/observer_listener/datum/observer.dm index 61f6fbf1802..cc0ef0612a3 100644 --- a/code/controllers/observer_listener/datum/observer.dm +++ b/code/controllers/observer_listener/datum/observer.dm @@ -1,10 +1,14 @@ -/* #define OBSERVER_EVENT_DESTROY "OnDestroy" /datum var/list/observer_events /datum/Destroy() + var/list/destroy_listeners = get_listener_list_from_event(OBSERVER_EVENT_DESTROY) + if(destroy_listeners) + for(var/destroy_listener in destroy_listeners) + call(destroy_listener, destroy_listeners[destroy_listener])(src) + for(var/list/listeners in observer_events) listeners.Cut() @@ -25,4 +29,3 @@ listeners = list() observer_events[observer_event] = listeners return listeners -*/