bot.gd 849 B

12345678910111213141516171819202122232425262728
  1. extends Area2D
  2. class_name Bot
  3. const SKINS: Array[CompressedTexture2D] = [
  4. preload("res://assets/textures/bots/robits_1.png"),
  5. preload("res://assets/textures/bots/robits_2.png"),
  6. preload("res://assets/textures/bots/robits_3.png"),
  7. preload("res://assets/textures/bots/robits_4.png"),
  8. ]
  9. @onready var sprite: Sprite2D = $Sprite2D
  10. @onready var base: Area2D = null
  11. @export var speed: float = 42.0
  12. func _ready() -> void:
  13. base = get_tree().get_first_node_in_group("base")
  14. if base != null:
  15. var base_center = get_base_center()
  16. global_rotation = global_position.angle_to_point(base_center)
  17. sprite.texture = SKINS.pick_random()
  18. func get_base_center() -> Vector2:
  19. return base.get_child(0).global_position
  20. func _physics_process(delta) -> void:
  21. if base != null:
  22. global_position = global_position.move_toward(get_base_center(), speed * delta)