38 lines
1013 B
GDScript
38 lines
1013 B
GDScript
extends Node
|
|
|
|
|
|
const visitors = {
|
|
"test": {
|
|
"data":preload("res://test_adventurer.tscn"),
|
|
"sprite":preload("res://test_adventurer_sprite.tscn")
|
|
}
|
|
}
|
|
|
|
|
|
|
|
var members : Array[AdventurerData] = []
|
|
var quests : Dictionary[Quest,bool] = {}
|
|
var hall : Guildhall = null
|
|
var visitor_spawner : VisitorSpawner = null
|
|
|
|
func register_guild_member(member : AdventurerData, first : bool = false) -> void:
|
|
members.append(member)
|
|
if first:
|
|
Game.notice("%s has joined the guild!" % member.name, 5)
|
|
|
|
func add_quest(quest : Quest) -> void:
|
|
quests[quest] = false
|
|
Game.quest_log.add_entry(quest)
|
|
|
|
func assign_quest(member : AdventurerData, quest : Quest) -> void:
|
|
member.assign_quest(quest)
|
|
quests[quest] = true #Mark it as active
|
|
Game.add_quest_progress_bar(quest)
|
|
|
|
func spawn_visitor(pos : Vector2) -> void:
|
|
var visitor : AdventurerData = visitors["test"].data.instantiate()
|
|
var sprite : Adventurer = visitors["test"].sprite.instantiate()
|
|
sprite.data = visitor
|
|
hall.add_sprite(sprite)
|
|
sprite.global_position = pos
|