1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-10 13:00:37 +00:00

New reworked AnimatedSprite!

-New SpriteFrames editor, with support for drag&drop, multiple animation
sets, animation speed and loop.
-New AnimatedSprite, with support for all the new features!
AnimatedSprite3D has not been updated yet.
-Added support for drag&drop to other editors, such as resourcepreload,
sample library,  etc.
This commit is contained in:
Juan Linietsky
2016-05-14 23:48:23 -03:00
parent 7913e792ac
commit bed3efb17e
23 changed files with 1400 additions and 193 deletions

View File

@@ -36,6 +36,7 @@
#include "scene/2d/animated_sprite.h"
#include "scene/gui/file_dialog.h"
#include "scene/gui/dialogs.h"
#include "scene/gui/split_container.h"
class SpriteFramesEditor : public PanelContainer {
@@ -49,10 +50,18 @@ class SpriteFramesEditor : public PanelContainer {
Button *empty2;
Button *move_up;
Button *move_down;
Tree *tree;
ItemList *tree;
bool loading_scene;
int sel;
HSplitContainer *split;
Button *new_anim;
Button *remove_anim;
Tree *animations;
SpinBox *anim_speed;
CheckButton *anim_loop;
EditorFileDialog *file;
@@ -60,10 +69,11 @@ class SpriteFramesEditor : public PanelContainer {
SpriteFrames *frames;
StringName edited_anim;
void _load_pressed();
void _load_scene_pressed();
void _file_load_request(const DVector<String>& p_path);
void _file_load_request(const DVector<String>& p_path, int p_at_pos=-1);
void _paste_pressed();
void _empty_pressed();
void _empty2_pressed();
@@ -71,11 +81,27 @@ class SpriteFramesEditor : public PanelContainer {
void _delete_confirm_pressed();
void _up_pressed();
void _down_pressed();
void _update_library();
void _update_library(bool p_skip_selector=false);
void _item_edited();
void _animation_select();
void _animation_name_edited();
void _animation_add();
void _animation_remove();
void _animation_loop_changed();
void _animation_fps_changed(double p_value);
bool updating;
UndoRedo *undo_redo;
bool _is_drop_valid(const Dictionary& p_drag_data, const Dictionary& p_item_data) const;
Variant get_drag_data_fw(const Point2& p_point,Control* p_from);
bool can_drop_data_fw(const Point2& p_point,const Variant& p_data,Control* p_from) const;
void drop_data_fw(const Point2& p_point,const Variant& p_data,Control* p_from);
protected:
void _notification(int p_what);
void _input_event(InputEvent p_event);