0
0
mirror of https://github.com/Nimac0/SDL_Minigame synced 2026-01-12 22:23:43 +00:00

Compare commits

..

No commits in common. "29743d11b0b8ab366bf4e11670393f6ab008a8b6" and "a49753e39af117b7c21d17088e89f8a9936fb36f" have entirely different histories.

2 changed files with 8 additions and 16 deletions

View File

@ -27,14 +27,8 @@ public:
void createProjectile(Vector2D pos, Vector2D velocity, int scale, int range, int speed, const char* texturePath, Entity* owner);
void createPowerup(Vector2D pos, std::function<void (Entity*)> pickupFunc, std::string texturePath);
/*!
* \brief Calculates a random spawn position for an object within a given area
* \param size The size (collision box) of the object
* \param spawnArea The area within which a spawn position will be calculated
* \returns Spawn Coordinates for the object
*/
Vector2D calculateSpawnPosition(Vector2D size, Vector2D spawnArea);
template <typename T> [[deprecated]] T calculateRandomType(int amount);
Vector2D calculateSpawnPosition(int width, int height);
template <typename T> T calculateType(int amount);
//texture management
void addTexture(std::string id, const char* path);

View File

@ -74,19 +74,17 @@ void AssetManager::createPowerup(Vector2D pos, std::function<void (Entity*)> pic
powerups.addGroup((size_t)Entity::GroupLabel::POWERUPS);
}
Vector2D AssetManager::calculateSpawnPosition(Vector2D size, Vector2D spawnArea)
Vector2D AssetManager::calculateSpawnPosition(int width, int height)
{
Vector2D spawnPos = Vector2D(-1, -1);
for(int i = 0; i <= SPAWN_ATTEMPTS; i++)
{
SDL_Rect spawnRect = {
rand() % (int)(spawnArea.x - size.x),
rand() % (int)(spawnArea.y - size.y),
size.x,
size.y
rand() % (SCREEN_SIZE_WIDTH - width),
rand() % (SCREEN_SIZE_HEIGHT - height),
width,
height
};
std::vector<ColliderComponent*> colliders = this->man->getGame()->collisionHandler->getColliders({Entity::GroupLabel::MAPTILES});
@ -105,7 +103,7 @@ Vector2D AssetManager::calculateSpawnPosition(Vector2D size, Vector2D spawnArea)
}
template <typename T>
T AssetManager::calculateRandomType(int amount)
T AssetManager::calculateType(int amount)
{
T type = T(rand() % amount);
return type;