#pragma once #include #include //#include #include //billboards, projections, and progress bar namespace OpenVic { class MapItemSingleton : public godot::Object { GDCLASS(MapItemSingleton, godot::Object) static inline MapItemSingleton* singleton = nullptr; protected: static void _bind_methods(); public: static MapItemSingleton* get_singleton(); MapItemSingleton(); ~MapItemSingleton(); private: GFX::Billboard const* get_billboard(std::string_view name, bool error_on_fail = true) const; bool add_billboard_dict(std::string_view name, godot::TypedArray& billboard_dict_array); godot::TypedArray get_billboards(); int get_province_count(); godot::PackedVector2Array get_province_positions(); }; }