Files
GS13NG/code/modules/shuttle/shuttle_creation/shuttle_creator_overlay.dm
EmeraldSundisk 45a14f16d4 Revert "?"
This reverts commit c6b5bac0d8.
2020-07-04 21:39:23 -07:00

54 lines
1.3 KiB
Plaintext

/*
* Manages the overlays for the shuttle creator drone.
*/
/datum/shuttle_creator_overlay_holder
var/client/holder
var/list/images = list()
var/list/turfs = list()
/datum/shuttle_creator_overlay_holder/proc/add_client(client/C)
holder = C
holder.images += images
/datum/shuttle_creator_overlay_holder/proc/remove_client()
if(holder)
holder.images -= images
holder = null
/datum/shuttle_creator_overlay_holder/proc/clear_highlights()
if(holder)
holder.images -= images
images.Cut()
turfs.Cut()
/datum/shuttle_creator_overlay_holder/proc/create_hightlight(turf/T)
if(T in turfs)
return
var/image/I = image('icons/turf/overlays.dmi', T, "greenOverlay")
I.plane = ABOVE_LIGHTING_PLANE
images += I
holder.images += I
turfs += T
/datum/shuttle_creator_overlay_holder/proc/remove_hightlight(turf/T)
if(!(T in turfs))
return
turfs -= T
holder.images -= images
for(var/image/I in images)
if(get_turf(I) != T)
continue
images -= I
holder.images += images
/datum/shuttle_creator_overlay_holder/proc/highlight_area(list/turfs)
for(var/turf/T in turfs)
highlight_turf(T)
/datum/shuttle_creator_overlay_holder/proc/highlight_turf(turf/T)
create_hightlight(T)
/datum/shuttle_creator_overlay_holder/proc/unhighlight_turf(turf/T)
remove_hightlight(T)