Files
2018-08-13 22:22:10 -04:00

152 lines
3.1 KiB
C++

#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/cEventControl.hpp"
#include "../UtilityEngine/cUtility.hpp"
#include "../GUIEngine/cGUI.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::cEventControl::Delete();
SDL_Quit();
UtilityEngine::cUtility::Inst().Message("SDL shut down!");
UtilityEngine::cUtility::Delete();
GUIEngine::cGUI::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::cEventControl::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::cEventControl::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::cEventControl::Inst().IsInit();
}