extends Node export (PackedScene) var Creature var selected = [] var rng = RandomNumberGenerator.new() func _ready(): rng.randomize() pass func spawn_a_bitch(): var c = Creature.instance() add_child(c) # Geef de bitch een random positie en rotatie #c.rotate_y(rand_range(-5, 5)) c.transform = Transform(c.transform.basis, Vector3(rand_range(-7, 7), 0, rand_range(-5, 5))) c.set_color() return c func kill_a_bitch(): var c = get_child(get_child_count()-1) if c: c.queue_free() #remove_child(c) func combine_a_bitch(): if selected.size() == 2: var new_dna = [] for i in range(selected[0].dna.size()): if rng.randf() > 0.5: new_dna.append(selected[0].dna[i]) else: new_dna.append(selected[1].dna[i]) var new_child = spawn_a_bitch() new_child.dna = new_dna deselect_all() select(new_child) new_child.describe() new_child.set_color() func deselect_all(): for i in range(selected.size()): selected[i].get_node("SelectionIndicator").visible = false; selected = [] func select(creature): if selected.has(creature): creature.get_node("SelectionIndicator").visible = false; selected.erase(creature) else: selected.append(creature) creature.get_node("SelectionIndicator").visible = true; var p0 = get_node("../GUI/Parent0") var p1 = get_node("../GUI/Parent1") p0.text = "" p1.text = "" if selected.size() >= 1: p0.text = selected[0].describe() var copy0 = selected[0].duplicate() copy0.get_node("AnimationPlayer").set_autoplay("Animation") get_node("../GUI/Preview0/Viewport").add_child(copy0) if selected.size() >= 2: p1.text = selected[1].describe() func select_a_bitch(camera, event, click_position, click_normal, index, creature_id): if event.is_action_pressed("select_creature"): var kindeke = get_child(creature_id) select(kindeke) print(creature_id)