Пример #1
0
 public static Enemy initEnemy(World world, JSONObject jEnemy) throws JSONException {
   Vector3 position =
       new Vector3((float) jEnemy.getDouble("posx"), (float) jEnemy.getDouble("posy"), 0);
   String enemyClassString = jEnemy.getString("enemy_class");
   Vector2 size =
       new Vector2((float) jEnemy.getDouble("width"), (float) jEnemy.getDouble("height"));
   CLASS enemyClass = CLASS.fromString(enemyClassString);
   Enemy enemy = null;
   switch (enemyClass) {
     case eato:
       enemy = new Eato(world, size, position, jEnemy.optString("direction"));
       break;
     case flyon:
       enemy =
           new Flyon(
               world,
               size,
               position,
               (float) jEnemy.getDouble("max_distance"),
               (float) jEnemy.getDouble("speed"),
               jEnemy.optString("direction", "up"));
       break;
     case furball:
       position.z = Furball.POS_Z;
       enemy = new Furball(world, size, position, jEnemy.optInt("max_downgrade_count"));
       break;
     case turtle:
       position.z = Turtle.POS_Z;
       enemy = new Turtle(world, size, position, jEnemy.optString("color"));
       break;
     case gee:
       enemy =
           new Gee(
               world,
               size,
               position,
               (float) jEnemy.getDouble("fly_distance"),
               jEnemy.getString("color"),
               jEnemy.getString("direction"),
               (float) jEnemy.getDouble("wait_time"));
       break;
     case krush:
       enemy = new Krush(world, size, position);
       break;
     case thromp:
       enemy =
           new Thromp(
               world,
               size,
               position,
               (float) jEnemy.getDouble("max_distance"),
               (float) jEnemy.getDouble("speed"),
               jEnemy.optString("direction", "up"));
       break;
     case spika:
       enemy = new Spika(world, size, position, jEnemy.optString("color"));
       break;
     case rokko:
       enemy = new Rokko(world, size, position, jEnemy.optString("direction"));
       world.screen.game.assets.manager.load("data/sounds/enemy/rokko/hit.mp3", Sound.class);
       break;
     case _static:
       enemy =
           new Static(
               world,
               size,
               position,
               jEnemy.optInt("rotation_speed"),
               jEnemy.optInt("fire_resistance"),
               jEnemy.optInt("ice_resistance"));
       break;
     case spikeball:
       enemy = new Spikeball(world, size, position);
       break;
   }
   return enemy;
 }