ChocolateBird/test/battle_sprites.gd

54 lines
1.7 KiB
GDScript

extends Control
var PC := preload('res://PC.gd')
var PC_scene := preload('res://PC.tscn')
var PCs := []
var num_animations: int = len(PC.Battle_Anim)
func initialize() -> void:
# Clean up any existing
for scn in PCs:
remove_child(scn)
PCs.clear()
print('Initializing battle sprites debug scene')
# Make new sprites
var strips = len(SpriteLoader.strip_textures) # * 4 / 5
#var strip_divide = strips * 2 / 5
var strip_divide = strips * 1 / 5
var anim_id = $btn_anim_choice.get_selected_id()
for i in strips:
PCs.append(PC_scene.instance())
#PCs[-1].set_position(Vector2((i%strip_divide)*16, (i/strip_divide)*24*11))
PCs[-1].set_position(Vector2((i%strip_divide)*17, (i/strip_divide)*32))
PCs[-1].material.set_shader_param('palette', SpriteLoader.character_battle_sprite_palette_textures[i])
PCs[-1].texture = SpriteLoader.strip_textures[i]
PCs[-1].animation = anim_id
add_child(PCs[-1])
# PCs.append(PC.instance())
# PCs[-1].set_position(Vector2(0, 2*24*11))
# PCs[-1].material.set_shader_param('palette', SpriteLoader.character_battle_sprite_palette_textures[45])
# PCs[-1].texture = SpriteLoader.weapon_textures['Fist']
# add_child(PCs[-1])
func _ready() -> void:
initialize()
RomLoader.connect('rom_loaded', self, 'initialize') # Attempt to reload sprites if a new ROM is hot loaded
func _on_OptionButton_item_selected(ID):
for pc in PCs:
pc.animation = ID
func _on_btn_next_pressed():
var id = $btn_anim_choice.get_selected_id()
if id < num_animations-1:
$btn_anim_choice.select(id+1)
_on_OptionButton_item_selected(id+1)
func _on_btn_prev_pressed():
var id = $btn_anim_choice.get_selected_id()
if id > 0:
$btn_anim_choice.select(id-1)
_on_OptionButton_item_selected(id-1)