GC cleanup

Cleaned up some GC code and properly implemented it for wireless datums
Remote buttons are now fully working with emitters and crematoriums
This commit is contained in:
Loganbacca
2015-11-22 22:32:52 +13:00
parent a9555b0175
commit 750414e280
5 changed files with 36 additions and 22 deletions
+14 -14
View File
@@ -1,6 +1,16 @@
/datum/wifi/receiver/button
var/obj/parent
/datum/wifi/receiver/button/New(var/new_id, var/obj/O)
id = new_id
if(istype(O))
parent = O
..()
/datum/wifi/receiver/button/Destroy()
parent = null
return ..()
/datum/wifi/receiver/button/proc/activate(mob/living/user)
@@ -11,27 +21,17 @@
//-------------------------------
// Emitter
//-------------------------------
/datum/wifi/receiver/button/emitter/New(var/new_id, var/obj/machinery/power/emitter/E)
id = new_id
if(istype(E))
parent = E
..()
/datum/wifi/receiver/button/emitter/activate(mob/living/user)
..()
var/obj/machinery/power/emitter/E = parent
E.activate(user)
if(istype(E))
E.activate(user)
//-------------------------------
// Crematorium
//-------------------------------
/datum/wifi/receiver/button/crematorium/New(var/new_id, var/obj/structure/crematorium/C)
id = new_id
if(istype(C))
parent = C
..()
/datum/wifi/receiver/button/crematorium/activate(mob/living/user)
..()
var/obj/structure/crematorium/C = parent
C.cremate(user)
if(istype(C))
C.cremate(user)
+4 -3
View File
@@ -5,9 +5,10 @@
connected_devices = new()
/datum/wifi/Destroy(var/wifi/device)
..()
for(var/datum/wifi/D in connected_devices)
D.disconnect_device(src)
disconnect_device(D)
return ..()
/datum/wifi/proc/connect_device(var/datum/wifi/device)
connected_devices |= device
@@ -26,9 +27,8 @@
wirelessProcess.add_device(src)
/datum/wifi/receiver/Destroy()
..()
wirelessProcess.remove_device(src)
return ..()
/datum/wifi/sender
@@ -37,6 +37,7 @@
/datum/wifi/sender/New(var/new_target)
..()
target = new_target
send_connection_request()
/datum/wifi/sender/proc/set_target(var/new_target)
target = new_target