player tracking

This commit is contained in:
Haze Weathers 2026-01-03 12:04:49 -06:00
parent 8eb39f4a70
commit 1e618d8cd4
7 changed files with 36 additions and 6 deletions

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=15 format=3 uid="uid://dxsp66qpvm65b"]
[gd_scene load_steps=19 format=3 uid="uid://dxsp66qpvm65b"]
[ext_resource type="PackedScene" uid="uid://q2fys6o0jy6w" path="res://objects/starfield/starfield.tscn" id="1_4oowd"]
[ext_resource type="PackedScene" uid="uid://c714s5d7d5765" path="res://objects/player/player.tscn" id="2_j8ivh"]
@ -9,6 +9,8 @@
[ext_resource type="Script" uid="uid://vus1a0flwtnm" path="res://systems/bullets/bullet_preset.gd" id="6_sle1e"]
[ext_resource type="Texture2D" uid="uid://cgqgb84k38tbe" path="res://graphics/bullets/normal_bullet/test_bullet_overlay.png" id="7_sle1e"]
[ext_resource type="Script" uid="uid://t5lnmlng1vey" path="res://systems/bullets/spawn_patterns/spread_pattern.gd" id="8_sle1e"]
[ext_resource type="Script" uid="uid://drxrjgbmeglwp" path="res://systems/bullets/spawn_patterns/stacked_spawn_pattern.gd" id="9_c0i5a"]
[ext_resource type="Script" uid="uid://b00hsbakgtsi0" path="res://systems/bullets/spawn_patterns/targetted_spawn_pattern.gd" id="9_sle1e"]
[sub_resource type="Resource" id="Resource_c0i5a"]
script = ExtResource("4_4oowd")
@ -31,10 +33,22 @@ metadata/_custom_type_script = "uid://0ognvvq2ncd7"
[sub_resource type="Resource" id="Resource_uu3sg"]
script = ExtResource("8_sle1e")
bullet_count = 3
bullet_speed = 60.0
spread = 1.0471975511965976
metadata/_custom_type_script = "uid://t5lnmlng1vey"
[sub_resource type="Resource" id="Resource_etmxr"]
script = ExtResource("9_c0i5a")
pattern = SubResource("Resource_uu3sg")
stack_count = 6
min_speed = 60.0
max_speed = 180.0
metadata/_custom_type_script = "uid://drxrjgbmeglwp"
[sub_resource type="Resource" id="Resource_377ep"]
script = ExtResource("9_sle1e")
pattern = SubResource("Resource_etmxr")
metadata/_custom_type_script = "uid://b00hsbakgtsi0"
[sub_resource type="Resource" id="Resource_hxqcc"]
script = ExtResource("6_sle1e")
behavior = SubResource("Resource_t1bs8")
@ -42,9 +56,9 @@ hitbox_size = Vector2i(6, 6)
base_graphics = Array[ExtResource("4_4oowd")]([SubResource("Resource_c0i5a")])
overlay_graphics = Array[ExtResource("4_4oowd")]([SubResource("Resource_1xo0o")])
colors = Array[Color]([Color(1, 0, 0, 1), Color(0, 0, 1, 1), Color(0, 1, 0, 1), Color(1, 1, 0, 1)])
pattern = SubResource("Resource_uu3sg")
pattern = SubResource("Resource_377ep")
rounds = 99999999
round_delay = 0.2
round_delay = 0.75
metadata/_custom_type_script = "uid://vus1a0flwtnm"
[node name="TestScene" type="Node"]

View file

@ -1,5 +1,5 @@
@tool
class_name SpawnPatternRandomizer
class_name RandomizedSpawnPattern
extends BulletSpawnPattern
## Randomizes properties of a child [BulletSpawnPattern] each [member iteration].
##

View file

@ -1,5 +1,5 @@
@tool
class_name SpawnPatternStacker
class_name StackedSpawnPattern
extends BulletSpawnPattern
## Spawns a pattern in a "stack". The pattern will be spawned multiple
## times at once with a varying [code]bullet_speed[/code].

View file

@ -0,0 +1,15 @@
class_name TargettedSpawnPattern
extends BulletSpawnPattern
@export var pattern: BulletSpawnPattern
func _spawn_bullets(bullet_set: BulletSet, preset: BulletPreset) -> void:
var original_spawn_rotation = bullet_set.spawn_rotation
var player = bullet_set.get_tree().get_first_node_in_group(&"player") as Player
if player:
var local_player_pos = bullet_set.to_local(player.global_position)
bullet_set.spawn_rotation = local_player_pos.angle()
pattern.spawn_bullets(bullet_set, preset)
bullet_set.spawn_rotation = original_spawn_rotation

View file

@ -0,0 +1 @@
uid://b00hsbakgtsi0