35 lines
1.2 KiB
GDScript
35 lines
1.2 KiB
GDScript
class_name LevelUpChoice
|
|
extends PanelContainer
|
|
|
|
@export var player: Player
|
|
@export var mod: PlayerStatsModifier
|
|
|
|
signal lvlup_picked(mod: PlayerStatsModifier)
|
|
|
|
@onready var upgrade_name: Label = $MarginContainer/VBoxContainer/UpgradeName
|
|
@onready var upgrade_description: Label = $MarginContainer/VBoxContainer/UpgradeDescription
|
|
@onready var upgrade_tex: TextureRect = $MarginContainer/VBoxContainer/CenterContainer/UpgradeTex
|
|
|
|
func _ready() -> void:
|
|
match mod.rarity:
|
|
GlobalConst.ModRarity.NORMAL:
|
|
upgrade_name.add_theme_color_override("font_color", Color.WHITE)
|
|
GlobalConst.ModRarity.RARE:
|
|
upgrade_name.add_theme_color_override("font_color", Color.DODGER_BLUE)
|
|
GlobalConst.ModRarity.EPIC:
|
|
upgrade_name.add_theme_color_override("font_color", Color.DARK_ORCHID)
|
|
GlobalConst.ModRarity.LEGENDARY:
|
|
upgrade_name.add_theme_color_override("font_color", Color.DARK_ORANGE)
|
|
|
|
upgrade_name.text = mod.title
|
|
upgrade_description.text = mod.description
|
|
upgrade_tex.texture = mod.tex
|
|
|
|
|
|
func _on_pick_button_pressed() -> void:
|
|
player.modifiers.append(mod)
|
|
print_debug("player mods: %s" % len(player.modifiers))
|
|
Engine.time_scale = 1.0
|
|
lvlup_picked.emit(mod)
|
|
queue_free()
|