Implement achievement system: add achievement controller, UI components, and tests

This commit is contained in:
Kirill
2026-10-18 20:14:27 +03:00
parent e41d652631
commit e1782c7b10
8 changed files with 358 additions and 10 deletions
+6
View File
@@ -7,6 +7,7 @@ const SPEED_TEXTURE_NAME_TEMPLATE = "res://ui/topmenu/time&speed/time%s.png"
const ItemDescription = preload("res://world/owniverse/item_description.gd")
const WorldIndicators = preload("res://ui/indicators/world_indicators.gd")
var achievements: Node
var world_indicators: RefCounted
var indicator_elapsed: float = 0.0
var indicator_revision: int = -1
@@ -339,6 +340,10 @@ func _ready() -> void:
create_new_universe()
load_data()
_refresh_universe_ui()
achievements = preload("res://ui/achievements/achievement_controller.gd").new()
add_child(achievements)
achievements.initialize(self)
achievements.update(0.0)
g_counters.swipe.sec = 0.2
@@ -406,6 +411,7 @@ func _process(delta: float) -> void:
owniverse.evolute_frame(delta, get_tree())
_process_apocalypse(delta)
if achievements != null: achievements.update(delta)
clock_display_elapsed += delta
if clock_display_elapsed >= 0.1:
clock_display_elapsed = fmod(clock_display_elapsed, 0.1)