2023-01-23 20:44:49 +00:00
|
|
|
#include <components/esm/esm3esm4bridge.hpp>
|
2023-01-22 22:40:55 +00:00
|
|
|
#include <components/esm3/loadcell.hpp>
|
|
|
|
#include <components/esm4/loadcell.hpp>
|
|
|
|
|
|
|
|
namespace ESM
|
|
|
|
{
|
|
|
|
const ESM::CellCommon* CellVariant::getCommon() const
|
|
|
|
{
|
2023-01-23 18:08:52 +00:00
|
|
|
if (isEsm4())
|
|
|
|
return &getEsm4();
|
2023-01-22 22:40:55 +00:00
|
|
|
else
|
2023-01-23 18:08:52 +00:00
|
|
|
return &getEsm3();
|
|
|
|
}
|
|
|
|
|
|
|
|
const ESM4::Cell& CellVariant::getEsm4() const
|
|
|
|
{
|
|
|
|
auto cell4 = std::get<0>(mVariant);
|
|
|
|
if (!cell4)
|
|
|
|
throw std::runtime_error("invalid variant acess");
|
|
|
|
return *cell4;
|
|
|
|
}
|
|
|
|
|
|
|
|
const ESM::Cell& CellVariant::getEsm3() const
|
|
|
|
{
|
|
|
|
auto cell = std::get<1>(mVariant);
|
|
|
|
if (!cell)
|
|
|
|
throw std::runtime_error("invalid variant acess");
|
|
|
|
return *cell;
|
2023-01-22 22:40:55 +00:00
|
|
|
}
|
|
|
|
}
|