Browse Source

Use the internal scaling mechanism of engine::to_object.

Sam Jaffe 6 years ago
parent
commit
d63e2f13ba
2 changed files with 5 additions and 11 deletions
  1. 1 1
      Resources/scripts/entity/drake.json
  2. 4 10
      src/serial.cxx

+ 1 - 1
Resources/scripts/entity/drake.json

@@ -23,7 +23,7 @@
       "bulletSpeed":900,
       "prototype":{
         "damage":2,
-        "size":10.0,
+        "scale":10.0,
         "material":{
           "texture":{
             "uniform":"u_diffuseMap"

+ 4 - 10
src/serial.cxx

@@ -23,11 +23,8 @@ namespace danmaku {
     auto get_attack = [&](Json::Value const & j, actor * a) {
       return bp_factory.get(j["id"].asString(), std::move(a), j, mgr);
     };
-    // TODO: Pass-through this scaling...
-    auto object = engine::to_object(json, mgr);
-    object.location.size *= json["scale"].asFloat();
-    object.points = object.location;
-    return actor_factory::instance().get(json["type"].asString(), json, object,
+    return actor_factory::instance().get(json["type"].asString(), json,
+                                         engine::to_object(json, mgr),
                                          get_attack);
   }
 
@@ -37,11 +34,8 @@ namespace danmaku {
     auto get_attack = [&](Json::Value const & j, actor * a) {
       return bp_factory.get(j["id"].asString(), std::move(a), j, mgr);
     };
-    // TODO: Pass-through this scaling...
-    auto object = engine::to_object(json, mgr);
-    object.location.size *= json["scale"].asFloat();
-    object.points = object.location;
-    return std::make_unique<player>(json, object, get_attack);
+    return std::make_unique<player>(json, engine::to_object(json, mgr),
+                                    get_attack);
   }
 
   points_map to_points_map(Json::Value const & json) {