konkr_game_3d/scripts/Character.gd
ProgramSnail 5408d75267 init
2023-08-09 23:12:19 +03:00

39 lines
920 B
GDScript

extends Spatial
onready var animation_player = get_node("CharacterModel/AnimationPlayer")
onready var characters = [
get_node("CharacterModel/Rogue"),
get_node("CharacterModel/Worker"),
get_node("CharacterModel/Barbarian"),
get_node("CharacterModel/Knight"),
get_node("CharacterModel/Mage"),
]
export var ROGUE_LEVEL = 0
export var MAX_LEVEL = 4
var active = false
# character level, ROGUE_LEVEL for rogue
var level = 1
func set_character_visibility(character_is_visible : bool):
characters[level].visible = character_is_visible
func upgrade():
if level >= MAX_LEVEL: # MAX_LEVEL or special levels
return false
set_character_visibility(false)
level += 1
set_character_visibility(true)
return true
func became_rogue():
set_character_visibility(false)
level = ROGUE_LEVEL
set_character_visibility(true)
func _physics_process(_delta):
animation_player.play("Active" if active else "NotActive")