1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-25 21:38:59 +02:00

CGShipyard, CGShrine serialization

This commit is contained in:
AlexVinS 2016-02-09 09:17:20 +03:00
parent 401ba48257
commit 53dc49e92a
2 changed files with 13 additions and 16 deletions

View File

@ -367,20 +367,10 @@ void CGObjectInstance::readJson(const JsonNode & json)
void CGObjectInstance::writeJsonOptions(JsonNode & json) const
{
json.setType(JsonNode::DATA_STRUCT);
// //todo: move up to descendants
// if(tempOwner != PlayerColor::UNFLAGGABLE)
// {
// PlayerColor p (tempOwner);
// if(p.isValidPlayer())
// json["owner"].String() = GameConstants::PLAYER_COLOR_NAMES[p.getNum()];
// }
}
void CGObjectInstance::readJsonOptions(const JsonNode & json)
{
// if(json["owner"].getType() == JsonNode::DATA_STRING)
// tempOwner = PlayerColor(vstd::find_pos(GameConstants::PLAYER_COLOR_NAMES, json["owner"].String()));
}
void CGObjectInstance::writeOwner(JsonNode & json) const

View File

@ -1660,15 +1660,23 @@ std::string CGShrine::getHoverText(const CGHeroInstance * hero) const
void CGShrine::writeJsonOptions(JsonNode& json) const
{
if(spell != SpellID::NONE)
{
json["spell"].String() = spell.toSpell()->identifier;
}
}
void CGShrine::readJsonOptions(const JsonNode& json)
{
spell = SpellID::NONE;
if(json["spell"].String() != "")
{
auto raw = VLC->modh->identifiers.getIdentifier("core", "spell",json["spell"].String());
if(raw)
spell = SpellID(raw.get());
}
}
void CGSignBottle::initObj()
{
//if no text is set than we pick random from the predefined ones
@ -2017,15 +2025,14 @@ void CGShipyard::onHeroVisit( const CGHeroInstance * h ) const
void CGShipyard::writeJsonOptions(JsonNode& json) const
{
CGObjectInstance::writeOwner(json);
}
void CGShipyard::readJsonOptions(const JsonNode& json)
{
CGObjectInstance::readOwner(json);
}
void CCartographer::onHeroVisit( const CGHeroInstance * h ) const
{
//if player has not bought map of this subtype yet and underground exist for stalagmite cartographer