godot_voxel/register_types.cpp

78 lines
2.2 KiB
C++
Raw Normal View History

#include "register_types.h"
#include "meshers/blocky/voxel_mesher_blocky.h"
#include "meshers/dmc/voxel_mesher_dmc.h"
#include "meshers/mc/voxel_mesher_mc.h"
#include "meshers/transvoxel/voxel_mesher_transvoxel.h"
#include "streams/voxel_stream_block_files.h"
#include "streams/voxel_stream_file.h"
#include "streams/voxel_stream_heightmap.h"
2019-05-25 08:16:03 -07:00
#include "streams/voxel_stream_image.h"
#include "streams/voxel_stream_noise.h"
2020-01-21 15:52:25 -08:00
#include "streams/voxel_stream_noise_2d.h"
#include "streams/voxel_stream_region_files.h"
2019-05-25 08:16:03 -07:00
#include "streams/voxel_stream_test.h"
#include "terrain/voxel_box_mover.h"
#include "terrain/voxel_lod_terrain.h"
#include "terrain/voxel_map.h"
#include "terrain/voxel_terrain.h"
#include "voxel_buffer.h"
#include "voxel_library.h"
#include "voxel_memory_pool.h"
2020-01-17 12:43:28 -08:00
#include "voxel_string_names.h"
2019-09-05 11:43:25 -07:00
#include "voxel_tool.h"
void register_voxel_types() {
// Storage
2017-03-24 17:23:36 -07:00
ClassDB::register_class<VoxelBuffer>();
ClassDB::register_class<VoxelMap>();
// Voxel types
ClassDB::register_class<Voxel>();
ClassDB::register_class<VoxelLibrary>();
// Nodes
2017-03-24 17:23:36 -07:00
ClassDB::register_class<VoxelTerrain>();
ClassDB::register_class<VoxelLodTerrain>();
// Streams
2019-05-25 08:07:38 -07:00
ClassDB::register_class<VoxelStream>();
ClassDB::register_class<VoxelStreamTest>();
ClassDB::register_class<VoxelStreamHeightmap>();
2019-05-25 08:07:38 -07:00
ClassDB::register_class<VoxelStreamImage>();
ClassDB::register_class<VoxelStreamNoise>();
2020-01-21 15:52:25 -08:00
ClassDB::register_class<VoxelStreamNoise2D>();
ClassDB::register_class<VoxelStreamFile>();
ClassDB::register_class<VoxelStreamBlockFiles>();
ClassDB::register_class<VoxelStreamRegionFiles>();
// Helpers
ClassDB::register_class<VoxelBoxMover>();
ClassDB::register_class<VoxelRaycastResult>();
2019-09-03 14:54:40 -07:00
ClassDB::register_class<VoxelTool>();
// Meshers
ClassDB::register_class<VoxelMesher>();
ClassDB::register_class<VoxelMesherBlocky>();
ClassDB::register_class<VoxelMesherTransvoxel>();
ClassDB::register_class<VoxelMesherDMC>();
ClassDB::register_class<VoxelMesherMC>();
2019-08-29 14:55:02 -07:00
VoxelMemoryPool::create_singleton();
2020-01-17 12:43:28 -08:00
VoxelStringNames::create_singleton();
2019-08-29 14:55:02 -07:00
#ifdef TOOLS_ENABLED
VoxelDebug::create_debug_box_mesh();
#endif
}
void unregister_voxel_types() {
2019-08-29 14:55:02 -07:00
VoxelMemoryPool::destroy_singleton();
2020-01-17 12:43:28 -08:00
VoxelStringNames::destroy_singleton();
2019-08-29 14:55:02 -07:00
#ifdef TOOLS_ENABLED
VoxelDebug::free_debug_box_mesh();
#endif
}