Minor fixes
This commit is contained in:
@@ -1,18 +1,21 @@
|
||||
extends Node
|
||||
|
||||
|
||||
@onready var ship := $Ship
|
||||
|
||||
|
||||
var position : Vector2:
|
||||
set(value):
|
||||
$Ship.position = value
|
||||
ship.position = value
|
||||
get:
|
||||
return $Ship.position
|
||||
return ship.position
|
||||
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
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 := {
|
||||
0: ["shoot_weapon_1", "reload_weapon_1"],
|
||||
1: ["shoot_weapon_2", "reload_weapon_2"]
|
||||
@@ -21,7 +24,7 @@ func _physics_process(delta: float) -> void:
|
||||
if index >= weapons.size(): break
|
||||
|
||||
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):
|
||||
$Ship.reload(weapons[index])
|
||||
ship.reload(weapons[index])
|
||||
|
||||
+11
-9
@@ -1,17 +1,18 @@
|
||||
extends CharacterBody2D
|
||||
|
||||
|
||||
const Weapon = preload("res://game/entities/weapons/weapon.tscn")
|
||||
@onready var sprite := $Sprite2D
|
||||
@onready var colision := $CollisionShape2D
|
||||
|
||||
|
||||
@export var size : Vector2:
|
||||
set(value):
|
||||
size = value
|
||||
if $Sprite2D.texture:
|
||||
$Sprite2D.texture.size = value
|
||||
$CollisionShape2D.shape.radius = 0.9 * minf(size.x, size.y)/2
|
||||
$CollisionShape2D.shape.height = 0.9 * maxf(size.x, size.y)
|
||||
$CollisionShape2D.rotation = 0.0 if size.x < size.y else PI/2
|
||||
if sprite.texture:
|
||||
sprite.texture.size = value
|
||||
colision.shape.radius = 0.9 * minf(size.x, size.y)/2
|
||||
colision.shape.height = 0.9 * maxf(size.x, size.y)
|
||||
colision.rotation = 0.0 if size.x < size.y else PI/2
|
||||
get:
|
||||
return size
|
||||
|
||||
@@ -29,11 +30,12 @@ const Weapon = preload("res://game/entities/weapons/weapon.tscn")
|
||||
func _ready() -> void:
|
||||
var texture := PlaceholderTexture2D.new()
|
||||
texture.size = size
|
||||
$Sprite2D.texture = texture
|
||||
sprite.texture = texture
|
||||
|
||||
const WEAPON = preload("res://game/entities/weapons/weapon.tscn")
|
||||
var weapons_by_offset := {
|
||||
8: Weapon.instantiate(),
|
||||
-8: Weapon.instantiate(),
|
||||
8: WEAPON.instantiate(),
|
||||
-8: WEAPON.instantiate(),
|
||||
}
|
||||
for offset : int in weapons_by_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"]
|
||||
script = ExtResource("1_2ltai")
|
||||
damage = 6
|
||||
speed = 600
|
||||
direction = Vector2(1, 0)
|
||||
script = ExtResource("1_xq7oi")
|
||||
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")]
|
||||
|
||||
+6
-2
@@ -1,7 +1,7 @@
|
||||
class_name ProjectileMover
|
||||
extends Node
|
||||
|
||||
|
||||
signal velocity_updated(new_velocity: Vector2)
|
||||
signal destroyed
|
||||
|
||||
|
||||
@@ -19,7 +19,11 @@ var velocity : Vector2:
|
||||
get:
|
||||
return _velocity
|
||||
|
||||
var _velocity : Vector2
|
||||
var _velocity : Vector2:
|
||||
set(value):
|
||||
_velocity = value
|
||||
velocity_updated.emit(_velocity)
|
||||
|
||||
var _traveled_distance: 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,10 +5,13 @@ extends Node2D
|
||||
@export var damage : int
|
||||
@export var bullet_per_shot : int
|
||||
@export var sector_angle : int
|
||||
@export var Projectile : AbstractProjectile
|
||||
#@export var Projectile : AbstractProjectile
|
||||
@export var reloaders : Array[AbstractReloader]
|
||||
|
||||
|
||||
@onready var sprite := $Sprite2D
|
||||
|
||||
|
||||
func _init() -> void:
|
||||
#TEST
|
||||
var firerate_reloader := preload("res://game/entities/weapons/reloaders/firerate_reloader.gd").new()
|
||||
@@ -33,7 +36,7 @@ func _init() -> void:
|
||||
func _ready() -> void:
|
||||
var texture := PlaceholderTexture2D.new()
|
||||
texture.size = Vector2(10, 7)
|
||||
$Sprite2D.texture = texture
|
||||
sprite.texture = texture
|
||||
|
||||
|
||||
func shoot() -> void:
|
||||
|
||||
Reference in New Issue
Block a user