|
@@ -299,46 +299,35 @@ namespace oxygine
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- sort();
|
|
|
|
|
FS_LOG("xml loaded");
|
|
FS_LOG("xml loaded");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ void Resources::collect(resources&)
|
|
|
|
|
+ {
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
void Resources::add(Resource* r)
|
|
void Resources::add(Resource* r)
|
|
|
{
|
|
{
|
|
|
OX_ASSERT(r);
|
|
OX_ASSERT(r);
|
|
|
if (!r)
|
|
if (!r)
|
|
|
return;
|
|
return;
|
|
|
- /*
|
|
|
|
|
- OX_ASSERT(_resources[r->getName()] == 0);
|
|
|
|
|
-
|
|
|
|
|
- _resources[r->getName()] = r;
|
|
|
|
|
- */
|
|
|
|
|
|
|
|
|
|
//todo insert to correct place
|
|
//todo insert to correct place
|
|
|
r->setName(lower(r->getName()));
|
|
r->setName(lower(r->getName()));
|
|
|
- _fastAccessResources.push_back(r);
|
|
|
|
|
-
|
|
|
|
|
- //if (own)
|
|
|
|
|
- // _owned.push_back(r);
|
|
|
|
|
- //OX_ASSERT(0);
|
|
|
|
|
|
|
+ _fastAccessResources[r->getName()] = r;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
- void Resources::print()
|
|
|
|
|
|
|
+ void Resources::print() const
|
|
|
{
|
|
{
|
|
|
log::message("resources:\n");
|
|
log::message("resources:\n");
|
|
|
- for (resources::iterator i = _fastAccessResources.begin(); i != _fastAccessResources.end(); ++i)
|
|
|
|
|
|
|
+ for (resourcesMap::const_iterator i = _fastAccessResources.cbegin(); i != _fastAccessResources.cend(); ++i)
|
|
|
{
|
|
{
|
|
|
- spResource res = *i;
|
|
|
|
|
|
|
+ spResource res = i->second;
|
|
|
log::message("%s\n", res->getName().c_str());
|
|
log::message("%s\n", res->getName().c_str());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- void Resources::sort()
|
|
|
|
|
- {
|
|
|
|
|
- std::sort(_fastAccessResources.begin(), _fastAccessResources.end(), ObjectBasePredicate());
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
Resources::resources& Resources::_getResources()
|
|
Resources::resources& Resources::_getResources()
|
|
|
{
|
|
{
|
|
|
return _resources;
|
|
return _resources;
|
|
@@ -348,13 +337,11 @@ namespace oxygine
|
|
|
{
|
|
{
|
|
|
std::string id = lower(id_);
|
|
std::string id = lower(id_);
|
|
|
|
|
|
|
|
- resources::const_iterator it = std::lower_bound(_fastAccessResources.begin(), _fastAccessResources.end(),
|
|
|
|
|
- id.c_str(), ObjectBasePredicate());
|
|
|
|
|
|
|
+ resourcesMap::const_iterator it = _fastAccessResources.find(id);
|
|
|
|
|
|
|
|
if (it != _fastAccessResources.end())
|
|
if (it != _fastAccessResources.end())
|
|
|
{
|
|
{
|
|
|
- if ((*it)->getName() == id)
|
|
|
|
|
- return (*it).get();
|
|
|
|
|
|
|
+ return it->second.get();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
handleErrorPolicy(ep, "can't find resource: '%s' in '%s'", id.c_str(), _name.c_str());
|
|
handleErrorPolicy(ep, "can't find resource: '%s' in '%s'", id.c_str(), _name.c_str());
|