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.
50 lines
1.5 KiB
GDScript
50 lines
1.5 KiB
GDScript
extends Resource
|
|
class_name CharacterCfg
|
|
|
|
#基本信息
|
|
@export var name: String
|
|
@export var type: Enum.ECharacterType
|
|
#动画
|
|
@export var sprite_frames: SpriteFrames
|
|
@export var sprite_harf_height: int
|
|
@export var sprite_width: int
|
|
#基本组件
|
|
@export var move: CharacterMoveCfg
|
|
@export var shield: ShieldCfg
|
|
@export var stun: StunCfg
|
|
@export var mp: MpCfg
|
|
#战斗信息
|
|
@export var hp_max: float
|
|
@export var attack: float
|
|
#自带技能参数
|
|
@export var attack1: AttackCfg
|
|
@export var attack1_box: AttackBoxCfg
|
|
@export var attack2: AttackCfg
|
|
@export var attack2_box: AttackBoxCfg
|
|
@export var sub_character: CharacterCfg
|
|
|
|
|
|
func get_attack1()->AttackCfg: return attack1 if attack1 else ResourceManager.cfg_attack_normal
|
|
|
|
|
|
func get_attack1_box()->AttackBoxCfg: return attack1_box if attack1_box else ResourceManager.cfg_attack_box_normal
|
|
|
|
|
|
func get_attack2()->AttackCfg: return attack2 if attack2 else ResourceManager.cfg_attack_normal
|
|
|
|
|
|
func get_attack2_box()->AttackBoxCfg: return attack2_box if attack2_box else ResourceManager.cfg_attack_box_normal
|
|
|
|
func get_particle()->Resource:
|
|
var res_name: String = Util.get_resource_name(self)
|
|
var path_default: String = "res://scene/effect/particle/%s.tscn" % res_name
|
|
if ResourceLoader.exists(path_default):
|
|
return load(path_default)
|
|
return null
|
|
|
|
func get_ai()->PackedScene:
|
|
var res_name: String = Util.get_resource_name(self)
|
|
var path_default: String = "res://scene/ai/%s.tscn" % res_name
|
|
if ResourceLoader.exists(path_default):
|
|
return load(path_default) as PackedScene
|
|
return null |