You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
724 B
GDScript

2 years ago
extends Node3D
class_name CharacterManager
var scene_player = preload("res://scene/character/player.tscn")
var scene_monster = preload("res://scene/character/monster.tscn")
var character_map = {}
var character_idx : int = 0
func create_character(cfg:CharacterCfg):
var characterNode:Node
match cfg.type:
Enum.ECharacterType.Player:
characterNode = scene_player.instantiate()
Enum.ECharacterType.Monster:
characterNode = scene_monster.instantiate()
add_child(characterNode)
characterNode.name = cfg.name
var character:Character = characterNode as Character
character_idx += 1
character_map[character_idx]=character
character.init(character_idx,cfg)
func get_character(id:int):
return character_map[id]