#include <stdexcept>
#include <Model/Property/Concepts/AutoNavigator.h>
#include <Model/Property/Concepts/Camera.h>
#include <Model/Property/Concepts/Destroyable.h>
#include <Model/Property/Concepts/Networked.h>
#include <Model/Property/Concepts/Physical.h>
#include <Model/Property/Concepts/SelfDestruction.h>
#include <Model/Property/Concepts/ThrustControl.h>

namespace BFG {

SpaceConceptFactory::SpaceConceptFactory(PluginId pid) :
ConceptFactory(pid)
{}

boost::shared_ptr<Property::Concept>
SpaceConceptFactory::createConcept(Property::ConceptId pc,
                                   GameObject& go)
{
	PROPERTYCONCEPT_BUILD_LIST_BEGIN
	PROPERTYCONCEPT_CASE(AutoNavigator)
	PROPERTYCONCEPT_CASE(Camera)
	PROPERTYCONCEPT_CASE(Destroyable)
	PROPERTYCONCEPT_CASE(Networked)
	PROPERTYCONCEPT_CASE(Physical)
	PROPERTYCONCEPT_CASE(SelfDestruction)
	PROPERTYCONCEPT_CASE(ThrustControl)
	PROPERTYCONCEPT_BUILD_LIST_END
}

} // namespace BFG
#include <Model/Property/Concepts/Camera.h>
#include <Model/Property/Concepts/Destroyable.h>
#include <Model/Property/Concepts/Physical.h>
#include <Model/Property/Concepts/SelfDestruction.h>
#include <Model/Property/Concepts/ThrustControl.h>
#include <Model/Property/Concepts/Triggers.h>
#include <Model/Property/Concepts/WeaponRack.h>

namespace BFG {

SpaceConceptFactory::SpaceConceptFactory(PluginId pid) :
ConceptFactory(pid)
{}

boost::shared_ptr<Property::Concept>
SpaceConceptFactory::createConcept(Property::ConceptId pc,
                                   GameObject& go)
{
	PROPERTYCONCEPT_BUILD_LIST_BEGIN
	PROPERTYCONCEPT_CASE(AutoNavigator)
	PROPERTYCONCEPT_CASE(Camera)
	PROPERTYCONCEPT_CASE(Destroyable)
	PROPERTYCONCEPT_CASE(Physical)
	PROPERTYCONCEPT_CASE(SelfDestruction)
	PROPERTYCONCEPT_CASE(ThrustControl)
	PROPERTYCONCEPT_CASE(Triggers)
	PROPERTYCONCEPT_CASE(WeaponRack)
	PROPERTYCONCEPT_BUILD_LIST_END
}

} // namespace BFG