// // level.hpp // danmaku // // Created by Sam Jaffe on 5/26/19. // Copyright © 2019 Sam Jaffe. All rights reserved. // #pragma once #include "game/engine/scene.hpp" #include #include #include #include namespace danmaku { class actor; class bullet; class player; class level : public engine::scene { public: level(Json::Value const & json, std::shared_ptr); ~level(); void update(float delta) override; void render(graphics::renderer & renderer) override; void add_bullet(bullet b); public: void update_waves(float delta); private: player * player_; std::vector> actors_; std::vector> bullets_; struct { float const interval; float remainder{0.f}; } wave_timer_; std::deque>> waves_; }; }