37 lines
716 B
GDScript
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
|