|
|
@@ -15,6 +15,7 @@
|
|
|
#include "danmaku/player.hpp"
|
|
|
#include "game/graphics/renderer.hpp"
|
|
|
#include "game/math/common.hpp"
|
|
|
+#include "resource_factory/prototype_factory.hpp"
|
|
|
|
|
|
using namespace danmaku;
|
|
|
|
|
|
@@ -22,8 +23,8 @@ std::vector<std::unique_ptr<actor>>
|
|
|
get_wave(Json::Value const & json, graphics::manager const & manager) {
|
|
|
std::vector<std::unique_ptr<actor>> out;
|
|
|
for (int i = 0; i < json.size(); ++i) {
|
|
|
- // TODO
|
|
|
- out.emplace_back(nullptr);
|
|
|
+ auto & factory = actor_factory::instance();
|
|
|
+ out.emplace_back(factory.get(json["type"].asString(), json, manager));
|
|
|
}
|
|
|
return out;
|
|
|
}
|
|
|
@@ -51,7 +52,7 @@ void level::add_bullet(bullet b) {
|
|
|
}
|
|
|
|
|
|
void level::update(float delta) {
|
|
|
-
|
|
|
+ update_waves(delta);
|
|
|
for (auto & a : actors_) {
|
|
|
a->update(delta);
|
|
|
}
|