
/**
*
* \file Asura_Botanicals_System.cpp
*
* Created by Dave Reed - 09/01/2005
*
* Copyright (C) 2005 Rebellion (Derby), All Rights Reserved.
*
* Inits/Deinits/Resets the botanical Template, Instance, Style, and Shape managers
*
**/

#include "Core/Asura.h"

#ifdef ASURA_USE_BOTANICALS

#include "Core/Asura_Hash.h"
#ifdef ASURA_BOTANICAL_SUPPORT_INTERACTIVE
#include "Botanicals/Asura_Botanical_Game_Render_Manager.h"
#endif
#include "Botanicals/Asura_Botanicals_System.h"
#include "Botanicals/Asura_Botanicals_TemplateManager.h"
#include "Botanicals/Asura_Botanicals_InstanceManager.h"
#include "Botanicals/Asura_Botanicals_ShapeManager.h"

#ifdef ASURA_TOOLS
#include "Botanicals/Tools_Botanicals_Styles.h"
#endif


void Asura_Botanicals_System::Initialise()
{
#ifdef ASURA_TOOLS
	Asura_Botanicals_ShapeManager::Initialise();
	Asura_Botanicals_TemplateManager::Initialise();
#endif // #ifdef ASURA_TOOLS
	Asura_Botanicals_InstanceManager::Initialise();
	
#ifdef ASURA_BOTANICAL_SUPPORT_INTERACTIVE
	Asura_BGR_Manager::Initialise();
#endif
}


void Asura_Botanicals_System::Shutdown()
{
#ifdef ASURA_BOTANICAL_SUPPORT_INTERACTIVE
	Asura_BGR_Manager::Shutdown();
#endif

#ifdef ASURA_TOOLS
	Asura_Botanicals_ShapeManager::Shutdown();
	Asura_Botanicals_TemplateManager::Shutdown();
#endif // #ifdef ASURA_TOOLS
	Asura_Botanicals_InstanceManager::Shutdown();

#ifdef ASURA_TOOLS
	// This doesn't currently need an init or reset, but does need shutting down
	Tools_Botanicals_StyleManager::Shutdown();
#endif

}


void Asura_Botanicals_System::Reset()	
{
#ifdef ASURA_BOTANICAL_SUPPORT_INTERACTIVE
	Asura_BGR_Manager::Reset();
#endif

#ifdef ASURA_TOOLS
	Asura_Botanicals_ShapeManager::Reset();
	Asura_Botanicals_TemplateManager::Reset();
#endif // #ifdef ASURA_TOOLS
	Asura_Botanicals_InstanceManager::Reset();
}

#endif // ASURA_USE_BOTANICALS
