hadean-godot/Scripts/Clock.gd

47 lines
887 B
GDScript
Raw Permalink Normal View History

2025-10-10 03:01:08 -04:00
extends Node
const months = [
"Jan", "Feb", "Mar", "Apr",
"May", "Jun", "Jul", "Aug",
"Sep", "Oct", "Nov", "Dec"
]
var counter: float = 0
const day_length = 2
var day_count: int = 0
var month = 1
var date = 1
var year = 2000
signal day_passed
signal resource_produce
signal resource_consume
func _process(delta: float):
counter += delta
if counter > day_length:
counter -= day_length
day_count += 1
date += 1
if date == 31:
date -= 30
month += 1
if month == 13:
month -= 12
year += 1
resource_produce.emit()
resource_consume.emit()
day_passed.emit()
func _nth_str(n: int):
if n == 0: return "0th"
if n >= 4 and n <= 20: return str(n) + "th"
if n % 10 == 1: return "1st"
if n % 10 == 2: return "2nd"
if n % 10 == 3: return "3rd"
return str(n) + "th"
func get_date_string():
return months[month - 1] + " " + _nth_str(date) + ", " + str(year)