[Remove] Removed AABB's for now.

[Add] Adding some NPC class stuff. Going to work on Actors now.
This commit is contained in:
Rtch90 2012-04-12 18:32:45 +01:00
parent d5ed83dce7
commit 84bfde227a
6 changed files with 12 additions and 72 deletions

View File

@ -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();
} }

View File

@ -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;
}; };

View File

@ -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();

View File

@ -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;
}; };

View File

@ -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;
} }

View File

@ -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;
}; };