Added logic for robot stalking light changing (not tweening correctly)

This commit is contained in:
Henry 2026-05-11 15:47:59 +01:00
parent 6482d52a04
commit cf7fa78fbb
6 changed files with 57 additions and 19 deletions

View file

@ -9,6 +9,8 @@ var stun_remaining: float = 0.0
var _delay_remaining: float = 0.0
var _spawn_transform: Transform3D
var stalking: bool = true
@onready var safety_zone = get_node("/root/Game/World/ElevatorSafeZone")
@ -30,6 +32,9 @@ func _on_floor_started(delay: float, new_speed: float) -> void:
robot_ready = false
func _physics_process(delta):
stalking_check()
if robot_win:
return
@ -55,3 +60,24 @@ func _on_area_3d_area_entered(area: Area3D) -> void:
if area == safety and doors_open:
robot_win = true
EventBus.game_lost.emit("ROBOT GOT IN")
func stalking_check():
var robot_position = self.global_transform.origin
var elevator = safety_zone.global_transform.origin
var distance = robot_position.distance_to(elevator)
var current_modulation = $Sprite3D.modulate
print(distance)
if distance >= 19:
$Sprite3D.modulate = Color(0.0, 0.0, 0.0)
if distance <= 15: #and stalking == true:
stalking == false
illuminate()
func illuminate():
var tween = create_tween()
tween.tween_property($Sprite3D, "modulate",Color(255,255,255), 5)