#ifndef WORLD_HEIGHT_MAP_H #define WORLD_HEIGHT_MAP_H #include #include #include #include #include class WorldHeightMap: public Resource { GDCLASS(WorldHeightMap, Resource); public: WorldHeightMap(); ~WorldHeightMap(); protected: Ref noise; Ref curve; bool _set(const StringName &p_name, const Variant &p_value); bool _get(const StringName &p_name, Variant &r_ret) const; void _get_property_list(List *p_list) const; static void _bind_methods(); public: void update_all(); float get_surface_height(float x, float y); float get_base_height(float x, float y); float get_base_steepness(float x, float y); void draw_height_map(Node *draw, const Rect2 &draw_rect, const Rect2 &world_rect); private: int seed; }; #endif