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 = [] # 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)