You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-07 12:30:27 +00:00
Finish GUI for tile transform.
This commit is contained in:
@@ -734,7 +734,48 @@ void TileMapEditor::_update_transform_buttons(Object *p_button) {
|
|||||||
ERR_FAIL_NULL(p_button);
|
ERR_FAIL_NULL(p_button);
|
||||||
ToolButton *b=p_button->cast_to<ToolButton>();
|
ToolButton *b=p_button->cast_to<ToolButton>();
|
||||||
ERR_FAIL_COND(!b);
|
ERR_FAIL_COND(!b);
|
||||||
|
|
||||||
|
mirror_x->set_block_signals(true);
|
||||||
|
mirror_y->set_block_signals(true);
|
||||||
|
transpose->set_block_signals(true);
|
||||||
|
rotate_0->set_block_signals(true);
|
||||||
|
rotate_90->set_block_signals(true);
|
||||||
|
rotate_180->set_block_signals(true);
|
||||||
|
rotate_270->set_block_signals(true);
|
||||||
|
|
||||||
|
if (b == rotate_0) {
|
||||||
|
mirror_x->set_pressed(false);
|
||||||
|
mirror_y->set_pressed(false);
|
||||||
|
transpose->set_pressed(false);
|
||||||
|
}
|
||||||
|
else if (b == rotate_90) {
|
||||||
|
mirror_x->set_pressed(false);
|
||||||
|
mirror_y->set_pressed(true);
|
||||||
|
transpose->set_pressed(true);
|
||||||
|
}
|
||||||
|
else if (b == rotate_180) {
|
||||||
|
mirror_x->set_pressed(true);
|
||||||
|
mirror_y->set_pressed(true);
|
||||||
|
transpose->set_pressed(false);
|
||||||
|
}
|
||||||
|
else if (b == rotate_270) {
|
||||||
|
mirror_x->set_pressed(true);
|
||||||
|
mirror_y->set_pressed(false);
|
||||||
|
transpose->set_pressed(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
rotate_0->set_pressed(!mirror_x->is_pressed() && !mirror_y->is_pressed() && !transpose->is_pressed());
|
||||||
|
rotate_90->set_pressed(!mirror_x->is_pressed() && mirror_y->is_pressed() && transpose->is_pressed());
|
||||||
|
rotate_180->set_pressed(mirror_x->is_pressed() && mirror_y->is_pressed() && !transpose->is_pressed());
|
||||||
|
rotate_270->set_pressed(mirror_x->is_pressed() && !mirror_y->is_pressed() && transpose->is_pressed());
|
||||||
|
|
||||||
|
mirror_x->set_block_signals(false);
|
||||||
|
mirror_y->set_block_signals(false);
|
||||||
|
transpose->set_block_signals(false);
|
||||||
|
rotate_0->set_block_signals(false);
|
||||||
|
rotate_90->set_block_signals(false);
|
||||||
|
rotate_180->set_block_signals(false);
|
||||||
|
rotate_270->set_block_signals(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
TileMapEditor::TileMapEditor(EditorNode *p_editor) {
|
TileMapEditor::TileMapEditor(EditorNode *p_editor) {
|
||||||
@@ -802,7 +843,8 @@ TileMapEditor::TileMapEditor(EditorNode *p_editor) {
|
|||||||
rotate_270->connect("pressed", this, "_update_transform_buttons", make_binds(rotate_270));
|
rotate_270->connect("pressed", this, "_update_transform_buttons", make_binds(rotate_270));
|
||||||
canvas_item_editor_hb->add_child(rotate_270);
|
canvas_item_editor_hb->add_child(rotate_270);
|
||||||
canvas_item_editor_hb->hide();
|
canvas_item_editor_hb->hide();
|
||||||
|
|
||||||
|
rotate_0->set_pressed(true);
|
||||||
tool=TOOL_NONE;
|
tool=TOOL_NONE;
|
||||||
selection_active=false;
|
selection_active=false;
|
||||||
mouse_over=false;
|
mouse_over=false;
|
||||||
|
|||||||
Reference in New Issue
Block a user