2019-05-31 22:54:31 +02:00
|
|
|
#ifndef VOXEL_LIGHT_H
|
|
|
|
#define VOXEL_LIGHT_H
|
|
|
|
|
|
|
|
#include "core/color.h"
|
|
|
|
#include "core/reference.h"
|
|
|
|
#include "core/vector.h"
|
|
|
|
|
2019-05-31 23:28:33 +02:00
|
|
|
#include "../math/vector3i.h"
|
2019-05-31 22:54:31 +02:00
|
|
|
|
|
|
|
class VoxelLight : public Reference {
|
|
|
|
GDCLASS(VoxelLight, Reference);
|
|
|
|
|
|
|
|
public:
|
2019-07-19 23:54:56 +02:00
|
|
|
int get_world_position_x() const;
|
|
|
|
int get_world_position_y() const;
|
|
|
|
int get_world_position_z() const;
|
2019-07-16 16:18:09 +02:00
|
|
|
Vector3i get_world_position();
|
2019-07-19 23:54:56 +02:00
|
|
|
void set_world_position(const int x, const int y, const int z);
|
2019-05-31 22:54:31 +02:00
|
|
|
|
2019-07-19 23:54:56 +02:00
|
|
|
Color get_color() const;
|
|
|
|
void set_color(const Color color);
|
2019-05-31 22:54:31 +02:00
|
|
|
|
2019-07-19 23:54:56 +02:00
|
|
|
float get_size() const;
|
|
|
|
void set_size(const float strength);
|
2019-05-31 22:54:31 +02:00
|
|
|
|
|
|
|
VoxelLight();
|
|
|
|
~VoxelLight();
|
|
|
|
|
|
|
|
private:
|
2019-07-16 16:18:09 +02:00
|
|
|
static void _bind_methods();
|
2019-05-31 22:54:31 +02:00
|
|
|
|
|
|
|
private:
|
2019-07-16 16:18:09 +02:00
|
|
|
Vector3i _chunk_position;
|
|
|
|
Vector3i _world_position;
|
2019-05-31 22:54:31 +02:00
|
|
|
Color _color;
|
2019-07-16 16:18:09 +02:00
|
|
|
int _size;
|
2019-05-31 22:54:31 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|