string Equipment::serialize() { stringstream str; str << "\"" << getID() << "\":{ "; str << "\"equipType\": \"" << getType() << "\","; //Actor* owner = get_owner(); //str << "\"equipOwner\": \"" << ((owner == NULL) ? "" : owner->getID()) << "\","; str << "\"equipOwner\": \"" << this->player->get_userid() << "\","; if(getAttached()->size() > 0) { str << "\"equipment\": [ "; set<string>* children = getAttached(); for(set<string>::iterator it = children->begin(); it != children->end(); it++) str << "\"" << *it << "\","; str.seekp((long)str.tellp() - 1); str << "],"; } string modtraits = serializeModTraits(); if(modtraits.empty()) str.seekp((long)str.tellp() - 1); else str << modtraits; str << "}"; return str.str(); }
string Unit::serialize() { stringstream str; str << "\"" << getID() << "\":{ "; str << "\"unitType\": \"" << getType() << "\","; str << "\"unitOwner\": \"" << getPlayer()->get_userid() << "\","; str << "\"pos\": \"" << (int)floor(getPos().x) << " " << (int)floor(getPos().y) << "\","; //str << "\"dir\":" << getDir(); if(this->attached->size() > 0) { str << "\"equipment\": [ "; set<string>* children = getAttached(); for(set<string>::iterator it = children->begin(); it != children->end(); it++) str << "\"" << *it << "\","; str.seekp((long)str.tellp() - 1); str << "],"; } string modtraits = serializeModTraits(); if(modtraits.empty()) str.seekp((long)str.tellp() - 1); else str << modtraits; str << "}"; return str.str(); }
bool GuiElement::detach(AttachSide side) { if(isAttached(side)) { getAttached(side)->detach(this); return true; } else return false; }
bool GuiElement::isAttached(AttachSide side) { return (bool)getAttached(side); }