Imported basics

project directory
client - scene system
server - empty main
SDL_net source
graphical resources
This commit is contained in:
Kayne Ruse
2013-04-28 04:37:14 +10:00
parent 31d5b3f618
commit 79304f24b8
23 changed files with 2263 additions and 0 deletions
+76
View File
@@ -0,0 +1,76 @@
#include "scene_manager.h"
#include <stdexcept>
//-------------------------
//Scene headers
//-------------------------
//Add the custom scene headers here
#include "test_systems.h"
//-------------------------
//Public access members
//-------------------------
SceneManager::SceneManager() {
activeScene = nullptr;
}
SceneManager::~SceneManager() {
UnloadScene();
}
void SceneManager::Init() {
if (SDL_Init(SDL_INIT_VIDEO))
throw(std::runtime_error("Failed to initialize SDL"));
BaseScene::SetScreen(800, 600);
}
void SceneManager::Proc() {
LoadScene(SceneList::FIRST);
//The main loop
while(activeScene->GetNextScene() != SceneList::QUIT) {
//switch scenes when necessary
if (activeScene->GetNextScene() != SceneList::CONTINUE) {
LoadScene(activeScene->GetNextScene());
continue;
}
//call each user defined function
activeScene->RunFrame();
}
UnloadScene();
}
void SceneManager::Quit() {
UnloadScene();
SDL_Quit();
}
//-------------------------
//Private access members
//-------------------------
void SceneManager::LoadScene(SceneList sceneIndex) {
UnloadScene();
switch(sceneIndex) {
//add scene creation calls here
case SceneList::FIRST:
case SceneList::TESTSYSTEMS:
activeScene = new TestSystems();
break;
default:
throw(std::logic_error("Failed to recognize the scene index"));
}
}
void SceneManager::UnloadScene() {
delete activeScene;
activeScene = nullptr;
}