#ifndef REGION_HPP_INCLUDED
#define REGION_HPP_INCLUDED

#include "../JavaClass/Object.hpp"
#include "../JavaClass/Class.hpp"
#include <vector>
#include "GameObject.hpp"
#include "SceneTile.hpp"

namespace Internal
{
    class Region : public Object
    {
        public:
            Region();
            Region(const void* Obj);
            Region(const Region& R);
            static Class GetClass();

            std::int32_t GetEntityCount() const;
            std::vector<GameObject> GetGameObjects() const;
            GameObject GetGameObjects(std::int32_t I) const;
            std::vector<std::vector<std::vector<SceneTile>>> GetSceneTiles() const;
            std::vector<std::vector<SceneTile>> GetSceneTiles(std::int32_t Plane) const;
            SceneTile GetSceneTiles(std::int32_t X, std::int32_t Y, std::int32_t Plane) const;

    };
}

#endif // REGION_HPP_INCLUDED
