add subsystem/DoInitialize & move base behavior to

This commit is contained in:
spookerton
2022-04-12 12:21:58 +01:00
parent 757fecf223
commit d29a95b5a4
2 changed files with 10 additions and 4 deletions

View File

@@ -176,7 +176,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
for (var/datum/controller/subsystem/SS in subsystems)
if (SS.flags & SS_NO_INIT)
continue
SS.Initialize(REALTIMEOFDAY)
SS.DoInitialize(REALTIMEOFDAY)
CHECK_TICK
current_ticklimit = TICK_LIMIT_RUNNING
var/time = (REALTIMEOFDAY - start_timeofday) / 10

View File

@@ -41,16 +41,22 @@
return ..()
/// Initializes the subsystem AFTER map load. The preferred initialization proc.
/datum/controller/subsystem/Initialize(start_timeofday)
/// Wrapper for non-implementation initialization behaviors.
/datum/controller/subsystem/proc/DoInitialize(timeofday)
Initialize(timeofday)
subsystem_initialized = TRUE
var/time = (REALTIMEOFDAY - start_timeofday) / 10
var/time = (REALTIMEOFDAY - timeofday) / 10
var/msg = "Initialized [name] subsystem within [time] second[time == 1 ? "" : "s"]!"
to_chat(world, "<span class='boldannounce'>[msg]</span>")
log_world(msg)
return time
/// Initializes the subsystem AFTER map load. The preferred initialization proc. Do not implement any base behaviors here.
/datum/controller/subsystem/Initialize(timeofday)
return
/// Initializes the subsystem BEFORE map load. Called after recover, if recover is called.
/datum/controller/subsystem/proc/PreInit()
return