mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
28 lines
946 B
Plaintext
28 lines
946 B
Plaintext
// Observer Pattern Implementation: Turf Changed
|
|
// Registration type: /turf
|
|
//
|
|
// Raised when: A turf has been changed using the ChangeTurf proc.
|
|
//
|
|
// Arguments that the called proc should expect:
|
|
// /turf/affected: The turf that has changed
|
|
// /old_density: Density before the change
|
|
// /new_density: Density after the change
|
|
// /old_opacity: Opacity before the change
|
|
// /new_opacity: Opacity after the change
|
|
|
|
var/decl/observ/turf_changed/turf_changed_event = new()
|
|
|
|
/decl/observ/turf_changed
|
|
name = "Turf Changed"
|
|
expected_type = /turf
|
|
|
|
/************************
|
|
* Turf Changed Handling *
|
|
************************/
|
|
|
|
/turf/ChangeTurf(var/turf/N, var/tell_universe, var/force_lighting_update, var/preserve_outdoors)
|
|
var/old_density = density
|
|
var/old_opacity = opacity
|
|
. = ..(N, tell_universe, force_lighting_update, preserve_outdoors)
|
|
if(.)
|
|
turf_changed_event.raise_event(src, old_density, density, old_opacity, opacity) |