18 lines
637 B
GDScript
18 lines
637 B
GDScript
extends Interactable
|
|
|
|
@onready var polygon : CollisionPolygon2D = $CollisionPolygon2D
|
|
@onready var window : QuestBoardWindow = $QuestBoardWindow
|
|
|
|
func _input(event : InputEvent) -> void:
|
|
var evt : InputEventMouseButton = event as InputEventMouseButton
|
|
if evt and evt.button_index == MOUSE_BUTTON_LEFT and evt.pressed:
|
|
if Geometry2D.is_point_in_polygon(evt.position - polygon.global_position, polygon.polygon):
|
|
Game.player.try_interact(self)
|
|
get_viewport().set_input_as_handled()
|
|
|
|
|
|
func interact(interactor, type : String = "") -> void:
|
|
if interactor is Player:
|
|
window.populate(Guild.quests.keys())
|
|
window.popup_centered()
|