1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-05 15:40:10 +00:00
OpenMW/apps/opencs/model/world/subcellcollection.hpp

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

42 lines
1.1 KiB
C++
Raw Normal View History

2014-10-04 15:36:52 +02:00
#ifndef CSM_WOLRD_SUBCOLLECTION_H
#define CSM_WOLRD_SUBCOLLECTION_H
#include "nestedidcollection.hpp"
2015-04-09 19:29:03 +10:00
namespace ESM
{
class ESMReader;
}
2014-10-04 15:36:52 +02:00
namespace CSMWorld
{
struct Cell;
2014-10-04 15:36:52 +02:00
/// \brief Single type collection of top level records that are associated with cells
2022-09-22 21:26:05 +03:00
template <typename ESXRecordT, typename IdAccessorT = IdAccessor<ESXRecordT>>
class SubCellCollection : public NestedIdCollection<ESXRecordT, IdAccessorT>
2014-10-04 15:36:52 +02:00
{
2022-09-22 21:26:05 +03:00
const IdCollection<Cell, IdAccessor<Cell>>& mCells;
2014-10-04 15:36:52 +02:00
2022-09-22 21:26:05 +03:00
void loadRecord(ESXRecordT& record, ESM::ESMReader& reader, bool& isDeleted) override;
2014-10-04 15:36:52 +02:00
2022-09-22 21:26:05 +03:00
public:
SubCellCollection(const IdCollection<Cell, IdAccessor<Cell>>& cells);
2014-10-04 15:36:52 +02:00
};
2022-09-22 21:26:05 +03:00
template <typename ESXRecordT, typename IdAccessorT>
void SubCellCollection<ESXRecordT, IdAccessorT>::loadRecord(
ESXRecordT& record, ESM::ESMReader& reader, bool& isDeleted)
2014-10-04 15:36:52 +02:00
{
2022-09-22 21:26:05 +03:00
record.load(reader, isDeleted, mCells);
2014-10-04 15:36:52 +02:00
}
2022-09-22 21:26:05 +03:00
template <typename ESXRecordT, typename IdAccessorT>
SubCellCollection<ESXRecordT, IdAccessorT>::SubCellCollection(const IdCollection<Cell, IdAccessor<Cell>>& cells)
: mCells(cells)
{
}
2014-10-04 15:36:52 +02:00
}
#endif