This commit is contained in:
Bram Verhulst
2024-06-09 22:03:29 +02:00
parent d7389411f5
commit 5f1dcd5788
76 changed files with 1532 additions and 385 deletions

View File

@@ -1,7 +1,9 @@
#pragma once
#include "Collision.h"
#include "SoundEffect.h"
#include "TextureManager.h"
#include "Animations/Animation.h"
#include "GridSystem/WorldTile.h"
#include "Particle/Particle.h"
class WorldLevel;
@@ -66,15 +68,23 @@ public:
m_ContactMap[dir] = tile;
}
void Die();
void ProcessImGui();
private:
void Dig(Collision::CollisionDirection dir, WorldLevel& level);
bool CanDig(Collision::CollisionDirection dir, WorldLevel& level);
void ChangeSound(SoundEffect* sound);
Vector2f m_Position;
Vector2f m_Size;
Vector2f m_OutletPos;
Vector2f m_OutLeftPos{ 55, 45};
Vector2f m_OutRightPos{ 0, 45 };
Vector2f m_Vel;
const float m_Speed{ 400.0f };
@@ -95,33 +105,54 @@ private:
WorldTile* m_DigTile{ nullptr };
int m_ToAddPoints{ 0 };
GroundTileType* m_ToAddTile{ nullptr };
bool m_IsDiggingPrimed{ false };
std::vector<Particle*> m_DigParticles{};
std::vector<Particle*> m_DigParticles{};
std::vector<Particle*> m_SmokeParticles{};
float m_SmokeTimer{ 0.0f };
const float m_SmokeTime{ 0.25f };
const float m_DigTime{ 0.5f };
bool m_IsDead{ false };
bool m_HasPlayedDeathAnimation{ false };
bool m_Grounded { false };
bool m_IsTurning{ false };
bool m_DidJustDigRight { false };
bool m_DidJustDigLeft { false };
Animation* m_currentAnimation{ nullptr };
Animation* m_walkAnimation;
Animation* m_turnAnimation{ nullptr };
Animation* m_digStartAnimation{ nullptr };
Animation* m_digAnimation{ nullptr };
Animation* m_CurrentAnimation{ nullptr };
Animation* m_WalkAnimation;
Animation* m_TurnAnimation{ nullptr };
Animation* m_DigStartAnimation{ nullptr };
Animation* m_DigAnimation{ nullptr };
Animation* m_flyStartAnimation{ nullptr };
Animation* m_flyAnimation{ nullptr };
Animation* m_flyTurnAnimation{ nullptr };
Animation* m_FlyStartAnimation{ nullptr };
Animation* m_FlyAnimation{ nullptr };
Animation* m_FlyTurnAnimation{ nullptr };
Animation* m_DieStartAnimation{ nullptr };
Animation* m_DieLoopAnimation{ nullptr };
bool m_IsPropellorDeployed{ false };
PlayerState m_State { PlayerState::Idle };
PlayerDirection m_Direction { PlayerDirection::Left };
DigDirection m_DigDirection { DigDirection::Right };
SoundEffect* m_IdleSound{ nullptr };
SoundEffect* m_WalkSound{ nullptr };
SoundEffect* m_DigSound{ nullptr };
SoundEffect* m_FlySound{ nullptr };
SoundEffect* m_CurrentSound{ nullptr };
SoundEffect* m_PrevSound{ nullptr };
bool m_DidSoundChange{ false };
//Testing
bool m_DrawCollisionRect { true };
};