init
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
@tool
|
||||
extends "../base_inspector_dock.gd"
|
||||
|
||||
var sprite_frames_creator = preload("../../../creators/sprite_frames/sprite_frames_creator.gd").new()
|
||||
|
||||
func _setup():
|
||||
sprite_frames_creator.init(config)
|
||||
|
||||
|
||||
func _get_available_layers(global_source_path: String) -> Array:
|
||||
return sprite_frames_creator.list_layers(global_source_path)
|
||||
|
||||
|
||||
func _get_available_slices(global_source_path: String) -> Array:
|
||||
return sprite_frames_creator.list_slices(global_source_path)
|
||||
|
||||
|
||||
func _do_import():
|
||||
var root = get_tree().get_edited_scene_root()
|
||||
|
||||
var source_path = ProjectSettings.globalize_path(_source)
|
||||
var options = {
|
||||
"output_folder": _output_folder if _output_folder != "" else root.scene_file_path.get_base_dir(),
|
||||
"exception_pattern": _ex_pattern_field.text,
|
||||
"only_visible_layers": _visible_layers_field.button_pressed,
|
||||
"output_filename": _out_filename_field.text,
|
||||
"layer": _layer,
|
||||
}
|
||||
|
||||
_save_config()
|
||||
|
||||
var aseprite_output = _aseprite_file_exporter.generate_aseprite_file(source_path, options)
|
||||
|
||||
if not aseprite_output.is_ok:
|
||||
var error = result_code.get_error_message(aseprite_output.code)
|
||||
printerr(error)
|
||||
_show_message(error)
|
||||
return
|
||||
|
||||
file_system.scan()
|
||||
await file_system.filesystem_changed
|
||||
|
||||
sprite_frames_creator.create_animations(target_node, aseprite_output.content, { "slice": _slice })
|
||||
|
||||
_handle_cleanup(aseprite_output.content)
|
||||
@@ -0,0 +1,12 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://vej7yqkbtd5f"]
|
||||
|
||||
[ext_resource type="Script" path="res://addons/AsepriteWizard/interface/docks/animated_sprite/animated_sprite_inspector_dock.gd" id="1"]
|
||||
[ext_resource type="PackedScene" uid="uid://uxm7b02wry10" path="res://addons/AsepriteWizard/interface/docks/dock_fields.tscn" id="2_2ilip"]
|
||||
|
||||
[node name="animated_sprite_inspector_dock" type="PanelContainer"]
|
||||
offset_right = 14.0
|
||||
offset_bottom = 14.0
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="dock_fields" parent="." instance=ExtResource("2_2ilip")]
|
||||
layout_mode = 2
|
||||
@@ -0,0 +1,18 @@
|
||||
@tool
|
||||
extends EditorInspectorPlugin
|
||||
|
||||
const ASInspectorDock = preload("./animated_sprite_inspector_dock.tscn")
|
||||
|
||||
var config
|
||||
var file_system: EditorFileSystem
|
||||
|
||||
func _can_handle(object):
|
||||
return object is AnimatedSprite2D || object is AnimatedSprite3D
|
||||
|
||||
|
||||
func _parse_end(object):
|
||||
var dock = ASInspectorDock.instantiate()
|
||||
dock.target_node = object
|
||||
dock.config = config
|
||||
dock.file_system = file_system
|
||||
add_custom_control(dock)
|
||||
Reference in New Issue
Block a user