aboutsummaryrefslogtreecommitdiff
path: root/addons/voxel-core/engine/voxel_set_editor
diff options
context:
space:
mode:
authorjacopograndi <jacopo.grandi@outlook.it>2022-01-14 13:06:22 +0100
committerjacopograndi <jacopo.grandi@outlook.it>2022-01-14 13:06:22 +0100
commitad8002a8aadd7f537ef1c1d6c47d48f9e13d2015 (patch)
treee07c243def4499b0d220429364d9b9a3f23c1453 /addons/voxel-core/engine/voxel_set_editor
parent4bfbf641dc2b8aca8de9f86a9908063f39bd6e31 (diff)
deleted: LICENSE
deleted: README.md deleted: addons/voxel-core/assets/classes/voxel.png deleted: addons/voxel-core/assets/classes/voxel.png.import deleted: addons/voxel-core/assets/classes/voxel_core.png deleted: addons/voxel-core/assets/classes/voxel_core.png.import deleted: addons/voxel-core/assets/classes/voxel_mesh.png deleted: addons/voxel-core/assets/classes/voxel_mesh.png.import deleted: addons/voxel-core/assets/classes/voxel_set.png deleted: addons/voxel-core/assets/classes/voxel_set.png.import deleted: addons/voxel-core/assets/classes/voxel_world.png deleted: addons/voxel-core/assets/classes/voxel_world.png.import deleted: addons/voxel-core/assets/controls/about.png deleted: addons/voxel-core/assets/controls/about.png.import deleted: addons/voxel-core/assets/controls/add.png deleted: addons/voxel-core/assets/controls/add.png.import deleted: addons/voxel-core/assets/controls/area.png deleted: addons/voxel-core/assets/controls/area.png.import deleted: addons/voxel-core/assets/controls/autosave.png deleted: addons/voxel-core/assets/controls/autosave.png.import deleted: addons/voxel-core/assets/controls/cancel.png deleted: addons/voxel-core/assets/controls/cancel.png.import deleted: addons/voxel-core/assets/controls/commit.png deleted: addons/voxel-core/assets/controls/commit.png.import deleted: addons/voxel-core/assets/controls/confirm.png deleted: addons/voxel-core/assets/controls/confirm.png.import deleted: addons/voxel-core/assets/controls/cursor.png deleted: addons/voxel-core/assets/controls/cursor.png.import deleted: addons/voxel-core/assets/controls/docs.png deleted: addons/voxel-core/assets/controls/docs.png.import deleted: addons/voxel-core/assets/controls/down.png deleted: addons/voxel-core/assets/controls/down.png.import deleted: addons/voxel-core/assets/controls/duplicate.png deleted: addons/voxel-core/assets/controls/duplicate.png.import deleted: addons/voxel-core/assets/controls/edit.png deleted: addons/voxel-core/assets/controls/edit.png.import deleted: addons/voxel-core/assets/controls/effects.png deleted: addons/voxel-core/assets/controls/effects.png.import deleted: addons/voxel-core/assets/controls/export.png deleted: addons/voxel-core/assets/controls/export.png.import deleted: addons/voxel-core/assets/controls/extrude.png deleted: addons/voxel-core/assets/controls/extrude.png.import deleted: addons/voxel-core/assets/controls/fill.png deleted: addons/voxel-core/assets/controls/fill.png.import deleted: addons/voxel-core/assets/controls/floor.png deleted: addons/voxel-core/assets/controls/floor.png.import deleted: addons/voxel-core/assets/controls/general.png deleted: addons/voxel-core/assets/controls/general.png.import deleted: addons/voxel-core/assets/controls/grid.png deleted: addons/voxel-core/assets/controls/grid.png.import deleted: addons/voxel-core/assets/controls/import.png deleted: addons/voxel-core/assets/controls/import.png.import deleted: addons/voxel-core/assets/controls/individual.png deleted: addons/voxel-core/assets/controls/individual.png.import deleted: addons/voxel-core/assets/controls/info.png deleted: addons/voxel-core/assets/controls/info.png.import deleted: addons/voxel-core/assets/controls/issues.png deleted: addons/voxel-core/assets/controls/issues.png.import deleted: addons/voxel-core/assets/controls/lock.png deleted: addons/voxel-core/assets/controls/lock.png.import deleted: addons/voxel-core/assets/controls/mirrorx.png deleted: addons/voxel-core/assets/controls/mirrorx.png.import deleted: addons/voxel-core/assets/controls/mirrory.png deleted: addons/voxel-core/assets/controls/mirrory.png.import deleted: addons/voxel-core/assets/controls/mirrorz.png deleted: addons/voxel-core/assets/controls/mirrorz.png.import deleted: addons/voxel-core/assets/controls/paint.png deleted: addons/voxel-core/assets/controls/paint.png.import deleted: addons/voxel-core/assets/controls/pan.png deleted: addons/voxel-core/assets/controls/pan.png.import deleted: addons/voxel-core/assets/controls/pick.png deleted: addons/voxel-core/assets/controls/pick.png.import deleted: addons/voxel-core/assets/controls/primary.png deleted: addons/voxel-core/assets/controls/primary.png.import deleted: addons/voxel-core/assets/controls/raw.png deleted: addons/voxel-core/assets/controls/raw.png.import deleted: addons/voxel-core/assets/controls/refresh.png deleted: addons/voxel-core/assets/controls/refresh.png.import deleted: addons/voxel-core/assets/controls/reset.png deleted: addons/voxel-core/assets/controls/reset.png.import deleted: addons/voxel-core/assets/controls/secondary.png deleted: addons/voxel-core/assets/controls/secondary.png.import deleted: addons/voxel-core/assets/controls/select.png deleted: addons/voxel-core/assets/controls/select.png.import deleted: addons/voxel-core/assets/controls/settings.png deleted: addons/voxel-core/assets/controls/settings.png.import deleted: addons/voxel-core/assets/controls/solid.png deleted: addons/voxel-core/assets/controls/solid.png.import deleted: addons/voxel-core/assets/controls/sub.png deleted: addons/voxel-core/assets/controls/sub.png.import deleted: addons/voxel-core/assets/controls/swap.png deleted: addons/voxel-core/assets/controls/swap.png.import deleted: addons/voxel-core/assets/controls/tools.png deleted: addons/voxel-core/assets/controls/tools.png.import deleted: addons/voxel-core/assets/controls/unlock.png deleted: addons/voxel-core/assets/controls/unlock.png.import deleted: addons/voxel-core/assets/controls/up.png deleted: addons/voxel-core/assets/controls/up.png.import deleted: addons/voxel-core/assets/controls/visible.png deleted: addons/voxel-core/assets/controls/visible.png.import deleted: addons/voxel-core/assets/controls/wired.png deleted: addons/voxel-core/assets/controls/wired.png.import deleted: addons/voxel-core/assets/logos/GitHub.png deleted: addons/voxel-core/assets/logos/GitHub.png.import deleted: addons/voxel-core/assets/logos/Godot.png deleted: addons/voxel-core/assets/logos/Godot.png.import deleted: addons/voxel-core/assets/logos/MagicaVoxel.png deleted: addons/voxel-core/assets/logos/MagicaVoxel.png.import deleted: addons/voxel-core/classes/reader.gd deleted: addons/voxel-core/classes/readers/gpl.gd deleted: addons/voxel-core/classes/readers/image.gd deleted: addons/voxel-core/classes/readers/vox.gd deleted: addons/voxel-core/classes/voxel.gd deleted: addons/voxel-core/classes/voxel_mesh.gd deleted: addons/voxel-core/classes/voxel_object.gd deleted: addons/voxel-core/classes/voxel_set.gd deleted: addons/voxel-core/classes/voxel_tool.gd deleted: addons/voxel-core/controls/tiles_viewer/tiles_viewer.gd deleted: addons/voxel-core/controls/tiles_viewer/tiles_viewer.tscn deleted: addons/voxel-core/controls/voxel_button/voxel_button.gd deleted: addons/voxel-core/controls/voxel_button/voxel_button.tscn deleted: addons/voxel-core/controls/voxel_set_viewer/voxel_set_viewer.gd deleted: addons/voxel-core/controls/voxel_set_viewer/voxel_set_viewer.tscn deleted: addons/voxel-core/controls/voxel_viewer/voxel_viewer.gd deleted: addons/voxel-core/controls/voxel_viewer/voxel_viewer.tscn deleted: addons/voxel-core/controls/voxel_viewer/voxel_viewer_env.tres deleted: addons/voxel-core/defaults/voxel_set.tres deleted: addons/voxel-core/engine/importers/meshes.gd deleted: addons/voxel-core/engine/importers/voxel_objects.gd deleted: addons/voxel-core/engine/importers/voxel_sets.gd deleted: addons/voxel-core/engine/voxel_object_editor/editor_selection/editor_selection.gd deleted: addons/voxel-core/engine/voxel_object_editor/editor_selection/editor_selections/area.gd deleted: addons/voxel-core/engine/voxel_object_editor/editor_selection/editor_selections/extrude.gd deleted: addons/voxel-core/engine/voxel_object_editor/editor_selection/editor_selections/individual.gd deleted: addons/voxel-core/engine/voxel_object_editor/editor_tool/editor_tool.gd deleted: addons/voxel-core/engine/voxel_object_editor/editor_tool/editor_tools/add.gd deleted: addons/voxel-core/engine/voxel_object_editor/editor_tool/editor_tools/fill.gd deleted: addons/voxel-core/engine/voxel_object_editor/editor_tool/editor_tools/pick.gd deleted: addons/voxel-core/engine/voxel_object_editor/editor_tool/editor_tools/sub.gd deleted: addons/voxel-core/engine/voxel_object_editor/editor_tool/editor_tools/swap.gd deleted: addons/voxel-core/engine/voxel_object_editor/voxel_cursor/voxel_cursor.gd deleted: addons/voxel-core/engine/voxel_object_editor/voxel_grid/voxel_grid.gd deleted: addons/voxel-core/engine/voxel_object_editor/voxel_object_editor.gd deleted: addons/voxel-core/engine/voxel_object_editor/voxel_object_editor.tscn deleted: addons/voxel-core/engine/voxel_set_editor/voxel_set_editor.gd deleted: addons/voxel-core/engine/voxel_set_editor/voxel_set_editor.tscn deleted: addons/voxel-core/plugin.cfg deleted: addons/voxel-core/voxel-core.gd deleted: models/attach.mtl deleted: models/attach.obj deleted: models/attach.obj.import deleted: models/cube.mtl deleted: models/cube.obj deleted: models/cube.obj.import deleted: models/pointer.mtl deleted: models/pointer.obj deleted: models/pointer.obj.import deleted: models/shapes/Enemy.material deleted: models/shapes/T.glb deleted: models/shapes/T.glb.import deleted: models/shapes/aT.glb deleted: models/shapes/aT.glb.import deleted: models/shapes/aaT.glb deleted: models/shapes/aaT.glb.import deleted: models/shapes/aaaT.glb deleted: models/shapes/aaaT.glb.import deleted: models/shapes/aasT.glb deleted: models/shapes/aasT.glb.import deleted: models/shapes/asT.glb deleted: models/shapes/asT.glb.import deleted: models/shapes/cube.mtl deleted: models/shapes/daT.glb deleted: models/shapes/daT.glb.import deleted: models/shapes/daaT.glb deleted: models/shapes/daaT.glb.import deleted: models/shapes/daaaT.glb deleted: models/shapes/daaaT.glb.import deleted: models/shapes/daasT.glb deleted: models/shapes/daasT.glb.import deleted: models/shapes/dasT.glb deleted: models/shapes/dasT.glb.import deleted: models/shapes/dkT.glb deleted: models/shapes/dkT.glb.import deleted: models/shapes/dkaT.glb deleted: models/shapes/dkaT.glb.import deleted: models/shapes/dkdaT.glb deleted: models/shapes/dkdaT.glb.import deleted: models/shapes/dkdaaT.glb deleted: models/shapes/dkdaaT.glb.import deleted: models/shapes/dkdasT.glb deleted: models/shapes/dkdasT.glb.import deleted: models/shapes/dkdsT.glb deleted: models/shapes/dkdsT.glb.import deleted: models/shapes/dksT.glb deleted: models/shapes/dksT.glb.import deleted: models/shapes/dodecahedron.mtl deleted: models/shapes/dsT.glb deleted: models/shapes/dsT.glb.import deleted: models/shapes/dsaT.glb deleted: models/shapes/dsaT.glb.import deleted: models/shapes/dssT.glb deleted: models/shapes/dssT.glb.import deleted: models/shapes/icosahedron.mtl deleted: models/shapes/kT.glb deleted: models/shapes/kT.glb.import deleted: models/shapes/kaT.glb deleted: models/shapes/kaT.glb.import deleted: models/shapes/kdaT.glb deleted: models/shapes/kdaT.glb.import deleted: models/shapes/kdaaT.glb deleted: models/shapes/kdaaT.glb.import deleted: models/shapes/kdasT.glb deleted: models/shapes/kdasT.glb.import deleted: models/shapes/kdsT.glb deleted: models/shapes/kdsT.glb.import deleted: models/shapes/ksT.glb deleted: models/shapes/ksT.glb.import deleted: models/shapes/octahedron.mtl deleted: models/shapes/sT.glb deleted: models/shapes/sT.glb.import deleted: models/shapes/saT.glb deleted: models/shapes/saT.glb.import deleted: models/shapes/sphere.mtl deleted: models/shapes/ssT.glb deleted: models/shapes/ssT.glb.import deleted: models/shapes/tetrahedron.mtl deleted: models/turrets/GunMat.material deleted: models/turrets/MountMat.material deleted: models/turrets/laser.glb deleted: models/turrets/laser.glb.import deleted: models/turrets/laser1.mtl deleted: models/turrets/plastic.glb deleted: models/turrets/plastic.glb.import deleted: models/turrets/shotgun.glb deleted: models/turrets/shotgun.glb.import deleted: models/turrets/slower.glb deleted: models/turrets/slower.glb.import deleted: models/turrets/sniper.glb deleted: models/turrets/sniper.glb.import deleted: models/turrets/structI.glb deleted: models/turrets/structI.glb.import deleted: models/turrets/structT.glb deleted: models/turrets/structT.glb.import deleted: models/turrets/structX.glb deleted: models/turrets/structX.glb.import
Diffstat (limited to 'addons/voxel-core/engine/voxel_set_editor')
-rw-r--r--addons/voxel-core/engine/voxel_set_editor/voxel_set_editor.gd210
-rw-r--r--addons/voxel-core/engine/voxel_set_editor/voxel_set_editor.tscn256
2 files changed, 0 insertions, 466 deletions
diff --git a/addons/voxel-core/engine/voxel_set_editor/voxel_set_editor.gd b/addons/voxel-core/engine/voxel_set_editor/voxel_set_editor.gd
deleted file mode 100644
index 53acba2..0000000
--- a/addons/voxel-core/engine/voxel_set_editor/voxel_set_editor.gd
+++ /dev/null
@@ -1,210 +0,0 @@
-tool
-extends ScrollContainer
-
-
-
-## Signals
-# Emited when editor needs closing
-signal close
-
-
-
-## Exported Variables
-export(Resource) var voxel_set = null setget set_voxel_set
-
-
-
-## Public Variables
-var undo_redo : UndoRedo
-
-
-
-## Private Variables
-var import_file_path := ""
-
-
-
-## OnReady Variables
-onready var ImportMenu := get_node("HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer/Import/ImportFile")
-
-onready var ImportHow := get_node("HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer/Import/ImportHow")
-
-onready var VoxelSetInfo := get_node("HBoxContainer/VBoxContainer/VoxelSetInfo")
-
-onready var VoxelInfo := get_node("HBoxContainer/VBoxContainer/VoxelInfo")
-
-onready var VoxelID := get_node("HBoxContainer/VBoxContainer/VoxelInfo/HBoxContainer/VoxelID")
-
-onready var VoxelName := get_node("HBoxContainer/VBoxContainer/VoxelInfo/HBoxContainer/VoxelName")
-
-onready var VoxelData := get_node("HBoxContainer/VBoxContainer/VoxelInfo/VoxelData")
-
-onready var VoxelSetViewer := get_node("HBoxContainer/VBoxContainer2/VoxelSetViewer")
-
-onready var VoxelInspector := get_node("HBoxContainer/VoxelInspector")
-
-onready var VoxelViewer := get_node("HBoxContainer/VoxelInspector/VoxelViewer")
-
-
-
-## Built-In Virtual Methods
-func _ready():
- set_voxel_set(voxel_set)
-
- if not is_instance_valid(undo_redo):
- undo_redo = UndoRedo.new()
- VoxelSetViewer.undo_redo = undo_redo
- VoxelViewer.undo_redo = undo_redo
-
-
-
-## Public Methods
-func set_voxel_set(value : Resource, update := true) -> void:
- if not typeof(voxel_set) == TYPE_NIL and not voxel_set is VoxelSet:
- printerr("VoxelSetEditor : Invalid Resource given expected VoxelSet")
- return
-
- if is_instance_valid(voxel_set):
- if voxel_set.is_connected("requested_refresh", self, "update_view"):
- voxel_set.disconnect("requested_refresh", self, "update_view")
-
- voxel_set = value
- if is_instance_valid(voxel_set):
- if not voxel_set.is_connected("requested_refresh", self, "update_view"):
- voxel_set.connect("requested_refresh", self, "update_view")
- if is_instance_valid(VoxelSetViewer):
- VoxelSetViewer.voxel_set = voxel_set
-
- if update:
- update_view()
-
-
-func update_view() -> void:
- if is_instance_valid(voxel_set):
- if is_instance_valid(VoxelSetInfo):
- VoxelSetInfo.text = "Voxels:\t\t" + str(voxel_set.size())
- VoxelSetInfo.text += "\nUV Ready:\t" + str(voxel_set.uv_ready())
-
- if is_instance_valid(VoxelSetViewer):
- var editing_single : bool = VoxelSetViewer.get_selected_size() == 1
- VoxelSetInfo.size_flags_vertical = Container.SIZE_FILL if editing_single else Container.SIZE_EXPAND_FILL
- VoxelInfo.visible = editing_single
- VoxelInspector.visible = editing_single
-
- if editing_single:
- var id = VoxelSetViewer.get_selected(0)
-
- VoxelID.text = str(id)
- VoxelName.text = voxel_set.id_to_name(id)
- VoxelData.text = var2str(voxel_set.get_voxel(id))
-
- VoxelViewer.setup(voxel_set, id)
- else:
- if not is_instance_valid(VoxelSetInfo):
- return
- VoxelSetInfo.text = ""
-
-
-# Show import menu centered
-func show_import_menu() -> void:
- ImportMenu.popup_centered()
-
-
-# Hide import menu
-func hide_import_menu() -> void:
- ImportMenu.hide()
-
-
-# Show import how centered
-func show_import_how():
- ImportHow.popup_centered()
-
-
-# Hide import how
-func hide_import_how():
- ImportHow.hide()
-
-
-
-## Private Methods
-func _on_Refresh_pressed():
- voxel_set.request_refresh()
-
-
-func _on_Import_file_selected(path):
- import_file_path = path
- show_import_how()
-
-
-func _on_Import_Append_pressed():
- var result = voxel_set.load_file(import_file_path, true)
- if result == OK:
- voxel_set.request_refresh()
- else:
- printerr(result)
- hide_import_how()
-
-
-func _on_Import_Replace_pressed():
- var result = voxel_set.load_file(import_file_path, false)
- if result == OK:
- voxel_set.request_refresh()
- else:
- printerr(result)
- hide_import_how()
-
-
-func _on_Close_pressed():
- emit_signal("close")
-
-
-func _on_VoxelID_text_entered(new_id):
- if not new_id.is_valid_integer():
- return
- new_id = new_id.to_int()
- if new_id == VoxelSetViewer.get_selected(0):
- return
- elif new_id <= -1 or new_id >= voxel_set.size():
- return
-
- var id = VoxelSetViewer.get_selected(0)
- var voxel = voxel_set.get_voxel(id)
- undo_redo.create_action("VoxelSetEditor : Set voxel id")
- undo_redo.add_do_method(voxel_set, "erase_voxel", id)
- undo_redo.add_undo_method(voxel_set, "insert_voxel", id, voxel)
- undo_redo.add_do_method(voxel_set, "insert_voxel", new_id, voxel)
- undo_redo.add_undo_method(voxel_set, "erase_voxel", new_id)
- undo_redo.add_do_method(voxel_set, "request_refresh")
- undo_redo.add_undo_method(voxel_set, "request_refresh")
- undo_redo.commit_action()
- VoxelSetViewer.unselect_all()
- VoxelSetViewer.select(new_id)
-
-
-func _on_VoxelName_text_entered(new_name : String):
- var voxel_id = VoxelSetViewer.get_selected(0)
- var voxel = voxel_set.get_voxel(voxel_id)
- if new_name == Voxel.get_name(voxel):
- return
-
- var _voxel = voxel.duplicate(true)
- if new_name.empty():
- undo_redo.create_action("VoxelSetEditor : Remove voxel name")
- Voxel.remove_name(_voxel)
- else:
- undo_redo.create_action("VoxelSetEditor : Set voxel name")
- Voxel.set_name(_voxel, new_name)
- Voxel.clean(_voxel)
- undo_redo.add_do_method(voxel_set, "set_voxel", voxel_id, _voxel)
- undo_redo.add_undo_method(voxel_set, "set_voxel", voxel_id, voxel)
- undo_redo.add_do_method(voxel_set, "request_refresh")
- undo_redo.add_undo_method(voxel_set, "request_refresh")
- undo_redo.commit_action()
-
-
-func _on_VoxelSetViewer_selected(voxel_id : int):
- update_view()
-
-
-func _on_VoxelSetViewer_unselected(voxel_id : int):
- update_view()
diff --git a/addons/voxel-core/engine/voxel_set_editor/voxel_set_editor.tscn b/addons/voxel-core/engine/voxel_set_editor/voxel_set_editor.tscn
deleted file mode 100644
index b70f995..0000000
--- a/addons/voxel-core/engine/voxel_set_editor/voxel_set_editor.tscn
+++ /dev/null
@@ -1,256 +0,0 @@
-[gd_scene load_steps=5 format=2]
-
-[ext_resource path="res://addons/voxel-core/controls/voxel_set_viewer/voxel_set_viewer.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/voxel-core/controls/voxel_viewer/voxel_viewer.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/voxel-core/engine/voxel_set_editor/voxel_set_editor.gd" type="Script" id=3]
-[ext_resource path="res://addons/voxel-core/assets/classes/voxel_set.png" type="Texture" id=4]
-
-[node name="VoxelSetEditor" type="ScrollContainer"]
-anchor_right = 1.0
-margin_bottom = 200.0
-rect_min_size = Vector2( 0, 200 )
-follow_focus = true
-scroll_vertical_enabled = false
-script = ExtResource( 3 )
-__meta__ = {
-"_edit_use_anchors_": false
-}
-
-[node name="HBoxContainer" type="HBoxContainer" parent="."]
-margin_right = 1024.0
-margin_bottom = 200.0
-size_flags_horizontal = 3
-size_flags_vertical = 3
-
-[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer"]
-margin_right = 300.0
-margin_bottom = 200.0
-rect_min_size = Vector2( 300, 0 )
-size_flags_vertical = 3
-
-[node name="HBoxContainer" type="HBoxContainer" parent="HBoxContainer/VBoxContainer"]
-margin_right = 300.0
-margin_bottom = 20.0
-
-[node name="TextureRect" type="TextureRect" parent="HBoxContainer/VBoxContainer/HBoxContainer"]
-margin_right = 16.0
-margin_bottom = 20.0
-size_flags_vertical = 3
-texture = ExtResource( 4 )
-stretch_mode = 4
-
-[node name="Label" type="Label" parent="HBoxContainer/VBoxContainer/HBoxContainer"]
-margin_left = 20.0
-margin_top = 3.0
-margin_right = 75.0
-margin_bottom = 17.0
-text = "VoxelSet"
-
-[node name="HBoxContainer" type="HBoxContainer" parent="HBoxContainer/VBoxContainer/HBoxContainer"]
-margin_left = 79.0
-margin_right = 300.0
-margin_bottom = 20.0
-size_flags_horizontal = 3
-alignment = 2
-
-[node name="Import" type="Button" parent="HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer"]
-margin_left = 50.0
-margin_right = 106.0
-margin_bottom = 20.0
-hint_tooltip = "Import voxels from file"
-text = "Import"
-
-[node name="ImportFile" type="FileDialog" parent="HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer/Import"]
-margin_right = 315.0
-margin_bottom = 130.0
-rect_min_size = Vector2( 400, 300 )
-window_title = "Open a File"
-resizable = true
-mode = 0
-filters = PoolStringArray( "*.vox ; VOX Files", "*.png, *.bmp, *.dds, *.exr, *.hdr, *.jpg, *.jpeg, *.tga, *.svg, *.svgz, *.webp; Image Files", "*.gpl; GIMP Palette" )
-
-[node name="ImportHow" type="PopupDialog" parent="HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer/Import"]
-margin_right = 40.0
-margin_bottom = 40.0
-rect_min_size = Vector2( 325, 100 )
-__meta__ = {
-"_edit_use_anchors_": false
-}
-
-[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer/Import/ImportHow"]
-anchor_right = 1.0
-anchor_bottom = 1.0
-size_flags_horizontal = 3
-size_flags_vertical = 3
-
-[node name="Label" type="Label" parent="HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer/Import/ImportHow/VBoxContainer"]
-margin_top = 17.0
-margin_right = 325.0
-margin_bottom = 31.0
-size_flags_horizontal = 3
-size_flags_vertical = 6
-text = "How to import voxels to VoxelSet?"
-align = 1
-valign = 1
-
-[node name="HBoxContainer" type="HBoxContainer" parent="HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer/Import/ImportHow/VBoxContainer"]
-margin_top = 52.0
-margin_right = 325.0
-margin_bottom = 100.0
-size_flags_horizontal = 3
-size_flags_vertical = 3
-alignment = 1
-
-[node name="Append" type="Button" parent="HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer/Import/ImportHow/VBoxContainer/HBoxContainer"]
-margin_left = 70.0
-margin_top = 14.0
-margin_right = 131.0
-margin_bottom = 34.0
-size_flags_horizontal = 4
-size_flags_vertical = 4
-text = "Append"
-
-[node name="Replace" type="Button" parent="HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer/Import/ImportHow/VBoxContainer/HBoxContainer"]
-margin_left = 135.0
-margin_top = 14.0
-margin_right = 197.0
-margin_bottom = 34.0
-size_flags_horizontal = 4
-size_flags_vertical = 4
-text = "Replace"
-
-[node name="Cancel" type="Button" parent="HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer/Import/ImportHow/VBoxContainer/HBoxContainer"]
-margin_left = 201.0
-margin_top = 14.0
-margin_right = 255.0
-margin_bottom = 34.0
-size_flags_horizontal = 4
-size_flags_vertical = 4
-text = "Cancel"
-
-[node name="Refresh" type="Button" parent="HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer"]
-margin_left = 110.0
-margin_right = 170.0
-margin_bottom = 20.0
-hint_tooltip = "Request refresh from all connected objects"
-text = "Refresh"
-
-[node name="Close" type="Button" parent="HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer"]
-margin_left = 174.0
-margin_right = 221.0
-margin_bottom = 20.0
-hint_tooltip = "Close the VoxelSetEditor"
-text = "Close"
-
-[node name="VoxelSetInfo" type="RichTextLabel" parent="HBoxContainer/VBoxContainer"]
-margin_top = 24.0
-margin_right = 300.0
-margin_bottom = 200.0
-rect_min_size = Vector2( 0, 50 )
-size_flags_vertical = 3
-
-[node name="VoxelInfo" type="VBoxContainer" parent="HBoxContainer/VBoxContainer"]
-visible = false
-margin_top = 114.0
-margin_right = 300.0
-margin_bottom = 200.0
-size_flags_vertical = 3
-
-[node name="HBoxContainer" type="HBoxContainer" parent="HBoxContainer/VBoxContainer/VoxelInfo"]
-margin_right = 300.0
-margin_bottom = 24.0
-
-[node name="Label" type="Label" parent="HBoxContainer/VBoxContainer/VoxelInfo/HBoxContainer"]
-margin_top = 5.0
-margin_right = 19.0
-margin_bottom = 19.0
-text = "ID:"
-
-[node name="VoxelID" type="LineEdit" parent="HBoxContainer/VBoxContainer/VoxelInfo/HBoxContainer"]
-margin_left = 23.0
-margin_right = 81.0
-margin_bottom = 24.0
-hint_tooltip = "Enter to change id"
-
-[node name="Label2" type="Label" parent="HBoxContainer/VBoxContainer/VoxelInfo/HBoxContainer"]
-margin_left = 85.0
-margin_top = 5.0
-margin_right = 127.0
-margin_bottom = 19.0
-text = "Name:"
-
-[node name="VoxelName" type="LineEdit" parent="HBoxContainer/VBoxContainer/VoxelInfo/HBoxContainer"]
-margin_left = 131.0
-margin_right = 300.0
-margin_bottom = 24.0
-hint_tooltip = "Enter to change name"
-size_flags_horizontal = 3
-placeholder_text = "Enter name..."
-
-[node name="VoxelData" type="RichTextLabel" parent="HBoxContainer/VBoxContainer/VoxelInfo"]
-margin_top = 28.0
-margin_right = 300.0
-margin_bottom = 86.0
-size_flags_vertical = 3
-
-[node name="HSplitContainer" type="VSeparator" parent="HBoxContainer"]
-margin_left = 304.0
-margin_right = 308.0
-margin_bottom = 200.0
-
-[node name="VBoxContainer2" type="VBoxContainer" parent="HBoxContainer"]
-margin_left = 312.0
-margin_right = 1024.0
-margin_bottom = 200.0
-size_flags_horizontal = 3
-size_flags_vertical = 3
-
-[node name="VoxelSetViewer" parent="HBoxContainer/VBoxContainer2" instance=ExtResource( 1 )]
-anchor_right = 0.0
-anchor_bottom = 0.0
-margin_right = 712.0
-margin_bottom = 200.0
-size_flags_horizontal = 7
-size_flags_vertical = 3
-search = ""
-allow_edit = true
-selection_max = -1
-show_hints = true
-voxel_set = null
-
-[node name="VoxelInspector" type="HBoxContainer" parent="HBoxContainer"]
-visible = false
-margin_left = 684.0
-margin_right = 1024.0
-margin_bottom = 200.0
-
-[node name="HSplitContainer2" type="VSeparator" parent="HBoxContainer/VoxelInspector"]
-margin_right = 4.0
-margin_bottom = 200.0
-
-[node name="VoxelViewer" parent="HBoxContainer/VoxelInspector" instance=ExtResource( 2 )]
-anchor_right = 0.0
-anchor_bottom = 0.0
-margin_left = 8.0
-margin_right = 340.0
-margin_bottom = 200.0
-rect_min_size = Vector2( 332, 200 )
-size_flags_horizontal = 0
-size_flags_vertical = 4
-selection_max = 6
-allow_edit = true
-view_mode = 1
-camera_sensitivity = 8
-voxel_id = 0
-voxel_set = null
-[connection signal="pressed" from="HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer/Import" to="." method="show_import_menu"]
-[connection signal="file_selected" from="HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer/Import/ImportFile" to="." method="_on_Import_file_selected"]
-[connection signal="pressed" from="HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer/Import/ImportHow/VBoxContainer/HBoxContainer/Append" to="." method="_on_Import_Append_pressed"]
-[connection signal="pressed" from="HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer/Import/ImportHow/VBoxContainer/HBoxContainer/Replace" to="." method="_on_Import_Replace_pressed"]
-[connection signal="pressed" from="HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer/Import/ImportHow/VBoxContainer/HBoxContainer/Cancel" to="." method="hide_import_how"]
-[connection signal="pressed" from="HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer/Refresh" to="." method="_on_Refresh_pressed"]
-[connection signal="pressed" from="HBoxContainer/VBoxContainer/HBoxContainer/HBoxContainer/Close" to="." method="_on_Close_pressed"]
-[connection signal="text_entered" from="HBoxContainer/VBoxContainer/VoxelInfo/HBoxContainer/VoxelID" to="." method="_on_VoxelID_text_entered"]
-[connection signal="text_entered" from="HBoxContainer/VBoxContainer/VoxelInfo/HBoxContainer/VoxelName" to="." method="_on_VoxelName_text_entered"]
-[connection signal="selected_voxel" from="HBoxContainer/VBoxContainer2/VoxelSetViewer" to="." method="_on_VoxelSetViewer_selected"]
-[connection signal="unselected_voxel" from="HBoxContainer/VBoxContainer2/VoxelSetViewer" to="." method="_on_VoxelSetViewer_unselected"]