This system manages basic random enemy behavior, including creation, random shooting, and projectile spawning.

namespace systems {
        class BasicRandomEnnemiesSystem : public ISystems {
          public:
            void createNewProjectile(
                Registry &r,
                const ecs::component::Position &ennemiesPos,
                std::shared_ptr<IContext> &ctx
            );
            void createNewEnnemies(Registry &r, std::shared_ptr<IContext> &ctx);
            int nbOfBasicEnnemies(Registry &r);
            void shootRandomly(Registry &r, ecs::component::Position &enemyPos, std::shared_ptr<IContext> &ctx);
            void operator()(Registry &, std::shared_ptr<IContext> ctx) override;

          private:
            Clock _clock;
            Clock _shootingClock;
        };
    }; // namespace systems

Methods

Private Members