diff options
author | jacopograndi <jacopo.grandi@outlook.it> | 2022-01-14 13:06:22 +0100 |
---|---|---|
committer | jacopograndi <jacopo.grandi@outlook.it> | 2022-01-14 13:06:22 +0100 |
commit | ad8002a8aadd7f537ef1c1d6c47d48f9e13d2015 (patch) | |
tree | e07c243def4499b0d220429364d9b9a3f23c1453 /addons/voxel-core/classes/voxel_set.gd | |
parent | 4bfbf641dc2b8aca8de9f86a9908063f39bd6e31 (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/classes/voxel_set.gd')
-rw-r--r-- | addons/voxel-core/classes/voxel_set.gd | 234 |
1 files changed, 0 insertions, 234 deletions
diff --git a/addons/voxel-core/classes/voxel_set.gd b/addons/voxel-core/classes/voxel_set.gd deleted file mode 100644 index d0bccac..0000000 --- a/addons/voxel-core/classes/voxel_set.gd +++ /dev/null @@ -1,234 +0,0 @@ -tool -class_name VoxelSet, "res://addons/voxel-core/assets/classes/voxel_set.png" -extends Resource -# Library of Voxels used by VoxelObjects. - - - -## Signals -# Emitted on request_refresh -signal requested_refresh - - - -## Exported Variables -# Size of each tile in tiles in pixels -export var tile_size := Vector2(32.0, 32.0) setget set_tile_size - -# Texture used for tiles / uv mapping -export var tiles : Texture = null setget set_tiles - -# Materials used by voxels -export(Array, Material) var materials := [ - SpatialMaterial.new(), -] setget set_materials - - - -## Private Variables -# Voxels stored by their id -var _voxels := [] - -# Flag indicating whether _uv_scale, tile_size and tiles texture is set -var _uv_ready := false - -# World UV Scale, calculated on request_refresh -var _uv_scale := Vector2.ONE - - - -## Built-In Virtual Methods -func _get(property : String): - if property == "VOXELS": - return _voxels - - -func _set(property : String, value) -> bool: - if property == "VOXELS": - if typeof(value) == TYPE_DICTIONARY: - for key in value: - var voxel : Dictionary = value[key] - if voxel.has("vsn"): - Voxel.set_name(voxel, voxel["vsn"]) - voxel.erase("vsn") - _voxels.append(value[key]) - else: - _voxels = value - return true - return false - - -func _get_property_list(): - var properties = [] - - properties.append({ - "name": "VOXELS", - "type": TYPE_ARRAY, - "hint": PROPERTY_HINT_NONE, - "usage": PROPERTY_USAGE_STORAGE, - }) - - return properties - - - -## Public Methods -# Sets tile_size, calls on request_refresh by default -func set_tile_size(value : Vector2, refresh := true) -> void: - tile_size = Vector2( - floor(clamp(value.x, 1, 256)), - floor(clamp(value.y, 1, 256))) - - if refresh: - request_refresh() - - -# Sets tiles, calls on request_refresh by default -func set_tiles(value : Texture, refresh := true) -> void: - tiles = value - - if refresh: - request_refresh() - - -# Sets materials used by voxels in VoxelSet -func set_materials(values : Array, refresh := true) -> void: - for index in range(values.size()): - var material = values[index] - if is_instance_valid(material) and not (material is SpatialMaterial or material is ShaderMaterial): - printerr("VoxelSet : Expected Spatial or Shader material got " + str(material)) - values[index] = null - - if values.empty(): - materials.resize(1) - else: - materials = values - property_list_changed_notify() - - if refresh: - request_refresh() - - -# Returns VoxelSet material with id if present, otherwise returns null -func get_material(id : int) -> Material: - return materials[id] if id > -1 and id < materials.size() else null - - -# Returns number of voxels in VoxelSet -func size() -> int: - return _voxels.size() - - -# Returns true if VoxelSet has no voxels -func empty() -> bool: - return _voxels.empty() - - -# Returns true if VoxelSet has voxel with given id -func has_id(id : int) -> bool: - return id > -1 and id < _voxels.size() - - -# Returns true if VoxelSet has everything necessary for uv mapping -func uv_ready() -> bool: - return _uv_ready - - -# Returns the uv scale -func uv_scale() -> Vector2: - return _uv_scale - - -# Returns true if given id is valid -static func is_valid_id(id : int) -> bool: - return id > -1 - - -# Returns a list of all the voxel ids -# returns : Array<int> : contained voxel ids -func get_ids() -> Array: - return range(_voxels.size()) - - -# Returns name associated with the given id, returns a empty string if id isn't found -func id_to_name(id : int) -> String: - return Voxel.get_name(get_voxel(id)) - - -# Returns the id of the voxel with the given name, returns -1 if not found -func name_to_id(name : String) -> int: - name = name.to_lower() - for id in get_ids(): - if id_to_name(id) == name: - return id - return -1 - - -# Appends voxel to end of VoxelSet -func add_voxel(voxel : Dictionary) -> void: - _voxels.append(voxel) - - -# Sets the voxel at given id -func set_voxel(id : int, voxel : Dictionary) -> void: - if not has_id(id): - printerr("VoxelSet : given id `" + str(id) + "` is out of range") - return - - _voxels[id] = voxel - - -# Insert voxel with given id -func insert_voxel(id : int, voxel : Dictionary) -> void: - if id < -1 and id > _voxels.size(): - printerr("VoxelSet : given id `" + str(id) + "` is out of range") - return - - _voxels.insert(id, voxel) - - -# Replaces all _voxels -func set_voxels(voxels : Array) -> void: - _voxels = voxels - - -# Gets voxel Dictionary by their id, returns an empty Dictionary if not found -func get_voxel(id : int) -> Dictionary: - return _voxels[id] if has_id(id) else {} - - -# Erase voxel from VoxelSet -func erase_voxel(id : int) -> void: - _voxels.remove(id) - - -# Erases all voxels in VoxelSet -func erase_voxels() -> void: - _voxels.clear() - - -# Should be called when noticable changes have been committed to voxels. -# Emits requested_refresh, calculates _uv_scale and updates _uv_ready -func request_refresh() -> void: - _uv_ready = is_instance_valid(tiles) - if _uv_ready: - _uv_scale = Vector2.ONE / (tiles.get_size() / tile_size) - else: - _uv_scale = Vector2.ONE - emit_signal("requested_refresh") - - -# Loads file's content as voxels -# NOTE: Reference Reader.gd for valid file imports -# source_file : String : Path to file to be loaded -# return int : int : Error code -func load_file(source_file : String, append := false) -> int: - var read := Reader.read_file(source_file) - var error : int = read.get("error", FAILED) - if error == OK: - if append: - for voxel in read["palette"]: - add_voxel(voxel) - else: - set_voxels(read["palette"]) - return error |