Vast improvements and a working finite state machine, working on new guild member registration.
This commit is contained in:
35
guild.gd
Normal file
35
guild.gd
Normal file
@@ -0,0 +1,35 @@
|
||||
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) -> void:
|
||||
members.append(member)
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user