MWWorld::ContainerStore& Container::getContainerStore (const MWWorld::Ptr& ptr) const { ensureCustomData (ptr); return ptr.getRefData().getCustomData()->asContainerCustomData().mContainerStore; }
MWWorld::ContainerStore& Creature::getContainerStore (const MWWorld::Ptr& ptr) const { ensureCustomData (ptr); return dynamic_cast<CustomData&> (*ptr.getRefData().getCustomData()).mContainerStore; }
void Light::setRemainingUsageTime (const MWWorld::Ptr& ptr, float duration) const { ensureCustomData(ptr); float &timeRemaining = dynamic_cast<LightCustomData&> (*ptr.getRefData().getCustomData()).mTime; timeRemaining = duration; }
MWWorld::InventoryStore& Npc::getInventoryStore (const MWWorld::Ptr& ptr) const { ensureCustomData (ptr); return dynamic_cast<CustomData&> (*ptr.getRefData().getCustomData()).mInventoryStore; }
void Door::writeAdditionalState (const MWWorld::Ptr& ptr, ESM::ObjectState& state) const { ensureCustomData(ptr); const DoorCustomData& customData = dynamic_cast<const DoorCustomData&>(*ptr.getRefData().getCustomData()); ESM::DoorState& state2 = dynamic_cast<ESM::DoorState&>(state); state2.mDoorState = customData.mDoorState; }
void Door::setDoorState (const MWWorld::Ptr &ptr, int state) const { if (ptr.getCellRef().getTeleport()) throw std::runtime_error("load doors can't be moved"); ensureCustomData(ptr); DoorCustomData& customData = ptr.getRefData().getCustomData()->asDoorCustomData(); customData.mDoorState = state; }
void Light::writeAdditionalState (const MWWorld::Ptr& ptr, ESM::ObjectState& state) const { ESM::LightState& state2 = dynamic_cast<ESM::LightState&> (state); ensureCustomData (ptr); state2.mTime = dynamic_cast<LightCustomData&> (*ptr.getRefData().getCustomData()).mTime; }
void Light::readAdditionalState (const MWWorld::Ptr& ptr, const ESM::ObjectState& state) const { const ESM::LightState& state2 = dynamic_cast<const ESM::LightState&> (state); ensureCustomData (ptr); dynamic_cast<CustomData&> (*ptr.getRefData().getCustomData()).mTime = state2.mTime; }
void Container::writeAdditionalState (const MWWorld::Ptr& ptr, ESM::ObjectState& state) const { ESM::ContainerState& state2 = dynamic_cast<ESM::ContainerState&> (state); ensureCustomData (ptr); dynamic_cast<ContainerCustomData&> (*ptr.getRefData().getCustomData()).mContainerStore. writeState (state2.mInventory); }
void Door::readAdditionalState (const MWWorld::Ptr& ptr, const ESM::ObjectState& state) const { if (!state.mHasCustomState) return; ensureCustomData(ptr); DoorCustomData& customData = ptr.getRefData().getCustomData()->asDoorCustomData(); const ESM::DoorState& state2 = dynamic_cast<const ESM::DoorState&>(state); customData.mDoorState = state2.mDoorState; }
MWMechanics::CreatureStats& Creature::getCreatureStats (const MWWorld::Ptr& ptr) const { ensureCustomData (ptr); return dynamic_cast<CustomData&> (*ptr.getRefData().getCustomData()).mCreatureStats; }
float Light::getRemainingUsageTime (const MWWorld::Ptr& ptr) const { ensureCustomData(ptr); return dynamic_cast<LightCustomData&> (*ptr.getRefData().getCustomData()).mTime; }
MWMechanics::Movement& Creature::getMovementSettings (const MWWorld::Ptr& ptr) const { ensureCustomData (ptr); return dynamic_cast<CustomData&> (*ptr.getRefData().getCustomData()).mMovement; }
MWMechanics::NpcStats& Npc::getNpcStats (const MWWorld::Ptr& ptr) const { ensureCustomData (ptr); return dynamic_cast<CustomData&> (*ptr.getRefData().getCustomData()).mNpcStats; }
int Door::getDoorState (const MWWorld::Ptr &ptr) const { ensureCustomData(ptr); const DoorCustomData& customData = dynamic_cast<const DoorCustomData&>(*ptr.getRefData().getCustomData()); return customData.mDoorState; }