I have an Alien Planet object that I want to increase in scale when it is hovered over and decrease when the mouse is moved away. However, if this planet is clicked on, I want it to stay big even when not being hovered over, and then be deselected when clicked on again or when clicking anywhere outside the planet. The problem is the planet doesn't shrink back down when clicking outside the planet to "deselect" it. What am I missing in my code?
extends Node2D
var scale_factor = Vector2(.75, .75)
var hovered = false
var selected = false
func _on_PlanetArea_mouse_entered():
if not selected:
hovered = true
self.scale += scale_factor
func _on_PlanetArea_mouse_exited():
if not selected:
hovered = false
self.scale -= scale_factor
func _input(event):
if event.is_action_pressed("click") and hovered:
selected = !selected
elif event.is_action_pressed("click") and selected:
selected = !selected
self.scale -= scale_factor