Add fly animations

This commit is contained in:
Bram Verhulst
2024-05-29 00:00:29 +02:00
parent 3c83e566dd
commit e1165fdcb4
31 changed files with 580 additions and 157 deletions

View File

@@ -2,14 +2,48 @@
#include "Building.h"
#include <iostream>
Building::Building(const std::string& filePath, const Vector2f& position, TextureManager* pTextureManager): m_Position(position) {
#include <utility>
#include "colors.h"
#include "utils.h"
Building::Building(const std::string& filePath, const Vector2f& position, const Rectf& boundingBox, TextureManager* pTextureManager): m_Position(position),
m_BoundingBox(boundingBox) {
m_Texture = pTextureManager->GetTexture(filePath);
m_Size = Vector2f(m_Texture->GetWidth(), m_Texture->GetHeight());
std::cout << "i like kids" << std::endl;
}
Building::~Building() = default;
void Building::Draw() const {
m_Texture->Draw(m_Position);
utils::SetColor(Colors::GREEN);
Rectf temp = m_BoundingBox;
temp.left += m_Position.x;
temp.bottom += m_Position.y;
utils::DrawRect(temp);
}
void Building::Update(float dt) {
void Building::Update(float dt, const Rectf& objectBoundingBox) {
if (IsObjectInHitbox(objectBoundingBox)) {
if (!m_IsPlayerInHitbox) { //TODO: what
m_IsPlayerInHitbox = true;
if (m_OnEnterHitbox != nullptr) {
m_OnEnterHitbox();
}
else {
std::cout << "No function set for onEnterHitbox" << std::endl;
}
}
}
else {
m_IsPlayerInHitbox = false;
}
}
void Building::SetOnEnterHitbox(std::function<void()> onEnterHitbox) {
m_OnEnterHitbox = std::move(onEnterHitbox);
}
bool Building::IsObjectInHitbox(const Rectf& objectBoundingBox) const {
Rectf temp = m_BoundingBox;
temp.left += m_Position.x;
temp.bottom += m_Position.y;
return utils::IsRectInRect(objectBoundingBox, temp);
}