forked from teamnwah/openmw-tes3coop
Use the const version of CustomData::as*
This commit is contained in:
parent
16e3699739
commit
0d4729dcd5
6 changed files with 16 additions and 4 deletions
|
@ -734,7 +734,7 @@ namespace MWClass
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const CreatureCustomData& customData = dynamic_cast<const CreatureCustomData&>(*ptr.getRefData().getCustomData());
|
const CreatureCustomData& customData = ptr.getRefData().getCustomData()->asCreatureCustomData();
|
||||||
|
|
||||||
customData.mContainerStore->writeState (state2.mInventory);
|
customData.mContainerStore->writeState (state2.mInventory);
|
||||||
customData.mCreatureStats.writeState (state2.mCreatureStats);
|
customData.mCreatureStats.writeState (state2.mCreatureStats);
|
||||||
|
|
|
@ -22,6 +22,10 @@ namespace MWClass
|
||||||
{
|
{
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
virtual const CreatureLevListCustomData& asCreatureLevListCustomData() const
|
||||||
|
{
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
MWWorld::CustomData *CreatureLevListCustomData::clone() const
|
MWWorld::CustomData *CreatureLevListCustomData::clone() const
|
||||||
|
@ -121,7 +125,7 @@ namespace MWClass
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const CreatureLevListCustomData& customData = dynamic_cast<const CreatureLevListCustomData&>(*ptr.getRefData().getCustomData());
|
const CreatureLevListCustomData& customData = ptr.getRefData().getCustomData()->asCreatureLevListCustomData();
|
||||||
state2.mSpawnActorId = customData.mSpawnActorId;
|
state2.mSpawnActorId = customData.mSpawnActorId;
|
||||||
state2.mSpawn = customData.mSpawn;
|
state2.mSpawn = customData.mSpawn;
|
||||||
}
|
}
|
||||||
|
|
|
@ -351,7 +351,7 @@ namespace MWClass
|
||||||
state.mHasCustomState = false;
|
state.mHasCustomState = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const DoorCustomData& customData = dynamic_cast<const DoorCustomData&>(*ptr.getRefData().getCustomData());
|
const DoorCustomData& customData = ptr.getRefData().getCustomData()->asDoorCustomData();
|
||||||
|
|
||||||
ESM::DoorState& state2 = dynamic_cast<ESM::DoorState&>(state);
|
ESM::DoorState& state2 = dynamic_cast<ESM::DoorState&>(state);
|
||||||
state2.mDoorState = customData.mDoorState;
|
state2.mDoorState = customData.mDoorState;
|
||||||
|
|
|
@ -1184,7 +1184,7 @@ namespace MWClass
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const NpcCustomData& customData = dynamic_cast<const NpcCustomData&>(*ptr.getRefData().getCustomData());
|
const NpcCustomData& customData = ptr.getRefData().getCustomData()->asNpcCustomData();
|
||||||
|
|
||||||
customData.mInventoryStore.writeState (state2.mInventory);
|
customData.mInventoryStore.writeState (state2.mInventory);
|
||||||
customData.mNpcStats.writeState (state2.mNpcStats);
|
customData.mNpcStats.writeState (state2.mNpcStats);
|
||||||
|
|
|
@ -63,5 +63,12 @@ MWClass::CreatureLevListCustomData &CustomData::asCreatureLevListCustomData()
|
||||||
throw std::logic_error(error.str());
|
throw std::logic_error(error.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const MWClass::CreatureLevListCustomData &CustomData::asCreatureLevListCustomData() const
|
||||||
|
{
|
||||||
|
std::stringstream error;
|
||||||
|
error << "bad cast " << typeid(this).name() << " to CreatureLevListCustomData";
|
||||||
|
throw std::logic_error(error.str());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,6 +35,7 @@ namespace MWWorld
|
||||||
virtual const MWClass::DoorCustomData& asDoorCustomData() const;
|
virtual const MWClass::DoorCustomData& asDoorCustomData() const;
|
||||||
|
|
||||||
virtual MWClass::CreatureLevListCustomData& asCreatureLevListCustomData();
|
virtual MWClass::CreatureLevListCustomData& asCreatureLevListCustomData();
|
||||||
|
virtual const MWClass::CreatureLevListCustomData& asCreatureLevListCustomData() const;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue