From 9ae53b157c9dd9d5f8375422d3e9658041a8ab9e Mon Sep 17 00:00:00 2001 From: Relintai Date: Sun, 11 Aug 2019 15:29:32 +0200 Subject: [PATCH] Started cleaning up VoxelSurface. --- library/voxel_surface.cpp | 158 +++++++------------------------------- library/voxel_surface.h | 54 ++----------- 2 files changed, 34 insertions(+), 178 deletions(-) diff --git a/library/voxel_surface.cpp b/library/voxel_surface.cpp index 0cd1fc5..b329a60 100644 --- a/library/voxel_surface.cpp +++ b/library/voxel_surface.cpp @@ -7,85 +7,18 @@ void VoxelSurface::set_id(int value) { _id = value; } -Color VoxelSurface::get_voxel_color() const { - return _voxel_color; +int VoxelSurface::get_atlas_x() const { + return _atlas_x; } -void VoxelSurface::set_voxel_color(Color value) { - _voxel_color = value; +void VoxelSurface::set_atlas_x(int value) { + _atlas_x = value; } -int VoxelSurface::get_atlas_texture_id() const { - return _atlas_texture_id; +int VoxelSurface::get_atlas_y() const { + return _atlas_y; } -void VoxelSurface::set_atlas_texture_id(int value) { - _atlas_texture_id = value; -} - -bool VoxelSurface::has_face_color() const { - return false; -} - -int VoxelSurface::get_mesh_id() const { - return _mesh_id; -} -void VoxelSurface::set_mesh_id(int value) { - _mesh_id = value; -} - -Vector3 VoxelSurface::get_mesh_offset() const { - return _mesh_offset; -} -void VoxelSurface::set_mesh_offset(Vector3 value) { - _mesh_offset = value; -} - -int VoxelSurface::get_prefab_id() const { - return _prefab_id; -} -void VoxelSurface::set_prefab_id(int value) { - _prefab_id = value; -} - -Vector3 VoxelSurface::get_prefab_offset() const { - return _prefab_offset; -} -void VoxelSurface::set_prefab_offset(Vector3 value) { - _prefab_offset = value; -} - -Vector3 VoxelSurface::get_prefab_rotation() const { - return _prefab_rotation; -} -void VoxelSurface::set_prefab_rotation(Vector3 value) { - _prefab_rotation = value; -} - -bool VoxelSurface::get_light() const { - return _light; -} -void VoxelSurface::set_light(bool value) { - _light = value; -} - -float VoxelSurface::get_light_strength() const { - return _light_strength; -} -void VoxelSurface::set_light_strength(float value) { - _light_strength = value; -} - -Color VoxelSurface::get_light_color() const { - return _light_color; -} -void VoxelSurface::set_light_color(Color value) { - _light_color = value; -} - -Vector3 VoxelSurface::get_light_offset() const { - return _light_offset; -} -void VoxelSurface::set_light_offset(Vector3 value) { - _light_offset = value; +void VoxelSurface::set_atlas_y(int value) { + _atlas_y = value; } bool VoxelSurface::is_transparent() const { @@ -111,25 +44,25 @@ void VoxelSurface::set_library(Ref library) { } VoxelSurface::VoxelSurface() { - _id = -1; - _atlas_texture_id = 0; - _mesh_id = 0; - _prefab_id = 0; - _light = false; - _light_strength = 0; + _id = 0; + + _atlas_x = 0; + _atlas_y = 0; + + _is_transparent = false; } VoxelSurface::VoxelSurface(int id) { - _id = id; - _atlas_texture_id = 0; + _id = id; - _mesh_id = 0; - _prefab_id = 0; - _light = false; - _light_strength = 0; + _atlas_x = 0; + _atlas_y = 0; + + _is_transparent = false; } VoxelSurface::~VoxelSurface() { + _library.unref(); } void VoxelSurface::_bind_methods() { @@ -137,51 +70,16 @@ void VoxelSurface::_bind_methods() { ClassDB::bind_method(D_METHOD("set_id", "value"), &VoxelSurface::set_id); ADD_PROPERTY(PropertyInfo(Variant::INT, "id"), "set_id", "get_id"); - ClassDB::bind_method(D_METHOD("get_voxel_color"), &VoxelSurface::get_voxel_color); - ClassDB::bind_method(D_METHOD("set_voxel_color", "value"), &VoxelSurface::set_voxel_color); - ADD_PROPERTY(PropertyInfo(Variant::COLOR, "color"), "set_voxel_color", "get_voxel_color"); + //create an array + ClassDB::bind_method(D_METHOD("get_atlas_x"), &VoxelSurface::get_atlas_x); + ClassDB::bind_method(D_METHOD("set_atlas_x", "value"), &VoxelSurface::set_atlas_x); + ADD_PROPERTY(PropertyInfo(Variant::INT, "atlas_x"), "set_atlas_x", "get_atlas_x"); - ClassDB::bind_method(D_METHOD("get_atlas_texture_id"), &VoxelSurface::get_atlas_texture_id); - ClassDB::bind_method(D_METHOD("set_atlas_texture_id", "value"), &VoxelSurface::set_atlas_texture_id); - ADD_PROPERTY(PropertyInfo(Variant::INT, "atlas_texture_id"), "set_atlas_texture_id", "get_atlas_texture_id"); + ClassDB::bind_method(D_METHOD("get_atlas_y"), &VoxelSurface::get_atlas_y); + ClassDB::bind_method(D_METHOD("set_atlas_y", "value"), &VoxelSurface::set_atlas_y); + ADD_PROPERTY(PropertyInfo(Variant::INT, "atlas_y"), "set_atlas_y", "get_atlas_y"); - ClassDB::bind_method(D_METHOD("get_mesh_id"), &VoxelSurface::get_mesh_id); - ClassDB::bind_method(D_METHOD("set_mesh_id", "value"), &VoxelSurface::set_mesh_id); - ADD_PROPERTY(PropertyInfo(Variant::INT, "mesh_id"), "set_mesh_id", "get_mesh_id"); - - ClassDB::bind_method(D_METHOD("get_mesh_offset"), &VoxelSurface::get_mesh_offset); - ClassDB::bind_method(D_METHOD("set_mesh_offset", "value"), &VoxelSurface::set_mesh_offset); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "mesh_offset"), "set_mesh_offset", "get_mesh_offset"); - - ClassDB::bind_method(D_METHOD("get_prefab_id"), &VoxelSurface::get_prefab_id); - ClassDB::bind_method(D_METHOD("set_prefab_id", "value"), &VoxelSurface::set_prefab_id); - ADD_PROPERTY(PropertyInfo(Variant::INT, "prefab_id"), "set_prefab_id", "get_prefab_id"); - - ClassDB::bind_method(D_METHOD("get_prefab_offset"), &VoxelSurface::get_prefab_offset); - ClassDB::bind_method(D_METHOD("set_prefab_offset", "value"), &VoxelSurface::set_prefab_offset); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "prefab_offset"), "set_prefab_offset", "get_prefab_offset"); - - ClassDB::bind_method(D_METHOD("get_prefab_rotation"), &VoxelSurface::get_prefab_rotation); - ClassDB::bind_method(D_METHOD("set_prefab_rotation", "value"), &VoxelSurface::set_prefab_rotation); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "prefab_rotation"), "set_prefab_rotation", "get_prefab_rotation"); - - ClassDB::bind_method(D_METHOD("get_light"), &VoxelSurface::get_light); - ClassDB::bind_method(D_METHOD("set_light", "value"), &VoxelSurface::set_light); - ADD_PROPERTY(PropertyInfo(Variant::BOOL, "has_light"), "set_prefab_id", "get_light"); - - ClassDB::bind_method(D_METHOD("get_light_strength"), &VoxelSurface::get_light_strength); - ClassDB::bind_method(D_METHOD("set_light_strength", "value"), &VoxelSurface::set_light_strength); - ADD_PROPERTY(PropertyInfo(Variant::REAL, "light_strength"), "set_light_strength", "get_light_strength"); - - ClassDB::bind_method(D_METHOD("get_light_color"), &VoxelSurface::get_light_color); - ClassDB::bind_method(D_METHOD("set_light_color", "value"), &VoxelSurface::set_light_color); - ADD_PROPERTY(PropertyInfo(Variant::COLOR, "light_color"), "set_light_color", "get_light_color"); - - ClassDB::bind_method(D_METHOD("get_light_offset"), &VoxelSurface::get_light_offset); - ClassDB::bind_method(D_METHOD("set_light_offset", "value"), &VoxelSurface::set_light_offset); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "light_offset"), "set_light_offset", "get_light_offset"); - - ClassDB::bind_method(D_METHOD("set_transparent", "transparent"), &VoxelSurface::set_transparent, DEFVAL(true)); + ClassDB::bind_method(D_METHOD("set_transparent", "transparent"), &VoxelSurface::set_transparent, DEFVAL(false)); ClassDB::bind_method(D_METHOD("is_transparent"), &VoxelSurface::is_transparent); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "transparent"), "set_transparent", "is_transparent"); diff --git a/library/voxel_surface.h b/library/voxel_surface.h index fe71333..96bde7b 100644 --- a/library/voxel_surface.h +++ b/library/voxel_surface.h @@ -43,40 +43,11 @@ public: int get_id() const; void set_id(int value); - Color get_voxel_color() const; - void set_voxel_color(Color value); + int get_atlas_x() const; + void set_atlas_x(int value); - int get_atlas_texture_id() const; - void set_atlas_texture_id(int value); - - bool has_face_color() const; - - int get_mesh_id() const; - void set_mesh_id(int value); - - Vector3 get_mesh_offset() const; - void set_mesh_offset(Vector3 value); - - int get_prefab_id() const; - void set_prefab_id(int value); - - Vector3 get_prefab_offset() const; - void set_prefab_offset(Vector3 value); - - Vector3 get_prefab_rotation()const; - void set_prefab_rotation(Vector3 value); - - bool get_light() const; - void set_light(bool value); - - float get_light_strength() const; - void set_light_strength(float value); - - Color get_light_color() const; - void set_light_color(Color value); - - Vector3 get_light_offset() const; - void set_light_offset(Vector3 value); + int get_atlas_y() const; + void set_atlas_y(int value); bool is_transparent() const; void set_transparent(bool transparent); @@ -99,21 +70,8 @@ private: int _id; String _name; - Color _voxel_color; - int _atlas_texture_id; - - //These should probably be in a separate data class, which isn't going to be limited to 256 entries. - int _mesh_id; - Vector3 _mesh_offset; - - int _prefab_id; - Vector3 _prefab_offset; - Vector3 _prefab_rotation; - - bool _light; - float _light_strength; - Color _light_color; - Vector3 _light_offset; + int _atlas_x; + int _atlas_y; bool _is_transparent; };