void init(const std::string& name) {}
- void importSceneBindings(Mf::Script& script)
+ void importSceneBindings(Mf::Settings& settings, Mf::Script& script)
{
script.importFunction("SetBounds",
boost::bind(&Impl::setBounds, this, _1));
boost::bind(&Impl::drawTile, this, _1));
int detail = 3;
- Mf::settings.get("detail", detail);
+ settings.get("detail", detail);
script.push(detail); script.set("detail");
script.push(1); script.set("LOW");
}
- Mf::Script::Result load(Mf::Script& script)
+ Mf::Script::Result load(Mf::Settings& settings, Mf::Script& script)
{
- std::string filePath = Scene::getPath(getName());
- if (filePath == "")
+ std::string path(getName());
+ if (!Scene::getPath(path))
{
script.push("the scene file could not be found");
return Mf::Script::FILE_ERROR;
}
- importSceneBindings(script);
- return script.doFile(filePath);
+ importSceneBindings(settings, script);
+ return script.doFile(path);
}
mImpl(Scene::Impl::getInstance(name)) {}
-Mf::Script::Result Scene::load(Mf::Script& script)
+Mf::Script::Result Scene::load(Mf::Settings& settings, Mf::Script& script)
{
// pass through
- return mImpl->load(script);
+ return mImpl->load(settings, script);
}
}
-std::string Scene::getPath(const std::string& name)
+bool Scene::getPath(std::string& name)
{
- return Mf::Resource::getPath("scenes/" + name + ".lua");
+ return Mf::Resource::getPath(name, "scenes/", "lua");
}