Esempio n. 1
0
RuntimeScene::RuntimeScene(sf::RenderWindow * renderWindow_, RuntimeGame * game_) :
    renderWindow(renderWindow_),
    game(game_),
    #if defined(GD_IDE_ONLY)
    debugger(NULL),
    #endif
    isFullScreen(false),
    inputManager(renderWindow_),
    codeExecutionEngine(new CodeExecutionEngine)
{
    ChangeRenderWindow(renderWindow);
}
Esempio n. 2
0
RuntimeScene::RuntimeScene(sf::RenderWindow * renderWindow_, RuntimeGame * game_) :
    renderWindow(renderWindow_),
    game(game_),
    #if defined(GD_IDE_ONLY)
    debugger(NULL),
    #endif
    firstLoop(true),
    isFullScreen(false),
    inputManager(renderWindow_),
    realElapsedTime(0),
    elapsedTime(0),
    timeScale(1),
    timeFromStart(0),
    pauseTime(0),
    codeExecutionEngine(new CodeExecutionEngine)
{
    ChangeRenderWindow(renderWindow);
}
Esempio n. 3
0
std::shared_ptr<RuntimeScene> SceneStack::Push(std::string newSceneName)
{
	auto newScene = std::make_shared<RuntimeScene>(window, &game);
    if (!newScene->LoadFromScene(game.GetLayout(newSceneName)))
    {
        if (errorCallback) errorCallback("Unable to load scene \"" + newSceneName + "\".");
        return std::shared_ptr<RuntimeScene>();
    }

    if (!newScene->GetCodeExecutionEngine()->LoadFromDynamicLibrary(codeLibraryName,
        "GDSceneEvents"+gd::SceneNameMangler::GetMangledSceneName(newScene->GetName())))
    {
        if (errorCallback) errorCallback("Unable to setup execution engine for scene \"" + newScene->GetName() + "\".");
        return std::shared_ptr<RuntimeScene>();
    }

    newScene->ChangeRenderWindow(window);
	stack.push_back(newScene);
	return newScene;
}