Some code style fixes. Fixed enemy spawning

This commit is contained in:
2025-12-07 23:51:00 +03:00
parent c594f561a5
commit a19a5eeb80
23 changed files with 100 additions and 98 deletions
+3 -3
View File
@@ -2,13 +2,13 @@ class_name Blast
extends Area2D
const FALLOFF_FACTOR = 3
@export var damage : AbstractDamage
@export var shape : CircleShape2D
const FALLOFF_FACTOR = 3
@onready var collision : CollisionShape2D = $CollisionShape2D
+5 -6
View File
@@ -9,14 +9,8 @@ signal finished
@export_range(0, 1) var amount_ratio: float = 1
@onready var particles_huge : GPUParticles2D = $ParticlesHuge
@onready var particles_large : GPUParticles2D = $ParticlesLarge
@onready var particles_medium : GPUParticles2D = $ParticlesMedium
var _emiting_count := 0
var emitting : bool = false:
set(value):
emitting = value
@@ -25,6 +19,11 @@ var emitting : bool = false:
if particles_medium: particles_medium.emitting = emitting; _emiting_count += 1
@onready var particles_huge : GPUParticles2D = $ParticlesHuge
@onready var particles_large : GPUParticles2D = $ParticlesLarge
@onready var particles_medium : GPUParticles2D = $ParticlesMedium
func _ready() -> void:
particles_huge.amount_ratio = amount_ratio
particles_large.amount_ratio = amount_ratio
+8 -9
View File
@@ -2,6 +2,9 @@ class_name AbstractShip
extends CharacterBody2D
signal destroyed
const CANNON = preload("res://game/entities/weapons/cannon/cannon_weapon.tscn")
const GATLING = preload("res://game/entities/weapons/gatling/gatling_weapon.tscn")
const LASER = preload("res://game/entities/weapons/laser/laser_weapon.tscn")
@@ -19,9 +22,6 @@ const WEAPONS := [
]
signal destroyed
@export_range(0, 250) var acceleration : int = 0
@export_range(0, 250) var deceleration : int = 0
@export_range(0, 250) var max_speed : int = 0
@@ -30,6 +30,11 @@ signal destroyed
@export_range(0, 360) var weapon_rotation : int = 0
var weapon_positions: Array[Vector2]
var _weapons : Array[AbstractWeapon]
@onready var ship_sprite : Sprite2D = $ShipSprite
@onready var armor_sprite : Sprite2D = $ArmorSprite
@onready var shield_sprite : Sprite2D = $ShieldSprite
@@ -37,12 +42,6 @@ signal destroyed
@onready var health : Health = $Health
var weapon_positions: Array[Vector2]
var _weapons : Array[AbstractWeapon]
func _ready() -> void:
shield_sprite.visible = health.shield != 0
armor_sprite.visible = health.armor != 0
@@ -2,13 +2,13 @@ class_name AbstractEnemyShip
extends AbstractShip
@onready var controller : EnemyController = $EnemyController
var is_on_screen : bool = false
var weapon_type : AbstractWeapon.Type = AbstractWeapon.Type.NONE
@onready var controller : EnemyController = $EnemyController
func _ready() -> void:
super._ready()
+3 -3
View File
@@ -2,12 +2,12 @@ class_name PlayerShip
extends AbstractShip
@export_range(0, 200) var blink_range := 0
const ENEMY_LAYER = 4
@export_range(0, 200) var blink_range := 0
@onready var blink_timer : Timer = $BlinkTimer
@onready var blink_shadow : GPUParticles2D = $BlinkShadow
+4 -4
View File
@@ -11,10 +11,6 @@ const ENEMY_PROJECTILE_LAYER = 16
@export_range(0, 1000) var speed : int = 0
@onready var collision : CollisionShape2D = $CollisionShape2D
@onready var out_of_screen_timer : Timer = $OutOfScreenTimer
var direction : Vector2
var ship_velocity: Vector2
@@ -32,6 +28,10 @@ var collide_enemies: bool:
var _velocity: Vector2
@onready var collision : CollisionShape2D = $CollisionShape2D
@onready var out_of_screen_timer : Timer = $OutOfScreenTimer
func _ready() -> void:
_velocity = direction.normalized() * speed + ship_velocity
_update_collision_rotation(_velocity)
+9 -10
View File
@@ -6,16 +6,6 @@ enum Belonging { PLAYER, ENEMY }
enum Type { NONE, SHORT_RANGE, MEDIUM_RANGE, LONG_RANGE, HOMING, MINES }
@export_range(1, 100) var bullet_per_shot : int = 1
@export_range(0, 360) var sector_angle : int = 0
@export var Projectile : PackedScene
@export var type := Type.NONE
@onready var muzzle : Node2D = $Muzzle
const PREFIXES := {
Belonging.PLAYER: "player",
Belonging.ENEMY: "enemy",
@@ -26,10 +16,19 @@ const IDLE_POSTFIX = "_idle"
const RELOAD_POSTFIX = "_reloading"
@export_range(1, 100) var bullet_per_shot : int = 1
@export_range(0, 360) var sector_angle : int = 0
@export var Projectile : PackedScene
@export var type := Type.NONE
var _belonging: Belonging
var _can_shoot := true
@onready var muzzle : Node2D = $Muzzle
func set_belonging(belonging: Belonging) -> void:
_belonging = belonging
@@ -5,14 +5,15 @@ extends BlastProjectile
@export_range(0, 360) var rotation_speed: int
var target : AbstractShip = null
@onready var sprites : Array[Sprite2D] = [
$Sprite2D_E, $Sprite2D_SE, $Sprite2D_S, $Sprite2D_SW,
$Sprite2D_W, $Sprite2D_NW, $Sprite2D_N, $Sprite2D_NE,
]
@onready var explosion_particles : ExplosionParticles = $ExplosionParticles
var target : AbstractShip = null
func _ready() -> void:
_acquire_target()
@@ -5,15 +5,18 @@ extends AbstractWeapon
@onready var enemy_sprite : Sprite2D = $EnemySprite
@onready var cooldown_timer : Timer = $CooldownTimer
var _particles_index := 0
var _muzzle_index := 0
@onready var particles : Array[GPUParticles2D] = [
$LeftParticles, $RightParticles,
]
var _particles_index := 0
@onready var muzzles : Array[Node2D] = [
$Muzzle, $SecondMuzzle,
]
var _muzzle_index := 0
func set_belonging(belonging: Belonging) -> void:
@@ -2,14 +2,11 @@ class_name MinelayerProjectile
extends BlastProjectile
@export var deceleration : int
@onready var sprite_on := $Sprite2D_On
@onready var sprite_off := $Sprite2D_Off
@onready var sprite_on_timer := $SpriteOnTimer
@onready var sprite_off_timer := $SpriteOffTimer
@onready var explosion_particles : ExplosionParticles = $ExplosionParticles
enum SpriteState {
ON,
OFF,
Disabled,
}
const OFF_TIMES = [
@@ -20,11 +17,7 @@ const ON_TIME = 0.05
const SCROLL_VELOCITY = Vector2(-50, 0)
enum SpriteState {
ON,
OFF,
Disabled,
}
@export var deceleration : int
var _bodies_inside: Array[Node2D] = []
@@ -33,6 +26,13 @@ var _current_sprite_state : SpriteState:
set = _switch_sprite
@onready var sprite_on := $Sprite2D_On
@onready var sprite_off := $Sprite2D_Off
@onready var sprite_on_timer := $SpriteOnTimer
@onready var sprite_off_timer := $SpriteOffTimer
@onready var explosion_particles : ExplosionParticles = $ExplosionParticles
func _ready() -> void:
_current_sprite_state = SpriteState.OFF
super._ready()
@@ -8,6 +8,9 @@ extends DirectHitProjectile
@export_range(0, 1000) var no_deviation_distance: int = 0
var _collided_foes : Array[AbstractShip] = []
@onready var jinkTimer : Timer = $JinkTimer
@onready var particles_huge : GPUParticles2D = $ParticlesHuge
@@ -16,9 +19,6 @@ extends DirectHitProjectile
@onready var particles_small : GPUParticles2D = $ParticlesSmall
var _collided_foes : Array[AbstractShip] = []
func _ready() -> void:
super._ready()
_start_jink_timer()