
#ifndef mosaic_mob_effect_hh
#define mosaic_mob_effect_hh

#include "mob_main.hh"

class Mob_dust : public Mob {
 private:
        size_t brush;
        float frame{0};
 public:
        Mob_dust(Mobs& mobs, const itty::Box& box, Place* place);
        bool update(Scene& sc);
        void render(Mobs& mobs);

        static void make_from(Mobs& mobs, Mob* p);
};

class Mob_splat : public Mob {
 private:
        size_t brush;
        float frame{0};
 public:
        Mob_splat(Mobs& mobs, const itty::Box& box, Place* place);
        bool update(Scene& sc);
        void render(Mobs& mobs);
};

class Mob_poof : public Mob {
 private:
        size_t brush;
        float frame{0};
 public:
        Mob_poof(Mobs& mobs, const itty::Box& box, Place* place);
        bool update(Scene& sc);
        void render(Mobs& mobs);
};

#endif // mosaic_mob_effect_hh
