#pragma once #include "hint_types.hpp" #include #include namespace randomizer::logic::world { class World; using WorldPool = std::vector>; } namespace randomizer::logic::hints { class HintGenerator { public: HintGenerator(world::World* world); void GeneratePathHints(); void GenerateBarrenHints(); void GenerateItemHints(); void GenerateRemoteLocationHints(); void GenerateLocationHints(); void DistributeHints(); void FinalizeHintSignText(); private: world::World* _world{}; std::vector _pathHints{}; std::vector _barrenHints{}; std::vector _itemHints{}; std::vector _locationHints{}; }; void GenerateAllHints(world::WorldPool& worldPool); }