mirror of
https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
synced 2025-10-22 15:38:14 +00:00
added the game
This commit is contained in:
43
Scripts/UI/AchievementMenu.gd
Normal file
43
Scripts/UI/AchievementMenu.gd
Normal file
@@ -0,0 +1,43 @@
|
||||
class_name AchievementMenu
|
||||
extends Node
|
||||
|
||||
const ACHIEVEMENT_CONTAINER = ("uid://8wnmuhtwu8ib")
|
||||
|
||||
var total_unlocked := 0
|
||||
|
||||
static var unlocked_achievements := "0000000000000000000000000000"
|
||||
|
||||
func _ready() -> void:
|
||||
unlocked_achievements = Global.achievements
|
||||
spawn_achievement_containers()
|
||||
$BG/Border/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer.get_child(0).grab_focus()
|
||||
Global.get_node("GameHUD").hide()
|
||||
var percent = int((float(total_unlocked) / Global.achievements.length()) * 100)
|
||||
%Progress.text = str(percent) + "% "
|
||||
if percent == 100:
|
||||
%Progress.modulate = Color("FFB259")
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if Input.is_action_just_pressed("ui_back"):
|
||||
Global.transition_to_scene("res://Scenes/Levels/TitleScreen.tscn")
|
||||
|
||||
func spawn_achievement_containers() -> void:
|
||||
var idx := 0
|
||||
for i in Global.achievements:
|
||||
if Global.HIDDEN_ACHIEVEMENTS.has(idx) and Global.achievements[idx] == "0":
|
||||
idx += 1
|
||||
continue
|
||||
var container = load(ACHIEVEMENT_CONTAINER).instantiate()
|
||||
container.achievement_id = idx
|
||||
container.unlocked = i == "1" or Global.debug_mode
|
||||
if i == "1":
|
||||
total_unlocked += 1
|
||||
else:
|
||||
if $ProgressCalculators.has_node(str(idx)):
|
||||
container.total_needed = $ProgressCalculators.get_node(str(idx)).target_number
|
||||
container.progress = $ProgressCalculators.get_node(str(idx)).get_progress()
|
||||
$BG/Border/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer.add_child(container)
|
||||
idx += 1
|
||||
|
||||
func _exit_tree() -> void:
|
||||
Global.get_node("GameHUD").show()
|
Reference in New Issue
Block a user