diff --git a/Deprecated/stock_weapon.gd b/Deprecated/stock_weapon.gd index 6f3c4dd..71537c4 100644 --- a/Deprecated/stock_weapon.gd +++ b/Deprecated/stock_weapon.gd @@ -1,8 +1,8 @@ extends Area2D -@onready var bullet: PackedScene = load("res://scenes/player_weapons/weapon_stock.tscn") +@onready var bullet: PackedScene = load("res://scenes/weapon_stock.tscn") -@onready var shot_data: = load("res://resources/player_weapon_resources/weapon_shot_stock.tres") +@onready var shot_data: = load("res://resources/player_weapons/weapon_shot_stock.tres") func _process(delta): diff --git a/project.godot b/project.godot index da358b6..43ed708 100644 --- a/project.godot +++ b/project.godot @@ -17,9 +17,9 @@ config/icon="res://icon.svg" [display] -window/size/viewport_width=208 +window/size/viewport_width=216 window/size/viewport_height=384 -window/size/window_width_override=1248 +window/size/window_width_override=1296 window/size/window_height_override=2304 window/subwindows/embed_subwindows=false window/stretch/mode="viewport" diff --git a/resources/player_weapon_resources/weapon_shot.gd b/resources/player_weapons/weapon_shot.gd similarity index 94% rename from resources/player_weapon_resources/weapon_shot.gd rename to resources/player_weapons/weapon_shot.gd index e8e4317..63adff0 100644 --- a/resources/player_weapon_resources/weapon_shot.gd +++ b/resources/player_weapons/weapon_shot.gd @@ -12,6 +12,6 @@ extends Resource @export var spacing: float = 35 @export var origin: int = -23 -@export_category("Spread") +@export_category("Stagger") @export var horizontal_offset: float = 6.5 # Horizontal distance between projectiles @export var stagger_offset: float = 5 # Time delay per projectile index diff --git a/resources/player_weapon_resources/weapon_shot.gd.uid b/resources/player_weapons/weapon_shot.gd.uid similarity index 100% rename from resources/player_weapon_resources/weapon_shot.gd.uid rename to resources/player_weapons/weapon_shot.gd.uid diff --git a/resources/player_weapon_resources/weapon_shot_stock.tres b/resources/player_weapons/weapon_shot_stock.tres similarity index 79% rename from resources/player_weapon_resources/weapon_shot_stock.tres rename to resources/player_weapons/weapon_shot_stock.tres index 6139dca..e4cf1ca 100644 --- a/resources/player_weapon_resources/weapon_shot_stock.tres +++ b/resources/player_weapons/weapon_shot_stock.tres @@ -1,7 +1,7 @@ [gd_resource type="Resource" script_class="WeaponShot" format=3 uid="uid://b75ae840k03dy"] -[ext_resource type="PackedScene" uid="uid://ddpclu2vdy2ve" path="res://scenes/player_weapons/weapon_stock.tscn" id="1_by0nb"] -[ext_resource type="Script" uid="uid://7n1itonn35fm" path="res://resources/player_weapon_resources/weapon_shot.gd" id="2_by0nb"] +[ext_resource type="PackedScene" uid="uid://ddpclu2vdy2ve" path="res://scenes/weapon_stock.tscn" id="1_by0nb"] +[ext_resource type="Script" uid="uid://7n1itonn35fm" path="res://resources/player_weapons/weapon_shot.gd" id="2_by0nb"] [resource] script = ExtResource("2_by0nb") diff --git a/scenes/player.tscn b/scenes/player.tscn index e60f549..4b33f53 100644 --- a/scenes/player.tscn +++ b/scenes/player.tscn @@ -6,7 +6,7 @@ [ext_resource type="Script" uid="uid://dss0dbwr71y6m" path="res://scripts/input_component.gd" id="4_smehm"] [ext_resource type="Texture2D" uid="uid://b0iavxi8vaxtj" path="res://graphics/ship_thrusters.png" id="5_qlg0r"] [ext_resource type="Script" uid="uid://c0rikbakpcags" path="res://scripts/movement_component.gd" id="5_ur7pv"] -[ext_resource type="Script" uid="uid://suynuijl68qp" path="res://scripts/shoot_component.gd" id="6_y4r1p"] +[ext_resource type="Script" uid="uid://bgd1hwindc2ui" path="res://scripts/shoot_component.gd" id="6_y4r1p"] [ext_resource type="Script" uid="uid://ylmao2ndp22y" path="res://scripts/weapon_component.gd" id="7_d2wvv"] [sub_resource type="AtlasTexture" id="AtlasTexture_tuyoq"] diff --git a/scenes/player_weapons/weapon_stock.gd b/scenes/weapon_stock.gd similarity index 72% rename from scenes/player_weapons/weapon_stock.gd rename to scenes/weapon_stock.gd index 55fd8e7..7ebe31a 100644 --- a/scenes/player_weapons/weapon_stock.gd +++ b/scenes/weapon_stock.gd @@ -1,8 +1,10 @@ extends Area2D -# Data to be set externally when this bullet is instantiated -var bullet_scene: PackedScene = null -var shot_data: WeaponShot = null + +@onready var bullet: PackedScene = load("res://scenes/weapon_stock.tscn") +@onready var shot_data: = load("res://resources/player_weapons/weapon_shot_stock.tres") + + # Time offset when this bullet was fired (relative to other bullets in the same shot) var time_offset: float = 0.5 @@ -36,8 +38,3 @@ func _on_visible_on_screen_notifier_2d_screen_exited(): # Set fire_time for the next shot (staggered firing) var current_time = Time.get_ticks_msec() / 1000.0 fire_time = current_time + shot_data.stagger_offset - -# Function to set the bullet data (called from parent scene) -func set_weapon_data(bullet_scene_param: PackedScene, shot_data_param: WeaponShot): - bullet_scene = bullet_scene_param - shot_data = shot_data_param diff --git a/scenes/player_weapons/weapon_stock.gd.uid b/scenes/weapon_stock.gd.uid similarity index 100% rename from scenes/player_weapons/weapon_stock.gd.uid rename to scenes/weapon_stock.gd.uid diff --git a/scenes/player_weapons/weapon_stock.tscn b/scenes/weapon_stock.tscn similarity index 96% rename from scenes/player_weapons/weapon_stock.tscn rename to scenes/weapon_stock.tscn index 364ec6a..de22a81 100644 --- a/scenes/player_weapons/weapon_stock.tscn +++ b/scenes/weapon_stock.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://ddpclu2vdy2ve"] -[ext_resource type="Script" uid="uid://c5blhfopjpfny" path="res://scenes/player_weapons/weapon_stock.gd" id="1_u1d5o"] +[ext_resource type="Script" uid="uid://c5blhfopjpfny" path="res://scenes/weapon_stock.gd" id="1_u1d5o"] [ext_resource type="Texture2D" uid="uid://bnpm8b62n1pr5" path="res://graphics/shot_stock_og.png" id="2_u1d5o"] [sub_resource type="AtlasTexture" id="AtlasTexture_5bykt"] diff --git a/scenes/world.tscn b/scenes/world.tscn index 9148110..50bf2a4 100644 --- a/scenes/world.tscn +++ b/scenes/world.tscn @@ -14,7 +14,7 @@ z_index = -1 [node name="BaseBackground" type="ColorRect" parent="Level/Background" unique_id=1360709800] -offset_right = 208.0 +offset_right = 217.0 offset_bottom = 410.0 color = Color(0.2899925, 0.5692833, 0.9110645, 1) @@ -32,7 +32,7 @@ hframes = 4 frame = 1 [node name="CloudRight" type="Sprite2D" parent="Level/Background/Back" unique_id=1729409543] -position = Vector2(168, 32) +position = Vector2(177, 32) texture = ExtResource("3_4wyf3") flip_h = true hframes = 4 @@ -52,7 +52,7 @@ hframes = 4 frame = 2 [node name="CloudRight" type="Sprite2D" parent="Level/Background/Mid" unique_id=702118355] -position = Vector2(168, 32) +position = Vector2(177, 32) texture = ExtResource("3_4wyf3") flip_h = true hframes = 4 @@ -71,7 +71,7 @@ hframes = 4 frame = 3 [node name="CloudRight" type="Sprite2D" parent="Level/Background/Fore" unique_id=1798342457] -position = Vector2(176, 32) +position = Vector2(185, 32) texture = ExtResource("3_4wyf3") flip_h = true hframes = 4 diff --git a/scripts/input_component.gd b/scripts/input_component.gd index 83131e6..ce71e8d 100644 --- a/scripts/input_component.gd +++ b/scripts/input_component.gd @@ -9,7 +9,3 @@ func update() -> void: move_dir = Input.get_vector("left", "right", "up", "down") shoot_pressed = Input.is_action_just_pressed("shoot") shooting = Input.is_action_pressed("shoot") - - - # Development Keys - # Cycle Available Weapons diff --git a/scripts/shoot_component.gd b/scripts/shoot_component.gd index b3bd5b3..3f1ee7d 100644 --- a/scripts/shoot_component.gd +++ b/scripts/shoot_component.gd @@ -19,7 +19,7 @@ func shoot(): if total_projectiles > 0: for b in range(total_projectiles): var bullet_scene = weapon_data.bullet_scene - var bullet := bullet_scene.instantiate() as Area2D + var bullet := bullet_scene.instantiate() as Node get_tree().root.add_child(bullet) # Calculate index relative to center (0 = center, -1/+1 = first from center) @@ -42,8 +42,5 @@ func shoot(): bullet.time_offset = time_offset bullet.fire_time = current_time + time_offset - # Set the bullet data (this is what was missing) - bullet.set_weapon_data(weapon_data.bullet_scene, weapon_data) - # Subtract projectile spacing from current Player travel for next shot player.travel -= weapon_data.spacing diff --git a/scripts/shoot_component.gd.uid b/scripts/shoot_component.gd.uid index fdd16b5..4e59bd1 100644 --- a/scripts/shoot_component.gd.uid +++ b/scripts/shoot_component.gd.uid @@ -1 +1 @@ -uid://suynuijl68qp +uid://bgd1hwindc2ui diff --git a/scripts/weapon_component.gd b/scripts/weapon_component.gd index e88e83b..a4bb65b 100644 --- a/scripts/weapon_component.gd +++ b/scripts/weapon_component.gd @@ -1,34 +1,9 @@ class_name WeaponComponent extends Node -enum WeaponType { - STOCK, - NONE, -} +@export var loaded_weapon: PackedScene = load("res://scenes/weapon_stock.tscn") +var data : WeaponShot = load("res://resources/player_weapons/weapon_shot_stock.tres") -@export_enum("STOCK", "NONE") var loaded_weapon: int = WeaponType.STOCK -var data: WeaponShot = load("res://resources/player_weapon_resources/weapon_shot_stock.tres") func get_bullet_scene() -> PackedScene: - if loaded_weapon == WeaponType.STOCK: - return preload("res://scenes/player_weapons/weapon_stock.tscn") - else: - return null - -func get_weapon_resource() -> Resource: - var weapon_resource_path: String - - if loaded_weapon == WeaponType.STOCK: - weapon_resource_path = "res://resources/player_weapon_resources/weapon_shot_stock.tres" - data = load(weapon_resource_path) - return data - else: - return null - - -#var data : WeaponShot = load("res://resources/player_weapon_resources/weapon_shot_stock.tres") - - - -#func get_bullet_scene() -> PackedScene: - #return data.weapon_shot # Reference to the Shot scene from the resource + return data.weapon_shot # Reference to the Shot scene from the resource