[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,7 +17,8 @@ | |||||||
| 
 | 
 | ||||||
| Game::Game(void) { | Game::Game(void) { | ||||||
|   _player = new Player(); |   _player = new Player(); | ||||||
|   _level = new Level(); |   //_NPC    = new NPC();
 | ||||||
|  |   _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; | ||||||
|   Level* _level; |   NPC*    _NPC; | ||||||
|  |   Level*  _level; | ||||||
| }; | }; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Rtch90
						Rtch90