More enemy AI added
This commit is contained in:
@@ -43,13 +43,6 @@ func _ready() -> void:
|
||||
for slot in $WeaponSlots.get_children():
|
||||
if slot is Node2D:
|
||||
weapon_positions.append(slot.global_position - global_position)
|
||||
|
||||
for pos in weapon_positions:
|
||||
var weapon : AbstractWeapon = WEAPONS.pick_random().instantiate()
|
||||
weapon.position = pos
|
||||
weapon.rotation_degrees = weapon_rotation
|
||||
add_child(weapon)
|
||||
_weapons.append(weapon)
|
||||
|
||||
|
||||
func _physics_process(_delta: float) -> void:
|
||||
@@ -94,3 +87,10 @@ func _get_new_speed(accel: float, decel: float, current_speed: float) -> float:
|
||||
func _on_health_depleted() -> void:
|
||||
queue_free()
|
||||
destroyed.emit()
|
||||
|
||||
|
||||
func _add_weapon(weapon: AbstractWeapon, weapon_position: Vector2) -> void:
|
||||
weapon.position = weapon_position
|
||||
weapon.rotation_degrees = weapon_rotation
|
||||
add_child(weapon)
|
||||
_weapons.append(weapon)
|
||||
|
||||
@@ -6,12 +6,22 @@ extends AbstractShip
|
||||
|
||||
|
||||
var is_on_screen : bool = false
|
||||
var weapon_type : AbstractWeapon.Type = AbstractWeapon.Type.NONE
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
super._ready()
|
||||
for weapon in _weapons:
|
||||
weapon.set_belonging(AbstractWeapon.Belonging.ENEMY)
|
||||
|
||||
var weapon_scene : PackedScene = WEAPONS.pick_random()
|
||||
for weapon_position in weapon_positions:
|
||||
var weapon : AbstractWeapon = weapon_scene.instantiate()
|
||||
weapon_type = weapon.type
|
||||
_add_weapon(weapon, weapon_position)
|
||||
|
||||
|
||||
func _add_weapon(weapon: AbstractWeapon, weapon_position: Vector2) -> void:
|
||||
super._add_weapon(weapon, weapon_position)
|
||||
weapon.set_belonging(AbstractWeapon.Belonging.ENEMY)
|
||||
|
||||
|
||||
func _on_enemy_controller_shoot() -> void:
|
||||
|
||||
@@ -11,8 +11,15 @@ extends AbstractShip
|
||||
|
||||
func _ready() -> void:
|
||||
super._ready()
|
||||
for weapon in _weapons:
|
||||
weapon.set_belonging(AbstractWeapon.Belonging.PLAYER)
|
||||
|
||||
for weapon_position in weapon_positions:
|
||||
var weapon : AbstractWeapon = WEAPONS.pick_random().instantiate()
|
||||
_add_weapon(weapon, weapon_position)
|
||||
|
||||
|
||||
func _add_weapon(weapon: AbstractWeapon, weapon_position: Vector2) -> void:
|
||||
super._add_weapon(weapon, weapon_position)
|
||||
weapon.set_belonging(AbstractWeapon.Belonging.PLAYER)
|
||||
|
||||
|
||||
func _on_player_controller_shoot(weapon_index: int) -> void:
|
||||
|
||||
@@ -3,14 +3,14 @@ extends Node2D
|
||||
|
||||
|
||||
enum Belonging { PLAYER, ENEMY }
|
||||
enum Type { SHORT_RANGE, MEDIUM_RANGE, LONG_RANGE, HOMING, MINES }
|
||||
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.MEDIUM_RANGE
|
||||
@export var type := Type.NONE
|
||||
|
||||
|
||||
@onready var muzzle : Node2D = $Muzzle
|
||||
|
||||
@@ -158,7 +158,7 @@ gravity = Vector3(0, 0, 0)
|
||||
script = ExtResource("2_ew5um")
|
||||
sector_angle = 1
|
||||
Projectile = ExtResource("2_2bjeu")
|
||||
type = 2
|
||||
type = 3
|
||||
|
||||
[node name="ShotParticles" type="Node2D" parent="." index="0"]
|
||||
|
||||
|
||||
@@ -44,6 +44,7 @@ script = ExtResource("1_kg6du")
|
||||
reloader = SubResource("Resource_oppha")
|
||||
sector_angle = 5
|
||||
Projectile = ExtResource("2_ylc0n")
|
||||
type = 1
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." index="0"]
|
||||
position = Vector2(6, 0)
|
||||
|
||||
@@ -46,7 +46,7 @@ region = Rect2(224, 144, 32, 16)
|
||||
script = ExtResource("2_mxjpe")
|
||||
sector_angle = 5
|
||||
Projectile = ExtResource("3_fsoo2")
|
||||
type = 3
|
||||
type = 4
|
||||
|
||||
[node name="LeftParticles" type="GPUParticles2D" parent="." index="0"]
|
||||
position = Vector2(-4, -3)
|
||||
|
||||
@@ -130,7 +130,7 @@ animations = [{
|
||||
script = ExtResource("2_mmhtn")
|
||||
sector_angle = 10
|
||||
Projectile = ExtResource("2_7y446")
|
||||
type = 4
|
||||
type = 5
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." index="0"]
|
||||
position = Vector2(-7, 0)
|
||||
|
||||
@@ -99,6 +99,7 @@ animations = [{
|
||||
script = ExtResource("2_fnsb7")
|
||||
sector_angle = 2
|
||||
Projectile = ExtResource("2_yluvp")
|
||||
type = 2
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." index="0"]
|
||||
position = Vector2(8, 0)
|
||||
|
||||
@@ -154,7 +154,7 @@ animations = [{
|
||||
[node name="RailgunWeapon" instance=ExtResource("1_0nxvu")]
|
||||
script = ExtResource("1_5nhwg")
|
||||
Projectile = ExtResource("2_cbsia")
|
||||
type = 2
|
||||
type = 3
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." index="0"]
|
||||
position = Vector2(5, 0)
|
||||
|
||||
@@ -115,7 +115,7 @@ script = ExtResource("2_1bd18")
|
||||
bullet_per_shot = 20
|
||||
sector_angle = 30
|
||||
Projectile = ExtResource("2_xvd4y")
|
||||
type = 0
|
||||
type = 1
|
||||
|
||||
[node name="ShotParticles" type="GPUParticles2D" parent="." index="0"]
|
||||
position = Vector2(17, 0)
|
||||
|
||||
@@ -146,7 +146,7 @@ gravity = Vector3(0, 0, 0)
|
||||
script = ExtResource("2_08si3")
|
||||
sector_angle = 10
|
||||
Projectile = ExtResource("2_1rrdy")
|
||||
type = 3
|
||||
type = 4
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." index="0"]
|
||||
sprite_frames = SubResource("SpriteFrames_ckvhw")
|
||||
|
||||
Reference in New Issue
Block a user