X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FScene.hh;h=f9963e85dd0ea1e7567a5fd7e63f08daec01e47f;hp=ca96aeaca15d93d5053919afa98d5cbd5b38822b;hb=c9e20ac06383b20ceb5404c9237e319c2e90d157;hpb=a4debfe4a5f5d339410788971b698ba00cb7f09c diff --git a/src/Scene.hh b/src/Scene.hh index ca96aea..f9963e8 100644 --- a/src/Scene.hh +++ b/src/Scene.hh @@ -36,6 +36,10 @@ #include #include #include +#include + + +class Character; class Scene; @@ -44,20 +48,26 @@ typedef boost::shared_ptr SceneP; class Scene : public Mf::Cullable, public Mf::Drawable, public Mf::Resource { class Impl; - boost::shared_ptr impl_; + boost::shared_ptr mImpl; public: - Scene(const std::string& name); + explicit Scene(const std::string& name); static SceneP alloc(const std::string& name) { return SceneP(new Scene(name)); } + Mf::Script::Status load(Mf::Script& script); + void draw(Mf::Scalar alpha) const; void drawIfVisible(Mf::Scalar alpha, const Mf::Frustum& frustum) const; + Mf::Scalar getZCoord(const Mf::Vector2& position) const; + + bool checkForCollision(Character& character); + static std::string getPath(const std::string& name); };