2021-05-18 04:10:16 -04:00
|
|
|
extends AcceptDialog
|
|
|
|
|
2021-05-26 03:35:52 -04:00
|
|
|
var dialogue_file
|
2021-05-20 18:17:44 -04:00
|
|
|
# "character" would be "name" but it's already used by the base class
|
2021-05-26 03:35:52 -04:00
|
|
|
var character
|
|
|
|
var rank
|
|
|
|
var avatar
|
2021-05-20 15:05:58 -04:00
|
|
|
|
|
|
|
var dialogue_keys = []
|
|
|
|
var dialogue_name = ""
|
|
|
|
var dialogue_text = ""
|
|
|
|
|
2021-05-18 04:10:16 -04:00
|
|
|
onready var avatar_texture = $Container/Advisor/Avatar
|
|
|
|
onready var rank_label = $Container/Advisor/RankLbl
|
|
|
|
onready var name_label = $Container/Advisor/NameLbl
|
|
|
|
onready var description_label = $Container/DescriptionLbl
|
|
|
|
|
2021-05-27 10:33:08 -04:00
|
|
|
enum JsonFile {
|
|
|
|
ANNOUNCEMENTS,
|
|
|
|
ANALYSIS
|
|
|
|
}
|
|
|
|
|
|
|
|
func _ready():
|
|
|
|
SimEvents.connect("advisor_message", self, "_advisor_dialogue")
|
|
|
|
SimEvents.connect("policy_analysis", self, "_analysis_dialouge")
|
|
|
|
|
|
|
|
func _init_advisor(file, advisor):
|
|
|
|
match advisor:
|
|
|
|
SimData.Advisors.CITY_PLANNER:
|
|
|
|
match file:
|
|
|
|
JsonFile.ANNOUNCEMENTS:
|
2021-05-30 12:38:41 -04:00
|
|
|
dialogue_file = "res://json/advisors/cityplanner.json"
|
2021-05-27 10:33:08 -04:00
|
|
|
JsonFile.ANALYSIS:
|
2021-05-30 12:38:41 -04:00
|
|
|
dialogue_file = "res://json/policies/cityplanner_analysis.json"
|
2021-05-27 10:33:08 -04:00
|
|
|
|
2021-10-02 11:12:27 -04:00
|
|
|
avatar_texture.texture = preload("res://assets/avatars/cindy.png")
|
2021-05-27 10:33:08 -04:00
|
|
|
name_label.text = "Cindy Diamond"
|
|
|
|
rank_label.text = "City Planner"
|
2021-05-26 03:35:52 -04:00
|
|
|
|
2021-05-27 10:33:08 -04:00
|
|
|
SimData.Advisors.FINANCIAL:
|
|
|
|
match file:
|
|
|
|
JsonFile.ANNOUNCEMENTS:
|
2021-05-30 12:38:41 -04:00
|
|
|
dialogue_file = "res://json/advisors/finacial.json"
|
2021-05-27 10:33:08 -04:00
|
|
|
JsonFile.ANALYSIS:
|
2021-05-30 12:38:41 -04:00
|
|
|
dialogue_file = "res://json/policies/finacial_analysis.json"
|
2021-05-27 10:33:08 -04:00
|
|
|
|
2021-10-02 11:12:27 -04:00
|
|
|
avatar_texture.texture = preload("res://assets/avatars/kit.png")
|
2021-05-27 10:33:08 -04:00
|
|
|
name_label.text = "Kit Welsh"
|
|
|
|
rank_label.text = "Financial Advisor"
|
|
|
|
|
|
|
|
SimData.Advisors.TRANSPORT:
|
|
|
|
match file:
|
|
|
|
JsonFile.ANNOUNCEMENTS:
|
2021-05-30 12:38:41 -04:00
|
|
|
dialogue_file = "res://json/advisors/transport.json"
|
2021-05-27 10:33:08 -04:00
|
|
|
JsonFile.ANALYSIS:
|
2021-05-30 12:38:41 -04:00
|
|
|
dialogue_file = "res://json/policies/transport_analysis.json"
|
2021-05-27 10:33:08 -04:00
|
|
|
|
2021-10-02 11:12:27 -04:00
|
|
|
avatar_texture.texture = preload("res://assets/avatars/zc.png")
|
2021-05-27 10:33:08 -04:00
|
|
|
name_label.text = "Zack Casey"
|
|
|
|
rank_label.text = "Transportation Advisor"
|
|
|
|
|
|
|
|
func _launch_advisor_window(key):
|
2021-09-24 11:12:02 -04:00
|
|
|
# _index_dialogue()
|
|
|
|
# var message: String = dialogue_keys[key].text
|
|
|
|
#
|
|
|
|
# if "[name]" in message:
|
|
|
|
# message = message.replace("[name]", SimData.mayor_name)
|
|
|
|
#
|
|
|
|
# if "[city]" in message:
|
|
|
|
# message = message.replace("[city]", SimData.city_name)
|
|
|
|
#
|
|
|
|
# description_label.text = message
|
|
|
|
# window_title = dialogue_keys[key].name
|
|
|
|
# show()
|
|
|
|
pass
|
2021-05-20 15:05:58 -04:00
|
|
|
|
2021-05-27 10:33:08 -04:00
|
|
|
func _advisor_dialogue(advisor, message):
|
|
|
|
_init_advisor(JsonFile.ANNOUNCEMENTS, advisor)
|
|
|
|
_launch_advisor_window(message)
|
|
|
|
|
|
|
|
func _analysis_dialouge(advisor, policy):
|
|
|
|
_init_advisor(JsonFile.ANALYSIS, advisor)
|
|
|
|
_launch_advisor_window(policy)
|
|
|
|
|
2021-05-22 04:12:18 -04:00
|
|
|
func _index_dialogue():
|
2021-05-26 03:35:52 -04:00
|
|
|
var dialogue = _load_dialogue()
|
2021-05-20 15:05:58 -04:00
|
|
|
dialogue_keys.clear()
|
|
|
|
for key in dialogue:
|
|
|
|
dialogue_keys.append(dialogue[key])
|
|
|
|
|
2021-05-26 03:35:52 -04:00
|
|
|
func _load_dialogue():
|
2021-05-20 15:05:58 -04:00
|
|
|
var file = File.new()
|
2021-05-26 03:35:52 -04:00
|
|
|
if file.file_exists(dialogue_file):
|
|
|
|
file.open(dialogue_file, file.READ)
|
2021-05-20 15:05:58 -04:00
|
|
|
var dialogue = parse_json(file.get_as_text())
|
|
|
|
return dialogue
|