#pragma once #include #include "GridSystem/WorldTile.h" class GroundTileType; class GroundTileTypeManager { public: static GroundTileTypeManager* GetInstance(); static void DestroyInstance(); GroundTileType* AIR; GroundTileType* DIRT; GroundTileType* STONE; GroundTileType* LAVA; GroundTileType* IRON; GroundTileType* BRONZE; GroundTileType* GOLD; GroundTileType* HARD_LEFT; GroundTileType* HARD_RIGHT; GroundTileType* HARD_MIDDLE; GroundTileType* GRASS; // // static GroundTileType* AIR{ nullptr }; // // // static std::map GroundTileWeights { // { Tiles::AIR, 0.2f }, // { Tiles::DIRT, 0.5f }, // { Tiles::Special::GRASS, 0.0f }, // { Tiles::Hazards::STONE, 0.025f }, // { Tiles::Hazards::LAVA, 0.01f }, // { Tiles::Special::HARD_LEFT, 0.0f }, // { Tiles::Special::HARD_MIDDLE, 0.0f }, // { Tiles::Special::HARD_RIGHT, 0.0f }, // { Tiles::Ores::BRONZE, 0.05f }, // { Tiles::Ores::GOLD, 0.02f }, // { Tiles::Ores::IRON, 0.1f }, // }; private: GroundTileTypeManager(); ~GroundTileTypeManager(); static GroundTileTypeManager* m_pInstance; };