mirror of
https://github.com/tonytins/citylimits.git
synced 2025-03-15 12:21:22 +00:00
- Redid the interface with everything now at the bottom. - Advisors can now address the mayor and city - Updated tax window with red and green arrow icons - Tweaked income algorithm
70 lines
1.9 KiB
GDScript
70 lines
1.9 KiB
GDScript
extends WindowDialog
|
|
|
|
var dialogue_file = "res://dialog/policies/proposels.json"
|
|
|
|
var dialogue_keys = []
|
|
var dialogue_name = ""
|
|
var dialogue_text = ""
|
|
var policy_id
|
|
|
|
onready var ordinance_label = $OrdinanceLbl
|
|
onready var description_label = $DescPanel/DescriptionLbl
|
|
|
|
func _start_dialogue(policy):
|
|
match policy:
|
|
[SimData.Ordinances.ENERGY_CONSERVATION, 1]:
|
|
policy_id = 1
|
|
_launch_policy_window(1)
|
|
[SimData.Ordinances.CLEAN_AIR_ACT, 3]:
|
|
policy_id = 2
|
|
_launch_policy_window(2)
|
|
[SimData.Ordinances.TIRE_RECYCLE, 3]:
|
|
policy_id = 3
|
|
_launch_policy_window(3)
|
|
|
|
func _launch_policy_window(key):
|
|
_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()
|
|
|
|
func _index_dialogue():
|
|
var dialogue = _load_dialogue()
|
|
dialogue_keys.clear()
|
|
for key in dialogue:
|
|
dialogue_keys.append(dialogue[key])
|
|
|
|
func _load_dialogue():
|
|
var file = File.new()
|
|
if file.file_exists(dialogue_file):
|
|
file.open(dialogue_file, file.READ)
|
|
var dialogue = parse_json(file.get_as_text())
|
|
return dialogue
|
|
|
|
func _ready():
|
|
SimEvents.connect("policy_message", self, "_start_dialogue")
|
|
|
|
func _on_IgnoreBtn_pressed():
|
|
policy_id = 0
|
|
description_label.text = ""
|
|
ordinance_label.text = ""
|
|
hide()
|
|
|
|
func _on_EnectBtn_pressed():
|
|
match policy_id:
|
|
1: SimEvents.emit_signal("energy_saving")
|
|
2: SimEvents.emit_signal("clean_air_act")
|
|
|
|
func _on_AnalysisBtn_pressed():
|
|
match policy_id:
|
|
1: SimEvents.emit_signal("policy_analysis", SimData.Advisors.CITY_PLANNER, policy_id)
|
|
2: SimEvents.emit_signal("policy_analysis", SimData.Advisors.CITY_PLANNER, policy_id)
|
|
3: SimEvents.emit_signal("policy_analysis", SimData.Advisors.CITY_PLANNER, policy_id)
|