70 lines
3.1 KiB
GDScript
70 lines
3.1 KiB
GDScript
extends Node2D
|
|
|
|
var StartingTime = Time.get_datetime_dict_from_system()
|
|
var CurrentTime = Time.get_datetime_dict_from_system()
|
|
var SystemTime: int
|
|
|
|
func _ready():
|
|
if GlobalVars.BusyTimeUpgrades[0] == 1:
|
|
get_node("Seconds").modulate = Color(1, 0, 0, 1)
|
|
get_node("Seconds/Time").modulate = Color(1, 0, 0, 1)
|
|
if GlobalVars.BusyTimeUpgrades[1] == 1:
|
|
get_node("Minutes").modulate = Color(1, 1, 0, 1)
|
|
get_node("Minutes/Time").modulate = Color(1, 1, 0, 1)
|
|
if GlobalVars.BusyTimeUpgrades[2] == 1:
|
|
get_node("Hours").modulate = Color(0, 1, 0, 1)
|
|
get_node("Hours/Time").modulate = Color(0, 1, 0, 1)
|
|
if GlobalVars.BusyTimeUpgrades[3] == 1:
|
|
get_node("Days").modulate = Color(0, 1, 1, 1)
|
|
get_node("Days/Time").modulate = Color(0, 1, 1, 1)
|
|
if GlobalVars.BusyTimeUpgrades[4] == 1:
|
|
get_node("Months").modulate = Color(0, 0, 1, 1)
|
|
get_node("Months/Time").modulate = Color(0, 0, 1, 1)
|
|
if GlobalVars.BusyTimeUpgrades[5] == 1:
|
|
get_node("Years").modulate = Color(1, 0, 1, 1)
|
|
get_node("Years/Time").modulate = Color(1, 0, 1, 1)
|
|
|
|
func _process(_delta):
|
|
# Calculations to get current time.
|
|
CurrentTime = Time.get_datetime_dict_from_system()
|
|
SystemTime = int((CurrentTime["second"] - StartingTime["second"]) + ((CurrentTime["minute"] - StartingTime["minute"]) * 60) + ((CurrentTime["hour"] - StartingTime["hour"]) * 3600) + ((CurrentTime["day"] - StartingTime["day"]) * 86400) + ((CurrentTime["month"] - StartingTime["month"]) * 2592000) + ((CurrentTime["year"] - StartingTime["year"]) * 933120000))
|
|
|
|
# Ease-of-use variables
|
|
@warning_ignore("integer_division")
|
|
var Years = int(SystemTime / 933120000)
|
|
if Years > 0:
|
|
SystemTime = int(SystemTime % 933120000)
|
|
@warning_ignore("integer_division")
|
|
var Months = int(SystemTime / 2592000)
|
|
if Months > 0:
|
|
SystemTime = SystemTime % 2592000
|
|
@warning_ignore("integer_division")
|
|
var Days = int(SystemTime / 86400)
|
|
if Days > 0:
|
|
SystemTime = SystemTime % 86400
|
|
@warning_ignore("integer_division")
|
|
var Hours = int(SystemTime / 3600)
|
|
if Hours > 0:
|
|
SystemTime = SystemTime % 3600
|
|
@warning_ignore("integer_division")
|
|
var Minutes = int(SystemTime / 60)
|
|
if Minutes > 0:
|
|
SystemTime = SystemTime % 60
|
|
var Seconds = int(SystemTime)
|
|
|
|
# Now display everything
|
|
get_node("Seconds/Time").text = str(Seconds)
|
|
get_node("Minutes/Time").text = str(Minutes)
|
|
get_node("Hours/Time").text = str(Hours)
|
|
get_node("Days/Time").text = str(Days)
|
|
get_node("Months/Time").text = str(Months)
|
|
get_node("Years/Time").text = str(Years)
|
|
|
|
# Controls leaving of the game
|
|
func _on_done_pressed():
|
|
GlobalVars.Gold = GlobalVars.LoadSingle("user://Money")
|
|
SystemTime = int((CurrentTime["second"] - StartingTime["second"]) + ((CurrentTime["minute"] - StartingTime["minute"]) * 60) + ((CurrentTime["hour"] - StartingTime["hour"]) * 3600) + ((CurrentTime["day"] - StartingTime["day"]) * 86400) + ((CurrentTime["month"] - StartingTime["month"]) * 2592000) + ((CurrentTime["year"] - StartingTime["year"]) * 933120000))
|
|
@warning_ignore("integer_division")
|
|
GlobalVars.ChangeMoney(int(SystemTime / 100))
|
|
GlobalVars.SaveSingle(GlobalVars.Gold, "user://Money")
|
|
get_tree().change_scene_to_file("res://Menu Stuffs/Scene/Main Menu.tscn")
|