Files
Bubberstation/code/modules/wiremod/core/assets.dm
SkyratBot c9b268a72a [MIRROR] Integrated the component printer into the integrated circuit UI. You can now link integrated circuits to component printers [MDB IGNORE] (#9107)
* Integrated the component printer into the integrated circuit UI. You can now link integrated circuits to component printers (#62287)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Integrated the component printer into the integrated circuit UI. You can now link integrated circuits to component printers

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-10-28 15:49:34 -04:00

41 lines
1.2 KiB
Plaintext

/datum/asset/json/circuit_components
name = "circuit_components"
/datum/asset/json/circuit_components/generate()
var/list/circuit_data = list()
for (var/component_type in subtypesof(/obj/item/circuit_component))
var/obj/item/circuit_component/circuit_info = new component_type()
var/list/component_data = list()
var/list/input_info = list()
for(var/datum/port/input/port as anything in circuit_info.input_ports)
input_info += list(list(
"name" = port.name,
"type" = port.datatype,
"color" = port.color,
"datatype_data" = port.datatype_ui_data(),
))
var/list/output_info = list()
for(var/datum/port/output/port as anything in circuit_info.output_ports)
output_info += list(list(
"name" = port.name,
"type" = port.datatype,
"color" = port.color,
"datatype_data" = port.datatype_ui_data(),
))
component_data["name"] = circuit_info.display_name
component_data["description"] = circuit_info.desc
component_data["category"] = circuit_info.category
component_data["color"] = circuit_info.ui_color
component_data["type"] = component_type
component_data["input_ports"] = input_info
component_data["output_ports"] = output_info
circuit_data += list(component_data)
qdel(circuit_info)
return circuit_data