[Remove] Removed AABB's for now.
[Add] Adding some NPC class stuff. Going to work on Actors now.
This commit is contained in:
parent
d5ed83dce7
commit
84bfde227a
@ -1,7 +1,7 @@
|
|||||||
#include "NPC.h"
|
#include "NPC.h"
|
||||||
|
|
||||||
NPC::NPC(void) {
|
NPC::NPC(void) {
|
||||||
_NPC->CreateAABBFromSprite("../Data/Img/Player");
|
_NPC = new Sprite();
|
||||||
}
|
}
|
||||||
|
|
||||||
NPC::~NPC(void) {
|
NPC::~NPC(void) {
|
||||||
@ -13,5 +13,5 @@ void NPC::Update(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void NPC::Render(void) {
|
void NPC::Render(void) {
|
||||||
//_NPC->
|
_NPC->Draw();
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "../Collision/AABB.h"
|
#include "../Sprite/Sprite.h"
|
||||||
|
|
||||||
class NPC {
|
class NPC {
|
||||||
public:
|
public:
|
||||||
@ -10,5 +10,5 @@ public:
|
|||||||
void Render(void);
|
void Render(void);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
AABB* _NPC;
|
Sprite* _NPC;
|
||||||
};
|
};
|
||||||
|
@ -6,21 +6,9 @@
|
|||||||
Player::Player(void) {
|
Player::Player(void) {
|
||||||
PLAYER_SPEED = 15;
|
PLAYER_SPEED = 15;
|
||||||
_rotationAngle = 0.0f;
|
_rotationAngle = 0.0f;
|
||||||
_allowCollision = true;
|
|
||||||
_notColliding = false;
|
|
||||||
_blueCollision = false;
|
|
||||||
_player = new Sprite();
|
_player = new Sprite();
|
||||||
_player->LoadSprite("../Data/Img/Player.png");
|
_player->LoadSprite("../Data/Img/Player.png");
|
||||||
|
|
||||||
// Loading of sprites and collision details.
|
|
||||||
// This should be directed to a collision sheet.
|
|
||||||
_collisionBound = new AABB();
|
|
||||||
_collisionBound->CreateAABBFromSprite("../Data/Img/Player");
|
|
||||||
|
|
||||||
_environmentCollisionBound = new AABB();
|
|
||||||
_environmentCollisionBound->SetMin(_collisionBound->GetMin().x, _collisionBound->GetMax().y - 50.0f);
|
|
||||||
_environmentCollisionBound->SetMax(_collisionBound->GetMax().x, _collisionBound->GetMax().y);
|
|
||||||
|
|
||||||
_stepSFX[0] = sfxManager.Load("../Data/SFX/step_cloth1.wav");
|
_stepSFX[0] = sfxManager.Load("../Data/SFX/step_cloth1.wav");
|
||||||
_stepSFX[1] = sfxManager.Load("../Data/SFX/step_cloth2.wav");
|
_stepSFX[1] = sfxManager.Load("../Data/SFX/step_cloth2.wav");
|
||||||
_stepSFX[2] = sfxManager.Load("../Data/SFX/step_cloth3.wav");
|
_stepSFX[2] = sfxManager.Load("../Data/SFX/step_cloth3.wav");
|
||||||
@ -30,17 +18,9 @@ Player::Player(void) {
|
|||||||
|
|
||||||
Player::~Player(void) {
|
Player::~Player(void) {
|
||||||
delete _player;
|
delete _player;
|
||||||
delete _collisionBound;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::Update(void) {
|
void Player::Update(void) {
|
||||||
// Position and collision bound with the player.
|
|
||||||
_collisionBound->SetPositionOffset(_player->GetX(), _player->GetY());
|
|
||||||
_environmentCollisionBound->SetPositionOffset(_player->GetPosition().x, _player->GetPosition().y);
|
|
||||||
|
|
||||||
// Time to process the collisions.
|
|
||||||
ProcessCollisions();
|
|
||||||
|
|
||||||
// Process events here.
|
// Process events here.
|
||||||
ProcessEvents();
|
ProcessEvents();
|
||||||
}
|
}
|
||||||
@ -50,32 +30,6 @@ void Player::Render(void) {
|
|||||||
_player->Draw();
|
_player->Draw();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::ProcessCollisions(void) {
|
|
||||||
// Process collisions with entities and actors.
|
|
||||||
// We should ensure we are not dead.
|
|
||||||
EntityCollisionTest();
|
|
||||||
ActorCollisionTest();
|
|
||||||
|
|
||||||
// Set all collision flags to false conditions
|
|
||||||
// then they will need to be proven in the test.
|
|
||||||
_notColliding = true;
|
|
||||||
_blueCollision = false;
|
|
||||||
|
|
||||||
//if(_environmentCollisionBound->InCollision())
|
|
||||||
}
|
|
||||||
|
|
||||||
void Player::EntityCollisionTest(void) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void Player::ActorCollisionTest(void) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Player::GetInBlueCollision(void) {
|
|
||||||
return(_blueCollision && _preventMovement != NONE);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Player::ProcessEvents(void) {
|
void Player::ProcessEvents(void) {
|
||||||
float oldX = x = _player->GetX();
|
float oldX = x = _player->GetX();
|
||||||
float oldY = y = _player->GetY();
|
float oldY = y = _player->GetY();
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "../Sprite/Sprite.h"
|
#include "../Sprite/Sprite.h"
|
||||||
#include "../Collision/AABB.h"
|
|
||||||
#include "../Global/Globals.h"
|
#include "../Global/Globals.h"
|
||||||
#include "../System/Debug.h"
|
#include "../System/Debug.h"
|
||||||
#include "../IO/Input.h"
|
#include "../IO/Input.h"
|
||||||
@ -34,16 +33,6 @@ public:
|
|||||||
|
|
||||||
// --- Collision stuff.
|
// --- Collision stuff.
|
||||||
|
|
||||||
// Process the collisions and reactions.
|
|
||||||
void ProcessCollisions(void);
|
|
||||||
// Entity collision test.
|
|
||||||
void EntityCollisionTest(void);
|
|
||||||
// Actor(NPCS).
|
|
||||||
void ActorCollisionTest(void);
|
|
||||||
AABB* GetAABB(void);
|
|
||||||
|
|
||||||
bool GetInBlueCollision(void);
|
|
||||||
|
|
||||||
void ProcessEvents(void);
|
void ProcessEvents(void);
|
||||||
|
|
||||||
int GetX(void) { return x; }
|
int GetX(void) { return x; }
|
||||||
@ -58,16 +47,8 @@ private:
|
|||||||
Sprite* _player;
|
Sprite* _player;
|
||||||
float _rotationAngle;
|
float _rotationAngle;
|
||||||
|
|
||||||
// --- Collisions.
|
|
||||||
bool _allowCollision;
|
|
||||||
bool _notColliding;
|
|
||||||
bool _blueCollision;
|
|
||||||
|
|
||||||
Facing _preventMovement;
|
Facing _preventMovement;
|
||||||
|
|
||||||
AABB* _collisionBound;
|
|
||||||
AABB* _environmentCollisionBound;
|
|
||||||
|
|
||||||
SoundEffect* _stepSFX[4];
|
SoundEffect* _stepSFX[4];
|
||||||
int _lastStepSFXPlayed;
|
int _lastStepSFXPlayed;
|
||||||
};
|
};
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
Game::Game(void) {
|
Game::Game(void) {
|
||||||
_player = new Player();
|
_player = new Player();
|
||||||
|
//_NPC = new NPC();
|
||||||
_level = new Level();
|
_level = new Level();
|
||||||
//_rotationAngle = 0.0f;
|
//_rotationAngle = 0.0f;
|
||||||
}
|
}
|
||||||
@ -74,11 +75,13 @@ void Game::Render(void) {
|
|||||||
// Render our shit..
|
// Render our shit..
|
||||||
_level->Draw(xOffset, yOffset);
|
_level->Draw(xOffset, yOffset);
|
||||||
_player->Render();
|
_player->Render();
|
||||||
|
//_NPC->Render();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Game::Shutdown(void) {
|
void Game::Shutdown(void) {
|
||||||
Debug::logger->message("\n ----- Cleaning Engine -----");
|
Debug::logger->message("\n ----- Cleaning Engine -----");
|
||||||
delete _player;
|
delete _player;
|
||||||
|
delete _NPC;
|
||||||
delete _level;
|
delete _level;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "../IO/Input.h"
|
#include "../IO/Input.h"
|
||||||
|
#include "../Actor/NPC.h"
|
||||||
#include "../Actor/Player.h"
|
#include "../Actor/Player.h"
|
||||||
|
|
||||||
class Sprite;
|
class Sprite;
|
||||||
@ -21,5 +22,6 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
Player* _player;
|
Player* _player;
|
||||||
|
NPC* _NPC;
|
||||||
Level* _level;
|
Level* _level;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user