44 lines
1.9 KiB
GDScript
44 lines
1.9 KiB
GDScript
extends Panel
|
|
|
|
const PRIBORS_RES = \
|
|
[['pribor_uf', 'res://scenes/pribor-uf/pribor-uf.tscn'],
|
|
['pribor_rtr', 'res://scenes/pribor-rtr/pribor-rtr.tscn'],
|
|
['pribor_afsp_l', 'res://scenes/pribor-afsp-l/pribor-afsp-l.tscn'],
|
|
['pribor_afsp_r', 'res://scenes/pribor-afsp-r/pribor-afsp-r.tscn'],
|
|
['pribor_sch3', 'res://scenes/pribor-sch3/pribor-sch3.tscn'],
|
|
['pribor_spt_l', 'res://scenes/pribor-spt-l/pribor-spt-l.tscn'],
|
|
['pribor_spt_r', 'res://scenes/pribor-spt-r/pribor-spt-r.tscn'],
|
|
['pribor_prd_v_1', 'res://scenes/pribor-prd-v-1/pribor-prd-v-1.tscn'],
|
|
['pribor_prd_n_1', 'res://scenes/pribor-prd-n-1/pribor-prd-n-1.tscn'],
|
|
['pribor_prd_k_1', 'res://scenes/pribor-prd-k-1/pribor-prd-k-1.tscn'],
|
|
['pribor_prd_v_2', 'res://scenes/pribor-prd-v-2/pribor-prd-v-2.tscn'],
|
|
['pribor_prd_n_2', 'res://scenes/pribor-prd-n-2/pribor-prd-n-2.tscn'],
|
|
['pribor_prd_k_2', 'res://scenes/pribor-prd-k-2/pribor-prd-k-2.tscn'],
|
|
['pribor_prd_v_3', 'res://scenes/pribor-prd-v-3/pribor-prd-v-3.tscn'],
|
|
['pribor_prd_n_3', 'res://scenes/pribor-prd-n-3/pribor-prd-n-3.tscn'],
|
|
['pribor_prd_k_3', 'res://scenes/pribor-prd-k-3/pribor-prd-k-3.tscn'],
|
|
['pribor_prd_v_4', 'res://scenes/pribor-prd-v-4/pribor-prd-v-4.tscn'],
|
|
['pribor_prd_n_4', 'res://scenes/pribor-prd-n-4/pribor-prd-n-4.tscn'],
|
|
['pribor_prd_k_4', 'res://scenes/pribor-prd-k-4/pribor-prd-k-4.tscn']]
|
|
|
|
|
|
func _ready():
|
|
for item in PRIBORS_RES:
|
|
var pribor_node = get_node(item[0])
|
|
var pribor_sch_path = item[1]
|
|
pribor_node.connect('button_up', Callable(self, 'on_pribor_press').bind(pribor_sch_path))
|
|
|
|
|
|
func on_pribor_press(pribor_sch_path):
|
|
clear_obj($pribor_sch)
|
|
var pribor_sch = load(pribor_sch_path).instantiate()
|
|
assert(pribor_sch)
|
|
$pribor_sch.add_child(pribor_sch)
|
|
|
|
|
|
func clear_obj(obj: Object):
|
|
var items = obj.get_children()
|
|
for item in items:
|
|
obj.remove_child(item)
|
|
item.free()
|