athena/include/Athena/ALTTPFile.hpp

77 lines
1.8 KiB
C++
Raw Normal View History

2015-03-01 20:42:39 +00:00
#ifndef ALTTP_FILE_HPP
#define ALTTP_FILE_HPP
2015-07-22 05:37:22 +00:00
#include "Athena/Global.hpp"
#include <vector>
2014-04-20 09:14:15 +00:00
namespace Athena
2013-07-21 03:57:20 +00:00
{
class ALTTPQuest;
/*! \class ALTTPFile
2013-07-21 03:57:20 +00:00
* \brief A Link to the Past data container class class
*
* Contains all relevant data for an A Link to the Past
* SRM file.
*/
class ALTTPFile
{
public:
/*! \brief Quest Iterator
*
* An Iterator typedef for iterating through the Quest lists
*/
typedef std::vector<ALTTPQuest*>::iterator QuestIter;
/*! \brief Default constructor
*
*
*/
ALTTPFile();
/*! \brief Constructor
*
* \param questList The primary quest list
* \param backupList The backup quest list
*/
ALTTPFile(std::vector<ALTTPQuest*> questList, std::vector<ALTTPQuest*> backupList);
/*! \brief Sets a quest at the given index
*
* \param id Index to the given quest
* \param val The new quest to assign to the given index
* \throw InvalidOperationException on index out of range
*/
void setQuest(atUint32 id, ALTTPQuest* val);
/*! \brief Returns the primary quest list
*
* \return The primary quest list
*/
std::vector<ALTTPQuest*> questList() const;
/*! \brief Returns a quest at the given index
*
* Returns a quest at the given index
*
* \return ALTTPQuest*
* \throw InvalidOperationException on index out of range
*/
ALTTPQuest* quest(atUint32 id) const;
/*! \brief Returns the number of primary quests
*
* \return The number of quests
*/
atUint32 questCount() const;
private:
std::vector<ALTTPQuest*> m_quests;
std::vector<ALTTPQuest*> m_backup;
};
2013-07-21 03:57:20 +00:00
} // zelda
2015-03-01 20:42:39 +00:00
#endif // ALTTP_FILE_HPP