void TileMapEditor::edit(Node *p_tile_map) { if (!canvas_item_editor) { canvas_item_editor=CanvasItemEditor::get_singleton()->get_viewport_control(); } if (p_tile_map) { node=p_tile_map->cast_to<TileMap>(); if (!canvas_item_editor->is_connected("draw",this,"_canvas_draw")) canvas_item_editor->connect("draw",this,"_canvas_draw"); if (!canvas_item_editor->is_connected("mouse_enter",this,"_canvas_mouse_enter")) canvas_item_editor->connect("mouse_enter",this,"_canvas_mouse_enter"); if (!canvas_item_editor->is_connected("mouse_exit",this,"_canvas_mouse_exit")) canvas_item_editor->connect("mouse_exit",this,"_canvas_mouse_exit"); _update_palette(); } else { node=NULL; if (canvas_item_editor->is_connected("draw",this,"_canvas_draw")) canvas_item_editor->disconnect("draw",this,"_canvas_draw"); if (canvas_item_editor->is_connected("mouse_enter",this,"_canvas_mouse_enter")) canvas_item_editor->disconnect("mouse_enter",this,"_canvas_mouse_enter"); if (canvas_item_editor->is_connected("mouse_exit",this,"_canvas_mouse_exit")) canvas_item_editor->disconnect("mouse_exit",this,"_canvas_mouse_exit"); _update_palette(); } }
void TileMapEditor::_tileset_settings_changed() { _update_palette(); if (canvas_item_editor) canvas_item_editor->update(); }
void TileMapEditor::_set_display_mode(int p_mode) { if (display_mode == p_mode) { return; } switch (p_mode) { case DISPLAY_THUMBNAIL: { button_thumbnail->set_pressed(true); button_list->set_pressed(false); } break; case DISPLAY_LIST: { button_thumbnail->set_pressed(false); button_list->set_pressed(true); } break; } display_mode = p_mode; _update_palette(); }
void TileMapEditor::_pick_tile(const Point2& p_pos) { int id = node->get_cell(p_pos.x, p_pos.y); if (id==TileMap::INVALID_CELL) return; if (search_box->get_text().strip_edges() != "") { search_box->set_text(""); _update_palette(); } set_selected_tile(id); mirror_x->set_pressed(node->is_cell_x_flipped(p_pos.x, p_pos.y)); mirror_y->set_pressed(node->is_cell_y_flipped(p_pos.x, p_pos.y)); transp->set_pressed(node->is_cell_transposed(p_pos.x, p_pos.y)); _update_transform_buttons(); canvas_item_editor->update(); }
void TileMapEditor::_text_changed(const String& p_text) { _update_palette(); }
void TileMapEditor::_icon_size_changed(float p_value) { if (node) { palette->set_icon_scale(p_value); _update_palette(); } }