pandemonium_engine/modules/terraman_2d/library/terrain_2d_library_simple.h

54 lines
1.2 KiB
C++

#ifndef TERRAIN_2D_LIBRARY_SIMPLE_H
#define TERRAIN_2D_LIBRARY_SIMPLE_H
#include "core/object/resource.h"
#include "terrain_2d_library.h"
#include "scene/resources/material/material.h"
#include "../data/terrain_2d_light.h"
#include "terrain_2d_surface_simple.h"
class Terrain2DSurfaceSimple;
class Terrain2DMesher;
class Terrain2DLibrarySimple : public Terrain2DLibrary {
GDCLASS(Terrain2DLibrarySimple, Terrain2DLibrary)
public:
int get_atlas_columns() const;
void set_atlas_columns(int s);
int get_atlas_rows() const;
void set_atlas_rows(int s);
Ref<Terrain2DSurface> terra_surface_get(const int index);
void terra_surface_add(Ref<Terrain2DSurface> value);
void terra_surface_set(const int index, Ref<Terrain2DSurface> value);
void terra_surface_remove(const int index);
int terra_surface_get_num() const;
void terra_surfaces_clear();
Vector<Variant> get_terra_surfaces();
void set_terra_surfaces(const Vector<Variant> &surfaces);
void refresh_rects();
Terrain2DLibrarySimple();
~Terrain2DLibrarySimple();
protected:
static void _bind_methods();
private:
Vector<Ref<Terrain2DSurfaceSimple>> _terra_surfaces;
//atlas
int _atlas_columns;
int _atlas_rows;
};
#endif // TERRAIN_2D_LIBRARY_H