Ejemplo n.º 1
0
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();
}
Ejemplo n.º 2
0
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();
}
Ejemplo n.º 3
0
bool GuiElement::detach(AttachSide side)
{
	if(isAttached(side))
	{
		getAttached(side)->detach(this);
		return true;
	}
	else
		return false;
}
Ejemplo n.º 4
0
bool GuiElement::isAttached(AttachSide side)
{
	return (bool)getAttached(side);
}