added Graphics and sound Effects and more overhauls
This commit is contained in:
parent
c887a2168c
commit
b9d4288900
214 changed files with 3378 additions and 198 deletions
|
|
@ -1,22 +1,67 @@
|
|||
class_name Enemy extends "res://scenes/spaceShip/spaceShip.gd"
|
||||
|
||||
@onready var visionArea: VisionArea = $VisionAreas/VisionArea
|
||||
@onready var visionAreaStop: VisionArea = $VisionAreas/VisionAreaStop
|
||||
@onready var visionAreaEnemy: VisionArea = $VisionAreas/VisionAreaEnemy
|
||||
@onready var raycast: RayCast2D = $RayCast2D
|
||||
|
||||
@onready var hit = $hit
|
||||
|
||||
@export var range: int = 800
|
||||
|
||||
func _ready() -> void:
|
||||
setVision()
|
||||
|
||||
func setVision():
|
||||
visionArea.changeViewSize(range)
|
||||
visionAreaStop.changeViewSize(range-50)
|
||||
visionAreaEnemy.changeViewSize(200)
|
||||
raycast.target_position.y = -range
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
#print(name, " velocity: ", velocity," velocityMedian: ", getVelocityMedian(), " radius: ", $VisionAreas/VisionAreaStop/CollisionShape2D.shape.radius)
|
||||
#if Globals.getPlayer() != null:
|
||||
#if getVelocityMedian()*8 > range:
|
||||
#visionAreaStop.changeViewSize(getVelocityMedian()*8)
|
||||
#global_position.distance_to(Globals.getPlayer().global_position)
|
||||
|
||||
if Globals.getPlayer() != null:
|
||||
look_at(Globals.getPlayer().global_position)
|
||||
var direction = Vector2.RIGHT.rotated(rotation)
|
||||
rotation += PI / 2
|
||||
if Globals.getPlayer() != null:
|
||||
rotation += PI / 2
|
||||
|
||||
if visionArea.has_overlapping_bodies():
|
||||
if not raycast.is_colliding():
|
||||
attack()
|
||||
#if getEnemyList() != []:
|
||||
#for i in getEnemyList():
|
||||
##print(global_position.distance_to(i.global_position))
|
||||
#direction -= Vector2.UP.rotated(rad_to_deg(global_position.angle_to(i.global_position))) * -10
|
||||
#break
|
||||
#print(self)
|
||||
#print(visionAreaEnemy.get_overlapping_bodies())
|
||||
#print(getEnemyList())
|
||||
if not visionAreaStop.has_overlapping_bodies():
|
||||
velocity = velocity.lerp(direction * speed, acceleration * delta)
|
||||
else:
|
||||
if not raycast.is_colliding():
|
||||
attack()
|
||||
velocity = velocity.lerp(Vector2.ZERO, acceleration * delta)
|
||||
|
||||
move_and_slide()
|
||||
|
||||
func _on_hurt_area_hurt(amount: int) -> void:
|
||||
hit.play()
|
||||
damage(amount)
|
||||
|
||||
func getVelocityMedian() -> float:
|
||||
var _velocity = velocity
|
||||
if _velocity.x < 0:
|
||||
_velocity.x *= -1
|
||||
if _velocity.y < 0:
|
||||
_velocity.y *= -1
|
||||
return (_velocity.x + _velocity.y) / 2
|
||||
|
||||
func getEnemyList() -> Array:
|
||||
var enemies = visionAreaEnemy.get_overlapping_bodies()
|
||||
enemies.erase(self)
|
||||
return enemies
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue