This repository has been archived on 2020-09-30. You can view files and clone it, but cannot push or open issues or pull requests.
odyssey-old/Actors/Objects/PowerStorage/PowerStorage.gd

39 lines
908 B
GDScript3
Raw Normal View History

extends StaticBody2D
class_name GameObjectPowerStorage
2020-07-07 18:42:22 +00:00
var open = false
onready var activationRange = $ActivationRange as ActivationRange
func _ready():
if not Engine.editor_hint:
activationRange.visible = true
func _input(event):
if event is InputEventMouseButton and event.pressed and not is_inside and open:
open = false
$UIAnimation.play("fadeout")
func _input_event(_viewport, event, _shape_idx):
if Engine.editor_hint:
return
if event is InputEventMouseButton and event.pressed and not open:
# Must be in range
if activationRange.in_range():
open = true
$Control/PowerUI.visible = true
$UIAnimation.play("fadein")
var is_inside = false
func _ui_focus_changed(entered):
is_inside = entered
func _ui_fade_completed(anim_name):
if anim_name == "fadeout":
$Control/PowerUI.visible = false
func _force_close_ui():
if open:
open = false
$UIAnimation.play("fadeout")