Files
SDLPongCPP/.svn/pristine/d4/d4382f5fe23ed241791d0e13293060acba930785.svn-base
T
2018-06-25 21:48:45 -04:00

148 lines
3.0 KiB
Plaintext

#include "cTrooperEngineCore.hpp"
/*** Custom Header Files ***/
#include "../VideoEngine/cVideo.hpp"
#include "../AudioEngine/cAudio.hpp"
#include "../InputEngine/cInput.hpp"
#include "../TimingEngine/cTiming.hpp"
#include "../TextTypeEngine/cTextType.hpp"
#include "../MathEngine/cRandom.hpp"
#include "../EventEngine/cEvent.hpp"
#include "../UtilityEngine/cUtility.hpp"
using TrooperEngineCore::cTrooperEngineCore;
/*static*/ cTrooperEngineCore* cTrooperEngineCore::sp_inst = nullptr;
cTrooperEngineCore::cTrooperEngineCore()
{
}
cTrooperEngineCore::~cTrooperEngineCore()
{
CleanUp();
VideoEngine::cVideo::Delete();
AudioEngine::cAudio::Delete();
InputEngine::cInput::Delete();
TimingEngine::cTiming::Delete();
TextTypeEngine::cTextType::Delete();
MathEngine::cRandom::Delete();
EventEngine::cEvent::Delete();
SDL_Quit();
UtilityEngine::cUtility::Inst().Message("SDL shut down!");
UtilityEngine::cUtility::Delete();
}
///Functions
/*static*/ const char* cTrooperEngineCore::Version()
{
return __TROOPERENGINE__VERSION;
}
/*static*/ cTrooperEngineCore& cTrooperEngineCore::Inst()
{
if (sp_inst == nullptr)
sp_inst = new cTrooperEngineCore();
return *sp_inst;
}
/*static*/ void cTrooperEngineCore::Delete()
{
delete sp_inst;
sp_inst = nullptr;
}
const bool cTrooperEngineCore::VideoInit()
{
return VideoEngine::cVideo::Inst().Initialize();
}
const bool cTrooperEngineCore::AudioInit()
{
return AudioEngine::cAudio::Inst().Initialize();
}
const bool cTrooperEngineCore::InputInit()
{
return true;
}
const bool cTrooperEngineCore::JoystickInit()
{
return InputEngine::cInput::Inst().Initialize();
}
const bool cTrooperEngineCore::TimerInit()
{
return TimingEngine::cTiming::Inst().Initialize();
}
const bool cTrooperEngineCore::TextTypeInit()
{
return TextTypeEngine::cTextType::Inst().Initialize();
}
const bool cTrooperEngineCore::EventInit()
{
return EventEngine::cEvent::Inst().Initialize();
}
/* Print lib versions */
void cTrooperEngineCore::PrintSDLVersion() const
{
UtilityEngine::cUtility::Inst().PrintVersion();
}
void cTrooperEngineCore::CleanUp()
{
VideoEngine::cVideo::Inst().CleanUp();
AudioEngine::cAudio::Inst().CleanUp();
TimingEngine::cTiming::Inst().CleanUp();
TextTypeEngine::cTextType::Inst().CleanUp();
InputEngine::cInput::Inst().CleanUp();
EventEngine::cEvent::Inst().CleanUp();
}
///Gets
const bool cTrooperEngineCore::getVideo() const
{
return VideoEngine::cVideo::Inst().IsInit();
}
const bool cTrooperEngineCore::getAudio() const
{
return AudioEngine::cAudio::Inst().IsInit();
}
const bool cTrooperEngineCore::getInput() const
{
return InputEngine::cInput::Inst().IsInit();
}
const bool cTrooperEngineCore::getJoystick() const
{
return false;
}
const bool cTrooperEngineCore::getTimer() const
{
return TimingEngine::cTiming::Inst().IsInit();
}
const bool cTrooperEngineCore::getText() const
{
return TextTypeEngine::cTextType::Inst().IsInit();
}
const bool cTrooperEngineCore::getEvent() const
{
return EventEngine::cEvent::Inst().IsInit();
}