// // Lol Engine // // Copyright: (c) 2013 Benjamin "Touky" Huet // 2013 Sam Hocevar // This program is free software; you can redistribute it and/or // modify it under the terms of the Do What The Fuck You Want To // Public License, Version 2, as published by Sam Hocevar. See // http://www.wtfpl.net/ for more details. // #if defined HAVE_CONFIG_H # include "config.h" #endif #include #include "scenesetup.h" #include "scenesetup-compiler.h" namespace lol { //----------------------------------------------------------------------------- //CTor/DTor SceneSetup::SceneSetup() { m_clear_color = vec4(vec3::zero, 1.f); m_show_gizmo = true; m_show_lights = true; } //---- SceneSetup::~SceneSetup() { Shutdown(true); } //----------------------------------------------------------------------------- bool SceneSetup::Compile(char const *command) { SceneSetupCompiler mc(*this); return mc.ParseString(command); } //----------------------------------------------------------------------------- bool SceneSetup::Startup() { for (int i = 0; i < m_lights.Count(); i++) Ticker::Ref(m_lights[i]); return true; } //----------------------------------------------------------------------------- bool SceneSetup::Shutdown(bool destroy) { for (int i = 0; i < m_lights.Count(); i++) if (m_lights[i]->IsTicked()) Ticker::Unref(m_lights[i]); if (destroy) m_lights.Empty(); return true; } } /* namespace lol */