Resource *ResAtlas::create(CreateResourceContext &context)
	{
		context.walker.checkSetAttributes();
		ResAtlas *ra = new ResAtlas();
		ra->setName(Resource::extractID(context.walker.getNode(), "", std::string("!atlas:") + *context.xml_name));
		ra->loadAtlas(context);
		setNode(ra, context.walker.getNode());
		//context.meta = context.meta.next_sibling();
		return ra;
	}
    Resource* ResAtlas::create(CreateResourceContext& context)
    {
        context.walker.checkSetAttributes();
        ResAtlas* ra = 0;
        if (context.walker.getMeta())
        {
            ResAtlasPrebuilt* rs = new ResAtlasPrebuilt(context);

            ra = rs;
        }
        else
        {
            ResAtlasGeneric* rs = new ResAtlasGeneric();
            rs->loadAtlas(context);

            ra = rs;
        }

        ra->setName(_Resource::extractID(context.walker.getNode(), "", std::string("!atlas:") + *context.xml_name));
        context.resources->add(ra);
        setNode(ra, context.walker.getNode());

        return ra;
    }