2024-10-01 23:32:59 +00:00
|
|
|
class_name SaveGameDisplay extends Button
|
|
|
|
|
|
|
|
|
|
func _init(save: SaveGame, id: int) -> void:
|
|
|
|
|
var base_container:= HBoxContainer.new()
|
|
|
|
|
base_container.alignment = BoxContainer.ALIGNMENT_CENTER
|
|
|
|
|
add_child(base_container)
|
|
|
|
|
|
|
|
|
|
var texture:= TextureRect.new()
|
2024-10-02 23:10:35 +00:00
|
|
|
texture.texture = ImageTexture.create_from_image(save.thumbnail)
|
2024-10-01 23:32:59 +00:00
|
|
|
texture.size_flags_vertical = Control.SIZE_SHRINK_CENTER
|
|
|
|
|
|
|
|
|
|
base_container.add_child(texture)
|
|
|
|
|
var heading_split:= HSplitContainer.new()
|
|
|
|
|
var heading:= Label.new()
|
|
|
|
|
|
|
|
|
|
heading.text = "Slot %d" % id
|
|
|
|
|
heading.theme_type_variation = "HeaderLarge"
|
|
|
|
|
|
|
|
|
|
var localised_date_time: String
|
|
|
|
|
|
|
|
|
|
var localised_weekday: PackedStringArray
|
|
|
|
|
|
|
|
|
|
match TranslationServer.get_locale():
|
|
|
|
|
"de":
|
|
|
|
|
localised_weekday = ["Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"]
|
|
|
|
|
localised_date_time = "%s, %d.%d.%d um %d:%02d" % [localised_weekday[save.last_saved["weekday"]],
|
|
|
|
|
save.last_saved["day"],
|
|
|
|
|
save.last_saved["month"],
|
|
|
|
|
save.last_saved["year"],
|
|
|
|
|
save.last_saved["hour"],
|
|
|
|
|
save.last_saved["minute"]
|
|
|
|
|
]
|
|
|
|
|
_:
|
|
|
|
|
localised_weekday = ["Monday", "Tuseday", "Wensday", "Thursday", "Friday", "Saturday", "Sunday"]
|
|
|
|
|
localised_date_time = "%s, %d/%d/%d - %d:%02d (%s)" % [localised_weekday[save.last_saved["weekday"]],
|
|
|
|
|
save.last_saved["day"],
|
|
|
|
|
save.last_saved["month"],
|
|
|
|
|
save.last_saved["year"],
|
|
|
|
|
save.last_saved["hour"] % 12 if save.last_saved["hour"] % 12 > 1 else 12 if save.last_saved["hour"] == 12 or save.last_saved["minute"] == 0 else 0,
|
|
|
|
|
save.last_saved["minute"],
|
|
|
|
|
"AM" if save.last_saved["hour"] < 12 else "PM"]
|
|
|
|
|
|
|
|
|
|
var time:= Label.new()
|
|
|
|
|
time.text = localised_date_time if not save.current_room == 0 else "Start new game."
|
|
|
|
|
|
|
|
|
|
var info:= VBoxContainer.new()
|
|
|
|
|
base_container.add_child(info)
|
|
|
|
|
|
|
|
|
|
info.add_child(heading_split)
|
|
|
|
|
heading_split.add_child(heading)
|
|
|
|
|
heading_split.add_child(time)
|
|
|
|
|
|
|
|
|
|
var room:= Label.new()
|
|
|
|
|
room.theme_type_variation = "HeaderMedium"
|
|
|
|
|
match save.current_room:
|
|
|
|
|
State.rooms.MENU:
|
|
|
|
|
room.text = "Empty Slot"
|
|
|
|
|
State.rooms.DRAVEN:
|
|
|
|
|
room.text = "Intro Sequence"
|
|
|
|
|
State.rooms.YOUTH:
|
|
|
|
|
room.text = "Inside youth room."
|
|
|
|
|
State.rooms.TRANSITION_VOL:
|
|
|
|
|
room.text = "Transitioning to voluntary year."
|
|
|
|
|
State.rooms.VOLUNTARY:
|
|
|
|
|
room.text = "Exploring social service year."
|
|
|
|
|
State.rooms.TRANSITION_UNI:
|
|
|
|
|
room.text = "Transitioning to university."
|
|
|
|
|
State.rooms.UNIVERSITY:
|
|
|
|
|
room.text = "Exploring dorm room."
|
|
|
|
|
State.rooms.ENDING:
|
|
|
|
|
room.text = "Ending"
|
|
|
|
|
|
|
|
|
|
var state: = Label.new()
|
|
|
|
|
state.text = ("""
|
|
|
|
|
Mementos collected: 1/4
|
|
|
|
|
Connections found: 1/8
|
|
|
|
|
Secrets found: 1/4
|
|
|
|
|
""").strip_edges()
|
|
|
|
|
|
|
|
|
|
info.add_child(room)
|
|
|
|
|
info.add_child(state)
|
|
|
|
|
info.size_flags_vertical = Control.SIZE_SHRINK_CENTER
|
|
|
|
|
|
|
|
|
|
custom_minimum_size = base_container.get_combined_minimum_size() + Vector2(64, 32)
|
|
|
|
|
|
|
|
|
|
theme_type_variation = "SaveButton"
|