2022-03-17 22:33:22 +01:00
|
|
|
#ifndef TERRAIN_SURFACE_MERGER_H
|
|
|
|
#define TERRAIN_SURFACE_MERGER_H
|
2023-12-17 22:59:50 +01:00
|
|
|
|
2022-03-15 13:29:32 +01:00
|
|
|
|
|
|
|
#include "terrain_surface.h"
|
|
|
|
|
|
|
|
#include "scene/resources/texture.h"
|
|
|
|
|
|
|
|
#include "../../texture_packer/texture_packer.h"
|
|
|
|
|
|
|
|
class TerrainSurfaceMerger : public TerrainSurface {
|
|
|
|
GDCLASS(TerrainSurfaceMerger, TerrainSurface)
|
|
|
|
|
|
|
|
public:
|
|
|
|
Ref<AtlasTexture> get_region(const TerrainSurfaceSides side);
|
|
|
|
void set_region(const TerrainSurfaceSides side, const Ref<AtlasTexture> &texture);
|
|
|
|
|
|
|
|
Ref<Texture> get_texture(const TerrainSurfaceSides side);
|
|
|
|
void set_texture(const TerrainSurfaceSides side, const Ref<Texture> &texture);
|
|
|
|
|
|
|
|
void refresh_rects();
|
|
|
|
|
|
|
|
TerrainSurfaceMerger();
|
|
|
|
~TerrainSurfaceMerger();
|
|
|
|
|
|
|
|
protected:
|
|
|
|
static void _bind_methods();
|
|
|
|
|
|
|
|
private:
|
|
|
|
Ref<AtlasTexture> _regions[TERRAIN_SIDES_COUNT];
|
|
|
|
Ref<Texture> _textures[TERRAIN_SIDES_COUNT];
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|