Minor fixes

This commit is contained in:
2025-10-28 17:42:45 +03:00
parent 557ddf62b2
commit 5ea00cbd30
12 changed files with 84 additions and 37 deletions
+9 -6
View File
@@ -1,18 +1,21 @@
extends Node extends Node
@onready var ship := $Ship
var position : Vector2: var position : Vector2:
set(value): set(value):
$Ship.position = value ship.position = value
get: get:
return $Ship.position return ship.position
func _physics_process(delta: float) -> void: func _physics_process(delta: float) -> void:
var input_direction := Input.get_vector("move_left", "move_right", "move_up", "move_down") var input_direction := Input.get_vector("move_left", "move_right", "move_up", "move_down")
$Ship.accelerate(input_direction, delta) ship.accelerate(input_direction, delta)
var weapons : Array[Weapon] = $Ship.weapons var weapons : Array[Weapon] = ship.weapons
var weapon_actions := { var weapon_actions := {
0: ["shoot_weapon_1", "reload_weapon_1"], 0: ["shoot_weapon_1", "reload_weapon_1"],
1: ["shoot_weapon_2", "reload_weapon_2"] 1: ["shoot_weapon_2", "reload_weapon_2"]
@@ -21,7 +24,7 @@ func _physics_process(delta: float) -> void:
if index >= weapons.size(): break if index >= weapons.size(): break
if Input.is_action_pressed(weapon_actions[index][0], true): if Input.is_action_pressed(weapon_actions[index][0], true):
$Ship.shoot(weapons[index]) ship.shoot(weapons[index])
if Input.is_action_pressed(weapon_actions[index][1], true): if Input.is_action_pressed(weapon_actions[index][1], true):
$Ship.reload(weapons[index]) ship.reload(weapons[index])
+11 -9
View File
@@ -1,17 +1,18 @@
extends CharacterBody2D extends CharacterBody2D
const Weapon = preload("res://game/entities/weapons/weapon.tscn") @onready var sprite := $Sprite2D
@onready var colision := $CollisionShape2D
@export var size : Vector2: @export var size : Vector2:
set(value): set(value):
size = value size = value
if $Sprite2D.texture: if sprite.texture:
$Sprite2D.texture.size = value sprite.texture.size = value
$CollisionShape2D.shape.radius = 0.9 * minf(size.x, size.y)/2 colision.shape.radius = 0.9 * minf(size.x, size.y)/2
$CollisionShape2D.shape.height = 0.9 * maxf(size.x, size.y) colision.shape.height = 0.9 * maxf(size.x, size.y)
$CollisionShape2D.rotation = 0.0 if size.x < size.y else PI/2 colision.rotation = 0.0 if size.x < size.y else PI/2
get: get:
return size return size
@@ -29,11 +30,12 @@ const Weapon = preload("res://game/entities/weapons/weapon.tscn")
func _ready() -> void: func _ready() -> void:
var texture := PlaceholderTexture2D.new() var texture := PlaceholderTexture2D.new()
texture.size = size texture.size = size
$Sprite2D.texture = texture sprite.texture = texture
const WEAPON = preload("res://game/entities/weapons/weapon.tscn")
var weapons_by_offset := { var weapons_by_offset := {
8: Weapon.instantiate(), 8: WEAPON.instantiate(),
-8: Weapon.instantiate(), -8: WEAPON.instantiate(),
} }
for offset : int in weapons_by_offset: for offset : int in weapons_by_offset:
var weapon : Node2D = weapons_by_offset[offset] var weapon : Node2D = weapons_by_offset[offset]
@@ -0,0 +1,7 @@
extends CharacterBody2D
func _ready() -> void:
var texture := PlaceholderTexture2D.new()
texture.size = Vector2(4, 4)
$Sprite2D.texture = texture
@@ -0,0 +1 @@
uid://rtsf1n0djorp
@@ -1,10 +1,18 @@
[gd_scene load_steps=2 format=3 uid="uid://cnoiv8hdgossf"] [gd_scene load_steps=4 format=3 uid="uid://cnoiv8hdgossf"]
[ext_resource type="Script" uid="uid://ctmjb3nkxrepu" path="res://game/entities/weapons/projectiles/projectile.gd" id="1_2ltai"] [ext_resource type="Script" uid="uid://rtsf1n0djorp" path="res://game/entities/weapons/projectiles/gatling_projectile.gd" id="1_xq7oi"]
[ext_resource type="PackedScene" uid="uid://bohp8yx6cldgc" path="res://game/entities/weapons/projectiles/projectile_mover.tscn" id="2_jnl7n"]
[sub_resource type="CircleShape2D" id="CircleShape2D_5a440"]
radius = 4.0
[node name="GatlingProjectile" type="CharacterBody2D"] [node name="GatlingProjectile" type="CharacterBody2D"]
script = ExtResource("1_2ltai") script = ExtResource("1_xq7oi")
damage = 6
speed = 600
direction = Vector2(1, 0)
metadata/_custom_type_script = "uid://ctmjb3nkxrepu" metadata/_custom_type_script = "uid://ctmjb3nkxrepu"
[node name="Sprite2D" type="Sprite2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_5a440")
[node name="ProjectileMover" parent="." instance=ExtResource("2_jnl7n")]
@@ -1,7 +1,7 @@
class_name ProjectileMover
extends Node extends Node
signal velocity_updated(new_velocity: Vector2)
signal destroyed signal destroyed
@@ -19,7 +19,11 @@ var velocity : Vector2:
get: get:
return _velocity return _velocity
var _velocity : Vector2 var _velocity : Vector2:
set(value):
_velocity = value
velocity_updated.emit(_velocity)
var _traveled_distance: float var _traveled_distance: float
var _livetime: float var _livetime: float
@@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://bohp8yx6cldgc"]
[ext_resource type="Script" uid="uid://ctmjb3nkxrepu" path="res://game/entities/weapons/projectiles/projectile_mover.gd" id="1_4tgfk"]
[node name="ProjectileMover" type="Node"]
script = ExtResource("1_4tgfk")
+5 -2
View File
@@ -5,10 +5,13 @@ extends Node2D
@export var damage : int @export var damage : int
@export var bullet_per_shot : int @export var bullet_per_shot : int
@export var sector_angle : int @export var sector_angle : int
@export var Projectile : AbstractProjectile #@export var Projectile : AbstractProjectile
@export var reloaders : Array[AbstractReloader] @export var reloaders : Array[AbstractReloader]
@onready var sprite := $Sprite2D
func _init() -> void: func _init() -> void:
#TEST #TEST
var firerate_reloader := preload("res://game/entities/weapons/reloaders/firerate_reloader.gd").new() var firerate_reloader := preload("res://game/entities/weapons/reloaders/firerate_reloader.gd").new()
@@ -33,7 +36,7 @@ func _init() -> void:
func _ready() -> void: func _ready() -> void:
var texture := PlaceholderTexture2D.new() var texture := PlaceholderTexture2D.new()
texture.size = Vector2(10, 7) texture.size = Vector2(10, 7)
$Sprite2D.texture = texture sprite.texture = texture
func shoot() -> void: func shoot() -> void:
+4 -1
View File
@@ -7,13 +7,16 @@ signal quit_game
signal show_options signal show_options
@onready var continue_button := $%ContinueButton
func _ready() -> void: func _ready() -> void:
_init_focus() _init_focus()
_setup_neighbors() _setup_neighbors()
func _init_focus() -> void: func _init_focus() -> void:
if $%ContinueButton.disabled: if continue_button.disabled:
$%StartButton.grab_focus() $%StartButton.grab_focus()
else: else:
$%ContinueButton.grab_focus() $%ContinueButton.grab_focus()
+14 -8
View File
@@ -5,6 +5,12 @@ signal show_credits
signal show_main_menu signal show_main_menu
@onready var fullscreen_button := $%FullscreenCheckButton
@onready var window_factor_button := $%WindowFactorOptionButton
@onready var credits_button := $%CreditsButton
@onready var back_button := $%BackButton
func _ready() -> void: func _ready() -> void:
_load_current_settings() _load_current_settings()
_init_focus() _init_focus()
@@ -12,30 +18,30 @@ func _ready() -> void:
func _init_focus() -> void: func _init_focus() -> void:
$%FullscreenCheckButton.grab_focus() fullscreen_button.grab_focus()
func _setup_neighbors() -> void: func _setup_neighbors() -> void:
$%CreditsButton.focus_neighbor_left = $%BackButton.get_path() credits_button.focus_neighbor_left = back_button.get_path()
$%BackButton.focus_neighbor_right = $%CreditsButton.get_path() back_button.focus_neighbor_right = credits_button.get_path()
func _load_current_settings() -> void: func _load_current_settings() -> void:
$%FullscreenCheckButton.button_pressed = SettingsManager.fullscreen fullscreen_button.button_pressed = SettingsManager.fullscreen
$%WindowFactorOptionButton.selected = SettingsManager.window_factor window_factor_button.selected = SettingsManager.window_factor
_update_window_factor_disabled() _update_window_factor_disabled()
func _update_window_factor_disabled() -> void: func _update_window_factor_disabled() -> void:
$%WindowFactorOptionButton.disabled = SettingsManager.fullscreen window_factor_button.disabled = SettingsManager.fullscreen
func _on_fullscreen_check_button_toggled(toggled: bool) -> void: func _on_fullscreen_button_toggled(toggled: bool) -> void:
SettingsManager.fullscreen = toggled SettingsManager.fullscreen = toggled
_update_window_factor_disabled() _update_window_factor_disabled()
func _on_window_factor_option_button_item_selected(index: int) -> void: func _on_window_factor_button_item_selected(index: int) -> void:
if not SettingsManager.fullscreen: if not SettingsManager.fullscreen:
SettingsManager.window_factor = index SettingsManager.window_factor = index
+7 -3
View File
@@ -1,6 +1,10 @@
extends Node extends Node
@onready var continue_button := $%ContinueButton
@onready var main_menu_button := $%MainMenuButton
signal continue_game signal continue_game
signal show_main_menu signal show_main_menu
@@ -11,12 +15,12 @@ func _ready() -> void:
func _init_focus() -> void: func _init_focus() -> void:
$%ContinueButton.grab_focus() continue_button.grab_focus()
func _setup_neighbors() -> void: func _setup_neighbors() -> void:
$%ContinueButton.focus_neighbor_top = $%MainMenuButton.get_path() continue_button.focus_neighbor_top = main_menu_button.get_path()
$%MainMenuButton.focus_neighbor_bottom = $%ContinueButton.get_path() main_menu_button.focus_neighbor_bottom = continue_button.get_path()
func _on_continue_button_pressed() -> void: func _on_continue_button_pressed() -> void: