18 #ifndef INCLUDED_OBJECTBASE
19 #define INCLUDED_OBJECTBASE
28 #include <boost/unordered_set.hpp>
32 #include <boost/random/mersenne_twister.hpp>
bool UsesFile(const VfsPath &pathname)
Returns whether this object (including any possible props) uses the given file.
bool Load(const VfsPath &pathname)
Initialise this object by loading from the given file.
CObjectBase(CObjectManager &objectManager)
std::vector< Prop > m_Props
std::vector< std::vector< Variant > > m_VariantGroups
std::vector< u8 > CalculateVariationKey(const std::vector< std::set< CStr > > &selections)
std::multimap< CStr, Samp > samplers
boost::mt19937 rng
Random number generator (Boost Mersenne Twister)
std::vector< Anim > m_Anims
std::vector< std::vector< CStr > > GetVariantGroups() const
std::vector< Samp > m_Samplers
struct CObjectBase::@7 m_Properties
std::multimap< CStr, Prop > props
CObjectManager & m_ObjectManager
std::set< CStr > CalculateRandomVariation(uint32_t seed, const std::set< CStr > &initialSelections)
bool Reload()
Reload this object from the file that it was previously loaded from.
std::multimap< CStr, Anim > anims
const Variation BuildVariation(const std::vector< u8 > &variationKey)
std::set< CStr > CalculateRandomRemainingSelections(uint32_t seed, const std::vector< std::set< CStr > > &initialSelections)
boost::unordered_set< VfsPath > m_UsedFiles