#ifndef Tree_hpp
#define Tree_hpp

#include <logic/Object.hpp>

class Tree : public MeshObject {
  Time timer = 0;
  const bool isStatic() const override;
  const bool useMatrix() const override;
  Object& onCollision(Object* object) override;
  Object& simulate(const Time dt) override;
  Object& setActive(const bool active) override;
};

namespace Play {
  class Tree : public ::Tree {
    const class Mesh : public LineMesh {
      class Leaf : public RectMesh {
      public:
        Leaf();
      };
    public:
      Mesh(const unsigned int size);
    } mesh;
    const ::Mesh& getMesh() const override;
  public:
    Tree(const unsigned int size);
  };
}

#endif
