paratate/systems/bullets/bullet_preset.gd

30 lines
941 B
GDScript

@tool
class_name BulletPreset
extends Resource
@export_group("Bullets")
@export var behavior: BulletBehavior = null
@export var base_graphics: Array[AnimationStrip] = []:
set(value):
base_graphics = value
if base_graphics.size() != overlay_graphics.size():
overlay_graphics.resize(base_graphics.size())
notify_property_list_changed()
@export var overlay_graphics: Array[AnimationStrip] = []:
set(value):
overlay_graphics = value
if base_graphics.size() != overlay_graphics.size():
overlay_graphics.resize(base_graphics.size())
notify_property_list_changed()
@export var colors: Array[Color] = [Color.WHITE]
@export var hitbox_size: Vector2i = Vector2i.ZERO
@export var face_direction: bool = false
@export_group("Spawning")
@export var pattern: BulletSpawnPattern = null
@export var rounds: int = 1
@export var round_delay: float = 0.0
@export_group("Bullet Set")
@export var set_behavior: BulletSetBehavior = null