mirror of
https://github.com/tonytins/citylimits
synced 2025-12-18 05:54:42 -05:00
Streamlined advisor window
- Streamlined advisor window messages through signals. - Added TODO file - Ignore /except directory - News ticker based on the advisor code with text from SC3k with news from the game, with some exceptions. - New SC3k-like interface. - Added icons from Font Awesome.
This commit is contained in:
parent
e5505a3244
commit
d1da70a099
38 changed files with 1738 additions and 413 deletions
57
scripts/ticker.gd
Normal file
57
scripts/ticker.gd
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
extends ColorRect
|
||||
|
||||
onready var ticker_text = $TickerTxt
|
||||
|
||||
var news_file = ""
|
||||
var rng = RandomNumberGenerator.new()
|
||||
var news_keys = []
|
||||
|
||||
func _index_news():
|
||||
var news = _load_news()
|
||||
news_keys.clear()
|
||||
for key in news:
|
||||
news_keys.append(news[key])
|
||||
|
||||
func _load_news():
|
||||
var file = File.new()
|
||||
if file.file_exists(news_file):
|
||||
file.open(news_file, file.READ)
|
||||
var dialogue = parse_json(file.get_as_text())
|
||||
return dialogue
|
||||
|
||||
func _ready():
|
||||
SimEvents.connect("send_alert", self, "_start_alert")
|
||||
SimEvents.connect("resume_news", self, "_resume_ticker")
|
||||
_random_news("res://dialog/ticker.json")
|
||||
|
||||
func _process(delta):
|
||||
if get_tree().paused:
|
||||
ticker_text.text = "Simulation Paused"
|
||||
|
||||
func _start_alert(message):
|
||||
SimData.is_alert = true
|
||||
news_file = "res://dialog/ticker_alerts.json"
|
||||
ticker_text.text = news_keys[message].text
|
||||
|
||||
func _random_news(file):
|
||||
news_file = file
|
||||
_load_news()
|
||||
_index_news()
|
||||
rng.randomize()
|
||||
var max_mange = news_keys.size() - 1
|
||||
var ticker_range = rng.randi_range(0, max_mange)
|
||||
var news = news_keys[ticker_range].text
|
||||
|
||||
if "[city]" in news:
|
||||
news = news.replace("[city]", SimData.city_name)
|
||||
|
||||
if "[mayor]" in news:
|
||||
news = news.replace("[mayor]", SimData.mayor_name)
|
||||
|
||||
ticker_text.text = news
|
||||
|
||||
func _resume_ticker():
|
||||
_random_news("res://dialog/ticker.json")
|
||||
|
||||
func _on_RotateNews_timeout():
|
||||
_random_news("res://dialog/ticker.json")
|
||||
Loading…
Add table
Add a link
Reference in a new issue