More work on implementing quests and tech trees
This commit is contained in:
17
scripts/employee_panel.gd
Normal file
17
scripts/employee_panel.gd
Normal file
@@ -0,0 +1,17 @@
|
||||
extends PanelContainer
|
||||
|
||||
var employee : GuildEmployee
|
||||
|
||||
func setup(employee : GuildEmployee) -> void:
|
||||
self.employee = employee
|
||||
global_position = Vector2(get_viewport().get_mouse_position()) - size / 2
|
||||
return
|
||||
|
||||
func display_develop_tree() -> void:
|
||||
pass
|
||||
|
||||
func _on_develop_button_pressed() -> void:
|
||||
display_develop_tree()
|
||||
|
||||
func _on_focus_exited() -> void:
|
||||
queue_free()
|
||||
1
scripts/employee_panel.gd.uid
Normal file
1
scripts/employee_panel.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://pwj0ai6mg7o2
|
||||
@@ -15,6 +15,7 @@ static func load_enemy_list() -> void:
|
||||
list[template.name] = template
|
||||
filename = dir.get_next()
|
||||
dir.list_dir_end()
|
||||
|
||||
|
||||
|
||||
func attack(target : QuestSprite) -> void:
|
||||
|
||||
@@ -54,7 +54,10 @@ func toggle_player_profile():
|
||||
|
||||
func start_shift(shift_num) -> void:
|
||||
current_shift = shift_num
|
||||
panel.reset_timer(shifts[shift_num])
|
||||
if len(shifts) < 1:
|
||||
panel.reset_timer(600)
|
||||
else:
|
||||
panel.reset_timer(shifts[shift_num])
|
||||
|
||||
func end_shift() -> void:
|
||||
take_screenshot()
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
class_name GuildEmployee extends AdventurerSprite
|
||||
|
||||
const employee_panel_template = preload("res://templates/employee_panel.tscn")
|
||||
|
||||
@export var speech :String
|
||||
@onready var queue : GuildQueue = $Queue
|
||||
|
||||
@@ -10,3 +12,14 @@ func interact(interactor, type : String = "") -> void:
|
||||
Guild.register_guild_member(interactor.data, true)
|
||||
#interactor.advance_
|
||||
service_provided.emit()
|
||||
|
||||
|
||||
func _on_mouse_area_input_event(viewport: Node, event: InputEvent, shape_idx: int) -> void:
|
||||
if event is not InputEventMouseButton:
|
||||
return
|
||||
var evt = event as InputEventMouseButton
|
||||
if evt.button_index == MOUSE_BUTTON_RIGHT:
|
||||
var emp_panel : PanelContainer = employee_panel_template.instantiate()
|
||||
get_tree().root.add_child(emp_panel)
|
||||
emp_panel.setup(self)
|
||||
emp_panel.grab_focus()
|
||||
|
||||
@@ -50,7 +50,7 @@ func _physics_process(delta: float) -> void:
|
||||
|
||||
func _unhandled_input(event: InputEvent) -> void:
|
||||
var evt : InputEventMouseButton = event as InputEventMouseButton
|
||||
if evt and evt.pressed:
|
||||
if evt and evt.button_index == MOUSE_BUTTON_LEFT and evt.pressed:
|
||||
approach(evt.global_position)
|
||||
nav_agent.target_desired_distance = stop_range
|
||||
interaction_target = null
|
||||
|
||||
Reference in New Issue
Block a user