#pragma once

// Custom Classes
#include "CDTable.h"

/*!
 \file CDScriptComponentTable.hpp
 \brief Contains data for the ScriptComponent table
 */

 //! ScriptComponent Struct
struct CDScriptComponent {
	unsigned int id;                        //!< The component ID
	std::string script_name;           //!< The script name
	std::string client_script_name;    //!< The client script name
};

//! ObjectSkills table
class CDScriptComponentTable : public CDTable {
private:
	std::map<unsigned int, CDScriptComponent> entries;
	CDScriptComponent m_ToReturnWhenNoneFound;

public:
	//! Gets an entry by ID
	const CDScriptComponent& GetByID(unsigned int id);

	//! Constructor
	CDScriptComponentTable(void);

	//! Destructor
	~CDScriptComponentTable(void);

	//! Returns the table's name
	/*!
	 \return The table name
	 */
	std::string GetName(void) const override;

	//! Queries the table with a custom "where" clause
	/*!
	 \param predicate The predicate
	 */

};