mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-24 13:30:42 +01:00
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:
@@ -13,11 +13,17 @@
|
||||
var/_wifi_id
|
||||
var/datum/wifi/sender/button/wifi_sender
|
||||
|
||||
/obj/machinery/button/New()
|
||||
/obj/machinery/button/initialize()
|
||||
..()
|
||||
if(_wifi_id)
|
||||
wifi_sender = new(_wifi_id)
|
||||
|
||||
/obj/machinery/button/Destroy()
|
||||
if(wifi_sender)
|
||||
qdel(wifi_sender)
|
||||
wifi_sender = null
|
||||
return..()
|
||||
|
||||
/obj/machinery/button/attack_ai(mob/user as mob)
|
||||
return src.attack_hand(user)
|
||||
|
||||
|
||||
@@ -190,15 +190,18 @@
|
||||
var/_wifi_id
|
||||
var/datum/wifi/receiver/button/crematorium/wifi_receiver
|
||||
|
||||
/obj/structure/crematorium/New()
|
||||
/obj/structure/crematorium/initialize()
|
||||
..()
|
||||
if(_wifi_id)
|
||||
wifi_receiver = new(_wifi_id)
|
||||
wifi_receiver = new(_wifi_id, src)
|
||||
|
||||
/obj/structure/crematorium/Destroy()
|
||||
if(connected)
|
||||
qdel(connected)
|
||||
connected = null
|
||||
if(wifi_receiver)
|
||||
qdel(wifi_receiver)
|
||||
wifi_receiver = null
|
||||
return ..()
|
||||
|
||||
/obj/structure/crematorium/proc/update()
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
var/state = 0
|
||||
var/locked = 0
|
||||
|
||||
var/_wifi_id
|
||||
var/datum/wifi/receiver/button/emitter/wifi_receiver
|
||||
|
||||
/obj/machinery/power/emitter/verb/rotate()
|
||||
@@ -41,13 +42,16 @@
|
||||
..()
|
||||
if(state == 2 && anchored)
|
||||
connect_to_network()
|
||||
wifi_receiver = new(id, src)
|
||||
if(_wifi_id)
|
||||
wifi_receiver = new(_wifi_id, src)
|
||||
|
||||
/obj/machinery/power/emitter/Destroy()
|
||||
message_admins("Emitter deleted at ([x],[y],[z] - <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)",0,1)
|
||||
log_game("Emitter deleted at ([x],[y],[z])")
|
||||
investigate_log("<font color='red'>deleted</font> at ([x],[y],[z])","singulo")
|
||||
wifi_receiver.Destroy()
|
||||
if(wifi_receiver)
|
||||
qdel(wifi_receiver)
|
||||
wifi_receiver = null
|
||||
..()
|
||||
|
||||
/obj/machinery/power/emitter/update_icon()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user