Danbias/Code/Game/DanBiasServer/GameSession/GameSession_Logic.cpp

75 lines
1.7 KiB
C++
Raw Normal View History

/////////////////////////////////////////////////////////////////////
// Created by [Dennis Andersen] [2013]
/////////////////////////////////////////////////////////////////////
#include "GameSession.h"
#include "GameClient.h"
#include <Protocols.h>
#include <PostBox\PostBox.h>
#include <GameLogicStates.h>
#include <Windows.h>
2014-01-15 08:18:06 +01:00
#include <OysterMath.h>
#define DELTA_TIME_20 0.05f
2014-01-20 15:47:52 +01:00
#define DELTA_TIME_24 0.04166666666666666666666666666667f
#define DELTA_TIME_30 0.03333333333333333333333333333333f
#define DELTA_TIME_60 0.01666666666666666666666666666667f
#define DELTA_TIME_120 0.00833333333333333333333333333333f
using namespace Utility::DynamicMemory;
using namespace Oyster;
using namespace Oyster::Network;
using namespace Oyster::Thread;
using namespace GameLogic;
namespace DanBias
{
bool GameSession::DoWork( )
{
2014-01-20 15:47:52 +01:00
if(this->isRunning)
2014-01-15 08:18:06 +01:00
{
2014-01-20 15:47:52 +01:00
if(GetAsyncKeyState(VK_UP))
{
Protocol_General_Status p(Protocol_General_Status::States_ready);
Send(p.GetProtocol());
Sleep(100);
}
if(GetAsyncKeyState(VK_DOWN))
{
Oyster::Math::Float4x4 world = Oyster::Math::Matrix::identity;
2014-01-21 14:32:42 +01:00
Protocol_ObjectCreate p(world, 2, "../Content/crate");
2014-01-20 15:47:52 +01:00
Send(p.GetProtocol());
Sleep(100);
}
double dt = this->timer.getElapsedSeconds();
gameInstance.SetFrameTimeLength((float)dt);
if(dt >= DELTA_TIME_20)
2014-01-20 15:47:52 +01:00
{
this->ParseEvents();
2014-01-16 12:26:14 +01:00
2014-01-20 15:47:52 +01:00
this->gameInstance.NewFrame();
2014-01-20 15:47:52 +01:00
this->UpdateGameObjects();
2014-01-20 15:47:52 +01:00
this->timer.reset();
}
}
return this->isRunning;
}
void GameSession::UpdateGameObjects()
{
2014-01-20 15:47:52 +01:00
if(clients.Size() >= 1 && clients[0])
2014-01-16 12:26:14 +01:00
{
Oyster::Math::Float4x4 world = this->clients[0]->GetPlayer()->GetOrientation();
Protocol_ObjectPosition p(world, 1);
Send(p.GetProtocol());
}
}
}//End namespace DanBias