From 1fd4a809f273a031caf431f65fad8ad01028b5db Mon Sep 17 00:00:00 2001 From: Henry Date: Tue, 17 Mar 2026 14:27:21 +0000 Subject: [PATCH] Tested some custom resources with a test scene. --- ResourceTest.tscn | 46 ++++++++++++++++++++++++++++++++ resources/bullet_stats.tres | 7 +++++ resources/example_resource1.tres | 10 +++++++ scenes/bullet.gd | 7 +++-- scenes/bullet.tscn | 2 ++ scenes/enemy_bullet.gd | 6 +++-- scripts/EnemyResource.gd | 11 ++++++++ scripts/EnemyResource.gd.uid | 1 + scripts/ExampleResource.gd | 7 +++++ scripts/ExampleResource.gd.uid | 1 + scripts/bullet_stats.gd | 15 +++++++++++ scripts/bullet_stats.gd.uid | 1 + test_enemy.gd | 14 ++++++++++ test_enemy.gd.uid | 1 + 14 files changed, 125 insertions(+), 4 deletions(-) create mode 100644 ResourceTest.tscn create mode 100644 resources/bullet_stats.tres create mode 100644 resources/example_resource1.tres create mode 100644 scripts/EnemyResource.gd create mode 100644 scripts/EnemyResource.gd.uid create mode 100644 scripts/ExampleResource.gd create mode 100644 scripts/ExampleResource.gd.uid create mode 100644 scripts/bullet_stats.gd create mode 100644 scripts/bullet_stats.gd.uid create mode 100644 test_enemy.gd create mode 100644 test_enemy.gd.uid diff --git a/ResourceTest.tscn b/ResourceTest.tscn new file mode 100644 index 0000000..c9c295e --- /dev/null +++ b/ResourceTest.tscn @@ -0,0 +1,46 @@ +[gd_scene format=3 uid="uid://cbn8gkhh54biw"] + +[ext_resource type="Script" uid="uid://xjow2vrn307m" path="res://test_enemy.gd" id="1_wrqmu"] +[ext_resource type="Script" uid="uid://0nsrno5ksdeh" path="res://scripts/ExampleResource.gd" id="2_2fskf"] +[ext_resource type="Resource" uid="uid://cy58t3vbkogtu" path="res://resources/example_resource1.tres" id="2_4vrue"] +[ext_resource type="Texture2D" uid="uid://dy743vehs0t1t" path="res://icon.svg" id="3_nascw"] + +[sub_resource type="Resource" id="Resource_nascw"] +script = ExtResource("2_2fskf") +speed = 5.0 +metadata/_custom_type_script = "uid://0nsrno5ksdeh" + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_4vrue"] + +[node name="ResourceTest" type="Node2D" unique_id=1938241335] + +[node name="TestEnemy" type="Area2D" parent="." unique_id=197600973] +position = Vector2(177, 252) +script = ExtResource("1_wrqmu") +example_resource = SubResource("Resource_nascw") + +[node name="Sprite2D" type="Sprite2D" parent="TestEnemy" unique_id=392517985] +position = Vector2(19, -111) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="TestEnemy" unique_id=1888418400] +shape = SubResource("RectangleShape2D_4vrue") + +[node name="TestEnemy2a" type="Area2D" parent="." unique_id=681188134] +position = Vector2(60, 166) +script = ExtResource("1_wrqmu") +example_resource = ExtResource("2_4vrue") + +[node name="Sprite2D" type="Sprite2D" parent="TestEnemy2a" unique_id=479189583] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="TestEnemy2a" unique_id=1055590466] +shape = SubResource("RectangleShape2D_4vrue") + +[node name="TestEnemy2b" type="Area2D" parent="." unique_id=148383400] +position = Vector2(176, 93) +script = ExtResource("1_wrqmu") +example_resource = ExtResource("2_4vrue") + +[node name="Sprite2D" type="Sprite2D" parent="TestEnemy2b" unique_id=2119219440] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="TestEnemy2b" unique_id=656950543] +shape = SubResource("RectangleShape2D_4vrue") diff --git a/resources/bullet_stats.tres b/resources/bullet_stats.tres new file mode 100644 index 0000000..a751c9c --- /dev/null +++ b/resources/bullet_stats.tres @@ -0,0 +1,7 @@ +[gd_resource type="Resource" script_class="BulletResource" format=3 uid="uid://ds8pfhnj8c303"] + +[ext_resource type="Script" uid="uid://64l0xhnsdh7x" path="res://scripts/bullet_stats.gd" id="1_c83q5"] + +[resource] +script = ExtResource("1_c83q5") +metadata/_custom_type_script = "uid://64l0xhnsdh7x" diff --git a/resources/example_resource1.tres b/resources/example_resource1.tres new file mode 100644 index 0000000..dab11fb --- /dev/null +++ b/resources/example_resource1.tres @@ -0,0 +1,10 @@ +[gd_resource type="Resource" script_class="ExampleResource" format=3 uid="uid://cy58t3vbkogtu"] + +[ext_resource type="Script" uid="uid://0nsrno5ksdeh" path="res://scripts/ExampleResource.gd" id="1_aogvj"] +[ext_resource type="Texture2D" uid="uid://deyu1prtitqcp" path="res://_graphics/Mini Pixel Pack 3/Enemies/Bon_Bon (16 x 16).png" id="2_xrkta"] + +[resource] +script = ExtResource("1_aogvj") +speed = 5.0 +sprite = ExtResource("2_xrkta") +metadata/_custom_type_script = "uid://0nsrno5ksdeh" diff --git a/scenes/bullet.gd b/scenes/bullet.gd index 90fb834..aada869 100644 --- a/scenes/bullet.gd +++ b/scenes/bullet.gd @@ -1,8 +1,11 @@ extends Area2D @onready var bullet = $Bullet +#@export var speed = -250 +@export var stats: Resource + +#var bullet_data = load("res://resources/bullet_resource.tres") -@export var speed = -250 var shader_active = false var pause = false var target = null @@ -20,7 +23,7 @@ func start(pos): func _process(delta): if pause == true: return - position.y += speed * delta + position.y += stats.speed * delta #if target: #var direction = (target.position - position).normalized() diff --git a/scenes/bullet.tscn b/scenes/bullet.tscn index f26189c..4f837a0 100644 --- a/scenes/bullet.tscn +++ b/scenes/bullet.tscn @@ -2,6 +2,7 @@ [ext_resource type="Script" uid="uid://c6oorp45vpqpc" path="res://scenes/bullet.gd" id="1_v8qja"] [ext_resource type="Shader" uid="uid://dfywtah53il1m" path="res://shaders/player_hit.gdshader" id="2_eoqba"] +[ext_resource type="Script" uid="uid://64l0xhnsdh7x" path="res://scripts/bullet_stats.gd" id="2_tamys"] [ext_resource type="Texture2D" uid="uid://bnc77g20gb20h" path="res://sprites/david-head.png" id="2_y25gk"] [ext_resource type="Texture2D" uid="uid://dwd6pycecukqb" path="res://sprites/david-headshot.png" id="3_l5glv"] [ext_resource type="AudioStream" uid="uid://cy01lrl2la6bn" path="res://sounds/splat_alt.wav" id="5_qncy5"] @@ -20,6 +21,7 @@ size = Vector2(12, 11) [node name="Bullet" type="Area2D" unique_id=1850257077] z_index = -1 script = ExtResource("1_v8qja") +stats = ExtResource("2_tamys") [node name="Sprite2D" type="Sprite2D" parent="." unique_id=29933687] material = SubResource("ShaderMaterial_qncy5") diff --git a/scenes/enemy_bullet.gd b/scenes/enemy_bullet.gd index 37666af..7968067 100644 --- a/scenes/enemy_bullet.gd +++ b/scenes/enemy_bullet.gd @@ -1,15 +1,17 @@ extends Area2D +#bullet_data: BulletResource +var bullet_data = load("res://resources/bullet_resource.tres") +#@export var speed = 150 -@export var speed = 150 func start(pos): position = pos func _process(delta): - position.y += speed * delta + position.y += bullet_data.speed * delta func _on_visible_on_screen_notifier_2d_screen_exited(): queue_free() diff --git a/scripts/EnemyResource.gd b/scripts/EnemyResource.gd new file mode 100644 index 0000000..c7145e8 --- /dev/null +++ b/scripts/EnemyResource.gd @@ -0,0 +1,11 @@ +extends Resource +class_name EnemyResource + +var primary_enemy_bullet: BulletResource = preload("res://scripts/BulletResource.gd") +var exploding: bool + +@export var enemy_type: String +@export var health: int +@export var speed: int +var start_pos: float +@export var tween_speed: float diff --git a/scripts/EnemyResource.gd.uid b/scripts/EnemyResource.gd.uid new file mode 100644 index 0000000..46b2431 --- /dev/null +++ b/scripts/EnemyResource.gd.uid @@ -0,0 +1 @@ +uid://dxmlb4jyoucud diff --git a/scripts/ExampleResource.gd b/scripts/ExampleResource.gd new file mode 100644 index 0000000..fd4e7f4 --- /dev/null +++ b/scripts/ExampleResource.gd @@ -0,0 +1,7 @@ +extends Resource +class_name ExampleResource + +@export var type: String = "Example" +@export var speed: float = 10.0 +@export var sprite: Texture2D = preload("res://icon.svg") +@export var new_type: bool = false diff --git a/scripts/ExampleResource.gd.uid b/scripts/ExampleResource.gd.uid new file mode 100644 index 0000000..d599d5d --- /dev/null +++ b/scripts/ExampleResource.gd.uid @@ -0,0 +1 @@ +uid://0nsrno5ksdeh diff --git a/scripts/bullet_stats.gd b/scripts/bullet_stats.gd new file mode 100644 index 0000000..2ff2c87 --- /dev/null +++ b/scripts/bullet_stats.gd @@ -0,0 +1,15 @@ +class_name BulletStats +extends Resource + +@export var bullet_type: String +@export var bullet: String + +@export var damage: int +@export var speed: int + + +func _init(bullet_type:String = "normal", bullet:String = "res://resources/bullet_resource.tres", damage:int = 1, speed:int = 150): + self.bullet_type = bullet_type + self.bullet = bullet + self.damage = damage + self.speed = speed diff --git a/scripts/bullet_stats.gd.uid b/scripts/bullet_stats.gd.uid new file mode 100644 index 0000000..0410443 --- /dev/null +++ b/scripts/bullet_stats.gd.uid @@ -0,0 +1 @@ +uid://64l0xhnsdh7x diff --git a/test_enemy.gd b/test_enemy.gd new file mode 100644 index 0000000..843deef --- /dev/null +++ b/test_enemy.gd @@ -0,0 +1,14 @@ +extends Area2D + +@export var example_resource: ExampleResource +var speed: float = 0 +var type: String = "null" + +func _ready() -> void: + #resource_sprite.texture = example_resource.sprite + $Sprite2D.texture = example_resource.sprite + #$Sprite2D/Sprite2D.texture = example_resource.sprite + speed = example_resource.speed + type = example_resource.type + + diff --git a/test_enemy.gd.uid b/test_enemy.gd.uid new file mode 100644 index 0000000..0736fc4 --- /dev/null +++ b/test_enemy.gd.uid @@ -0,0 +1 @@ +uid://xjow2vrn307m