GameLogic - game interface updated(not finnished)
förlåt dennis
This commit is contained in:
parent
059b3dd5e4
commit
54240b217c
|
@ -1,6 +1,9 @@
|
|||
#include "AttatchmentSocket.h"
|
||||
#include "IAttatchment.h"
|
||||
#include "DynamicArray.h"
|
||||
|
||||
using namespace GameLogic;
|
||||
using namespace Utility::DynamicMemory;
|
||||
|
||||
struct AttatchmentSocket::PrivateData
|
||||
{
|
||||
|
@ -14,7 +17,7 @@ struct AttatchmentSocket::PrivateData
|
|||
|
||||
}
|
||||
|
||||
IAttatchment *attatchment;
|
||||
SmartPointer<IAttatchment> attatchment;
|
||||
|
||||
|
||||
}myData;
|
||||
|
@ -26,10 +29,7 @@ AttatchmentSocket::AttatchmentSocket(void)
|
|||
|
||||
AttatchmentSocket::~AttatchmentSocket(void)
|
||||
{
|
||||
if (myData->attatchment)
|
||||
{
|
||||
delete myData->attatchment;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
IAttatchment* AttatchmentSocket::GetAttatchment()
|
||||
|
@ -39,18 +39,12 @@ IAttatchment* AttatchmentSocket::GetAttatchment()
|
|||
|
||||
void AttatchmentSocket::SetAttatchment(IAttatchment *attatchment)
|
||||
{
|
||||
if (myData->attatchment)
|
||||
{
|
||||
delete myData->attatchment;
|
||||
}
|
||||
|
||||
myData->attatchment = attatchment;
|
||||
}
|
||||
|
||||
void AttatchmentSocket::RemoveAttatchment()
|
||||
{
|
||||
if (myData->attatchment)
|
||||
{
|
||||
delete myData->attatchment;
|
||||
}
|
||||
|
||||
myData->attatchment = 0;
|
||||
|
||||
}
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
#include "Game.h"
|
||||
#include "Player.h"
|
||||
#include "Level.h"
|
||||
#include <DynamicArray.h>
|
||||
|
||||
using namespace GameLogic;
|
||||
using namespace Utility::DynamicMemory;
|
||||
|
||||
struct Game::PrivateData
|
||||
{
|
||||
|
@ -15,9 +17,9 @@ struct Game::PrivateData
|
|||
{
|
||||
|
||||
}
|
||||
|
||||
Player **players;
|
||||
Level *level;
|
||||
//DynamicArray<SmartPointer<Player>> players;
|
||||
DynamicArray<SmartPointer<PlayerData>> players;
|
||||
SmartPointer<Level> level;
|
||||
|
||||
}myData;
|
||||
|
||||
|
@ -35,10 +37,6 @@ Game::~Game(void)
|
|||
}
|
||||
}
|
||||
|
||||
void Game::MovePlayer(int playerID, const PLAYER_MOVEMENT &movement)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void Game::PlayerUseWeapon(int playerID, const WEAPON_FIRE &Usage)
|
||||
{
|
||||
|
@ -57,7 +55,9 @@ void Game::GetAllPlayerPos()
|
|||
|
||||
Game::PlayerData Game::CreatePlayer()
|
||||
{
|
||||
SmartPointer<Player> newPlayer = new Player();
|
||||
|
||||
myData->players.Push(newPlayer);
|
||||
}
|
||||
|
||||
void Game::CreateTeam()
|
||||
|
|
|
@ -4,44 +4,50 @@
|
|||
#include "GameLogicStates.h"
|
||||
namespace GameLogic
|
||||
{
|
||||
class Player;
|
||||
class Game
|
||||
{
|
||||
|
||||
public:
|
||||
struct PlayerData
|
||||
{
|
||||
private:
|
||||
friend class Game;
|
||||
Player *player;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
int playerID;
|
||||
int teamID;
|
||||
|
||||
PlayerData()
|
||||
{
|
||||
playerID = 0;
|
||||
teamID = 0;
|
||||
}
|
||||
|
||||
PlayerData(int playerID,int teamID)
|
||||
{
|
||||
this->playerID = playerID;
|
||||
this->teamID = teamID;
|
||||
PlayerData();
|
||||
|
||||
PlayerData(int playerID,int teamID);
|
||||
|
||||
}
|
||||
|
||||
~PlayerData()
|
||||
{
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
public:
|
||||
Game(void);
|
||||
~Game(void);
|
||||
|
||||
/********************************************************
|
||||
* Moves the chosen player based on input
|
||||
* @param playerID: ID of the player you want to recieve the message
|
||||
* @param movement: enum value on what kind of action is to be taken
|
||||
********************************************************/
|
||||
void MovePlayer(int playerID, const PLAYER_MOVEMENT &movement);
|
||||
void MovePlayer(const PLAYER_MOVEMENT &movement);
|
||||
|
||||
|
||||
};
|
||||
|
||||
public:
|
||||
Game(void);
|
||||
~Game(void);
|
||||
|
||||
|
||||
|
||||
|
||||
/********************************************************
|
||||
* Uses the chosen players weapon based on input
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
#include "Game.h"
|
||||
#include "Player.h"
|
||||
|
||||
using namespace GameLogic;
|
||||
|
||||
Game::PlayerData::PlayerData()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void Game::PlayerData::MovePlayer(const PLAYER_MOVEMENT &movement)
|
||||
{
|
||||
|
||||
}
|
|
@ -5,8 +5,11 @@
|
|||
#include "Player.h"
|
||||
#include "PhysicsAPI.h"
|
||||
#include "TeamManager.h"
|
||||
#include "DynamicArray.h"
|
||||
|
||||
using namespace GameLogic;
|
||||
using namespace Utility::DynamicMemory;
|
||||
|
||||
|
||||
struct Level::PrivateData
|
||||
{
|
||||
|
@ -18,17 +21,15 @@ struct Level::PrivateData
|
|||
{
|
||||
}
|
||||
|
||||
TeamManager *teamManager;
|
||||
SmartPointer<TeamManager> teamManager;
|
||||
|
||||
StaticObject** staticObjects;
|
||||
int nrOfStaticObjects;
|
||||
DynamicArray<SmartPointer<StaticObject>> staticObjects;
|
||||
|
||||
DynamicObject** dynamicObjects;
|
||||
int nrOfDynamicObjects;
|
||||
DynamicArray<SmartPointer<DynamicObject>> dynamicObjects;
|
||||
|
||||
GameMode* gameMode;
|
||||
SmartPointer<GameMode> gameMode;
|
||||
|
||||
Oyster::Physics::ICustomBody *rigidBodyLevel;
|
||||
SmartPointer<Oyster::Physics::ICustomBody> rigidBodyLevel;
|
||||
|
||||
}myData;
|
||||
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
#include "Weapon.h"
|
||||
#include "AttatchmentSocket.h"
|
||||
#include "AttatchmentMassDriver.h"
|
||||
#include "DynamicArray.h"
|
||||
|
||||
using namespace GameLogic;
|
||||
using namespace Utility::DynamicMemory;
|
||||
|
||||
struct Weapon::PrivateData
|
||||
{
|
||||
|
@ -12,7 +14,6 @@ struct Weapon::PrivateData
|
|||
selectedAttatchment = 0;
|
||||
currentNrOfAttatchments = 0;
|
||||
selectedSocketID = 0;
|
||||
maxNrOfSockets = 0;
|
||||
attatchmentSockets = 0;
|
||||
}
|
||||
|
||||
|
@ -22,11 +23,9 @@ struct Weapon::PrivateData
|
|||
|
||||
WEAPON_STATE weaponState;
|
||||
|
||||
AttatchmentSocket **attatchmentSockets;
|
||||
int maxNrOfSockets;
|
||||
DynamicArray<SmartPointer<AttatchmentSocket>> attatchmentSockets;
|
||||
int currentNrOfAttatchments;
|
||||
|
||||
IAttatchment *selectedAttatchment;
|
||||
SmartPointer<IAttatchment> selectedAttatchment;
|
||||
int selectedSocketID;
|
||||
|
||||
}myData;
|
||||
|
@ -39,23 +38,12 @@ Weapon::Weapon()
|
|||
Weapon::Weapon(int MaxNrOfSockets)
|
||||
{
|
||||
myData = new PrivateData();
|
||||
myData->maxNrOfSockets = MaxNrOfSockets;
|
||||
myData->attatchmentSockets = new AttatchmentSocket*[MaxNrOfSockets];
|
||||
for (int i = 0; i < MaxNrOfSockets; i++)
|
||||
{
|
||||
myData->attatchmentSockets[i] = new AttatchmentSocket();
|
||||
}
|
||||
myData->attatchmentSockets.Resize(MaxNrOfSockets);
|
||||
}
|
||||
|
||||
|
||||
Weapon::~Weapon(void)
|
||||
{
|
||||
for (int i = 0; i < myData->currentNrOfAttatchments; i++)
|
||||
{
|
||||
delete myData->attatchmentSockets[i];
|
||||
}
|
||||
delete[] myData->attatchmentSockets;
|
||||
|
||||
delete myData;
|
||||
}
|
||||
|
||||
|
@ -95,7 +83,7 @@ bool Weapon::IsReloading()
|
|||
|
||||
bool Weapon::IsValidSocket(int socketID)
|
||||
{
|
||||
if(socketID < myData->maxNrOfSockets && socketID >= 0)
|
||||
if(socketID < myData->attatchmentSockets.Size() && socketID >= 0)
|
||||
{
|
||||
if (myData->attatchmentSockets[socketID]->GetAttatchment() != 0)
|
||||
{
|
||||
|
@ -114,7 +102,7 @@ int Weapon::GetCurrentSocketID()
|
|||
|
||||
void Weapon::AddNewAttatchment(IAttatchment *attatchment, Player *owner)
|
||||
{
|
||||
if(myData->currentNrOfAttatchments < myData->maxNrOfSockets)
|
||||
if(myData->currentNrOfAttatchments < myData->attatchmentSockets.Size())
|
||||
{
|
||||
myData->attatchmentSockets[myData->currentNrOfAttatchments]->SetAttatchment(attatchment);
|
||||
myData->currentNrOfAttatchments++;
|
||||
|
|
Loading…
Reference in New Issue