Danbias/Code/Game/GameClient/GameClientState/GameState.h

62 lines
1.7 KiB
C
Raw Normal View History

#ifndef DANBIAS_CLIENT_GAMESTATE_H
#define DANBIAS_CLIENT_GAMESTATE_H
#include "GameClientState.h"
#include "OysterMath.h"
#include <string>
2014-02-10 16:30:47 +01:00
#include "Camera_FPS.h"
#include "LevelLoader/LevelLoader.h"
#include "C_obj/C_Player.h"
#include "C_obj/C_DynamicObj.h"
#include "C_obj/C_StaticObj.h"
#include "DynamicArray.h"
2014-02-13 15:21:02 +01:00
namespace DanBias { namespace Client
{
2014-02-12 09:02:44 +01:00
class GameState : public GameClientState
{
2014-02-13 15:21:02 +01:00
public:
2014-02-12 09:02:44 +01:00
enum gameStateState
{
gameStateState_loading,
gameStateState_playing,
gameStateState_end,
};
2014-02-13 15:21:02 +01:00
GameState(void);
~GameState(void);
bool Init(Oyster::Network::NetworkClient* nwClient);
GameClientState::ClientState Update(float deltaTime, InputClass* KeyInput) override;
bool LoadModels(std::string mapFile);
bool InitCamera(Oyster::Math::Float3 startPos) ;
void InitiatePlayer(int id, std::wstring modelName, Oyster::Math::Float4x4 world);
gameStateState LoadGame();
void readKeyInput(InputClass* KeyInput);
bool Render()override;
bool Release()override;
void ChangeState( ClientState next );
void DataRecieved( ::Oyster::Network::NetEvent<::Oyster::Network::NetworkClient*, ::Oyster::Network::NetworkClient::ClientEventArgs> e );
2014-02-12 09:02:44 +01:00
private:
2014-02-12 16:31:15 +01:00
struct MyData;
::Utility::DynamicMemory::UniquePointer<MyData> privData;
2014-02-12 09:02:44 +01:00
bool key_forward;
bool key_backward;
bool key_strafeRight;
bool key_strafeLeft;
bool key_Shoot;
bool key_Jump;
Camera_FPS camera;
2014-02-12 09:02:44 +01:00
int myId;
2014-02-12 16:31:15 +01:00
2014-02-12 09:02:44 +01:00
Utility::DynamicMemory::DynamicArray<Utility::DynamicMemory::SmartPointer<C_StaticObj>> staticObjects;
Utility::DynamicMemory::DynamicArray<Utility::DynamicMemory::SmartPointer<C_Object>> dynamicObjects;
//Utility::DynamicMemory::DynamicArray<Utility::DynamicMemory::SmartPointer<C_Player>> playObjects;
};
2014-02-13 15:21:02 +01:00
} }
#endif