/***************************************************************************
*                                                                          *
*  Copyright (C) Golaem S.A.  All Rights Reserved.                         *
*                                                                          *
****************************************************************************/

#pragma once

#include "glmRTTI.h"

namespace glm
{
	struct MeshAssetV0;

	/**
	* \brief Group of assets
	*/
	struct AssetsGroupV0
	{
		GLM_RTTI("8f856350-9829-4a84-8445-4663ddb19794", AssetsGroupV0, addAttributes)
	public:
		GLM_CLASS_STAT_ID( glm::MemoryStatIds::GolaemShared);

		/// The name of the group
		glm::GlmString _name;

		/// The assets
		glm::Array<MeshAssetV0*> _assets;

		AssetsGroupV0();
		~AssetsGroupV0();

		/**
		* \brief Erases an asset from this group
		*/
		void eraseAsset(unsigned int assetIndex);

	protected:
		/**
		* \brief Inspection needed method declaring the inspectable attributes.
		*/
		static void addAttributes();

	private:
		GLM_DISALLOW_COPY_AND_ASSIGN(AssetsGroupV0);
	};
}

