Example #1
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  int $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     if ($id == 'new') {
         $obj = new Map();
     } else {
         $obj = Map::findOrFail($id);
     }
     $obj->title = $request->get('title');
     $obj->tileset_id = $request->get('tileset_id');
     $obj->map_id_up = $request->get('map_id_up') > 0 ? $request->get('map_id_up') : null;
     $obj->map_id_below = $request->get('map_id_below') > 0 ? $request->get('map_id_below') : null;
     $obj->map_id_right = $request->get('map_id_right') > 0 ? $request->get('map_id_right') : null;
     $obj->map_id_left = $request->get('map_id_left') > 0 ? $request->get('map_id_left') : null;
     $obj->save();
     dd($_POST);
     exit;
     MapTexture::where('map_id', $obj->id)->delete();
     foreach ($request->get('layer') as $layer_number => $tiles) {
         foreach ($tiles as $position => $tile) {
             if (!empty($tile['tile'])) {
                 $meta = new MapTexture();
                 $meta->map_id = $obj->id;
                 $meta->position = $position;
                 $meta->layer_number = $layer_number;
                 $meta->texture = $tile['tile'];
                 $meta->save();
             }
         }
     }
     if ($request->has('lock')) {
         foreach ($request->get('lock') as $position => $value) {
             if ($value == 'true') {
                 $meta = new MapInformation();
                 $meta->map_id = $obj->id;
                 $meta->position = $position;
                 $meta->type = 'locked';
                 $meta->save();
             }
         }
     }
     return redirect('/game/maps/' . $obj->id);
 }