#pragma once

#include "Adept.hpp"

namespace Adept 
{
	class Entity;

	class Site:
		public Stuff::Plug
	{
	public:
		Site(const Stuff::LinearMatrix4D& local_to_parent, Entity *parent, const Stuff::MString& site_name);
		~Site();
		void 
			SaveToStream(Stuff::MemoryStream *stream);

		LinearMatrix4D 
			GetLocalToWorld();
		Entity*
			GetParent()
				{Check_Object(this);
                Check_Object(m_parent);
                return m_parent;}
		MString
			GetName()
				{Check_Object(this); return m_name;}

	protected:
		Stuff::LinearMatrix4D m_localToParent;
		Entity *m_parent;
		Stuff::MString m_name;
		
	};
}

