glowlings/entities/scripts/glowling.gd
Dan 217f0ab18c Increased Glowling speed and added delta time scaling
Significant changes include:
- The Glowling entity's speed has been quadrupled from 10 to 40.
- The _process function now scales the movement speed by the elapsed time (delta) for smoother motion.
- VSync mode has been disabled in project settings.
2024-06-01 20:05:16 +01:00

33 lines
949 B
GDScript

extends Node2D
class_name Glowling
@onready var tilemap = $"../TileMap" # This needs rectifying
var current_path : Array[Vector2i] = []
var speed : int = 40
func _ready():
$GlowlingAnimations.play("GlowingPulse")
pass
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
if current_path.is_empty():
return
var target_position = tilemap.map_to_local(current_path.front())
global_position = global_position.move_toward(target_position, speed * delta)
if global_position == target_position:
current_path.pop_front()
pass
## This is the temporary way for having something move
func _unhandled_input(event):
var click_position = get_global_mouse_position()
if event.is_action_pressed("move_to"):
if tilemap.is_point_walkable(click_position):
current_path = tilemap.astar.get_id_path(
tilemap.local_to_map(global_position),
tilemap.local_to_map(click_position)
).slice(1)