Godot-RTS-Template/dev/debugtool_mouse_overlay.gd

28 lines
886 B
GDScript3
Raw Normal View History

extends CanvasLayer
# Track the current cursor shape
var current_shape: int = -1
# References to child nodes (automatically set via $ syntax)
@onready var texture_rect = $PanelContainer/TextureRect
@onready var hotspot_marker = $PanelContainer/TextureRect/HotSpotMarker
func _process(_delta):
# Check the current cursor shape
var shape = Input.get_current_cursor_shape()
#Input.set_custom_mouse_cursor()
if shape != current_shape:
current_shape = shape
#update_cursor(shape)
func update_cursor(image: Resource, _shape:= 0 as Input.CursorShape, hotspot: Vector2 = Vector2(0, 0)):
# Get the custom cursor data from the main script
if image != null:
texture_rect.texture = image
# Position the hotspot marker (assuming a 4x4 marker)
hotspot_marker.position = hotspot
else:
# Clear the texture if no custom cursor is set for this shape
texture_rect.texture = null