2017-01-02 02:15:57 +01:00
|
|
|
#ifndef VOXEL_PROVIDER_H
|
|
|
|
#define VOXEL_PROVIDER_H
|
|
|
|
|
2018-09-19 21:25:04 +02:00
|
|
|
#include <core/resource.h>
|
2017-01-02 02:15:57 +01:00
|
|
|
#include "voxel_buffer.h"
|
|
|
|
|
2017-08-15 02:24:52 +02:00
|
|
|
class VoxelProvider : public Resource {
|
|
|
|
GDCLASS(VoxelProvider, Resource)
|
2017-01-02 02:15:57 +01:00
|
|
|
public:
|
2017-08-28 15:42:54 +02:00
|
|
|
virtual void emerge_block(Ref<VoxelBuffer> out_buffer, Vector3i origin_in_voxels);
|
|
|
|
virtual void immerge_block(Ref<VoxelBuffer> buffer, Vector3i origin_in_voxels);
|
2017-01-02 02:15:57 +01:00
|
|
|
|
|
|
|
protected:
|
|
|
|
static void _bind_methods();
|
|
|
|
|
2017-08-28 15:42:54 +02:00
|
|
|
void _emerge_block(Ref<VoxelBuffer> out_buffer, Vector3 origin_in_voxels);
|
|
|
|
void _immerge_block(Ref<VoxelBuffer> buffer, Vector3 origin_in_voxels);
|
2017-01-02 02:15:57 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // VOXEL_PROVIDER_H
|