From 2fc4f9e91afa60716e128ef4493cf4963d953e24 Mon Sep 17 00:00:00 2001 From: Lorenzo Rossi Date: Sun, 14 Apr 2024 19:48:13 +0200 Subject: [PATCH] Add spawner and SpawnedEntities --- behaviours/spawner.gd | 18 ++++++++++++++++++ behaviours/spawner.tscn | 6 ++++++ scenes/game/main_game.tscn | 2 ++ 3 files changed, 26 insertions(+) create mode 100644 behaviours/spawner.gd create mode 100644 behaviours/spawner.tscn diff --git a/behaviours/spawner.gd b/behaviours/spawner.gd new file mode 100644 index 0000000..13a0411 --- /dev/null +++ b/behaviours/spawner.gd @@ -0,0 +1,18 @@ +extends Node2D +class_name Spawner + +signal spawned(entity: Node2D) + +@export var scene: PackedScene +@export var parent: Node2D + +func spawn(): + var entity = scene.instantiate() + entity.global_scale = global_scale + entity.global_position = global_position + entity.global_rotation = global_rotation + parent.add_child(entity) + +func _ready(): + if parent == null: + parent = MainGame.get_ancestor(self).get_node("SpawnedEntities") diff --git a/behaviours/spawner.tscn b/behaviours/spawner.tscn new file mode 100644 index 0000000..2154f4a --- /dev/null +++ b/behaviours/spawner.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://cyrg770fsetyu"] + +[ext_resource type="Script" path="res://behaviours/spawner.gd" id="1_b4uk0"] + +[node name="Spawner" type="Node2D"] +script = ExtResource("1_b4uk0") diff --git a/scenes/game/main_game.tscn b/scenes/game/main_game.tscn index 543c167..7ee58c3 100644 --- a/scenes/game/main_game.tscn +++ b/scenes/game/main_game.tscn @@ -66,3 +66,5 @@ position = Vector2(-135, -134) [node name="Sheep2" parent="." instance=ExtResource("5_63bwb")] position = Vector2(-462, -77) + +[node name="SpawnedEntities" type="Node2D" parent="."]