void GlobalScripts::addScript (const std::string& name) { if (mScripts.find (name)==mScripts.end()) if (const ESM::Script *script = mStore.scripts.find (name)) { Locals locals; locals.configure (*script); mScripts.insert (std::make_pair (name, std::make_pair (true, locals))); } }
void GlobalScripts::addScript (const std::string& name) { std::map<std::string, std::pair<bool, Locals> >::iterator iter = mScripts.find (::Misc::StringUtils::lowerCase (name)); if (iter==mScripts.end()) { if (const ESM::Script *script = mStore.get<ESM::Script>().find (name)) { Locals locals; locals.configure (*script); mScripts.insert (std::make_pair (name, std::make_pair (true, locals))); } } else iter->second.first = true; }
Locals& GlobalScripts::getLocals (const std::string& name) { std::string name2 = ::Misc::StringUtils::lowerCase (name); std::map<std::string, std::pair<bool, Locals> >::iterator iter = mScripts.find (name2); if (iter==mScripts.end()) { if (const ESM::Script *script = mStore.get<ESM::Script>().find (name)) { Locals locals; locals.configure (*script); iter = mScripts.insert (std::make_pair (name, std::make_pair (false, locals))).first; } } return iter->second.second; }