3d-printing-simulator-textb.../player_data.gd

37 lines
716 B
GDScript

extends Node
@export var xp: float = 0:
set(value):
xp = value
xp_changed.emit(xp)
@export var money: float = 500:
set(value):
money = value
money_changed.emit(money)
@export var level: int = 0:
set(value):
level = value
level_changed.emit(level)
signal xp_changed(new_xp)
signal money_changed(new_money)
signal level_changed(new_level)
signal give_experience(xp_amount)
signal give_money(money_amount)
func _ready() -> void:
give_experience.connect(_on_give_experience)
give_money.connect(_on_give_money)
func _on_give_experience(amount: float) -> void:
xp += amount
if xp >= 100:
while xp >= 100:
level += 1
xp -= 100
func _on_give_money(amount: float) -> void:
money += amount