@@ -346,4 +346,99 @@ void RuleCraft::setBattlescapeTerrainData(RuleTerrain *terrain)
346346 _battlescapeTerrainData = terrain;
347347}
348348
349+ /* *
350+ * Loads the craft from a YAML file.
351+ * @param node YAML node.
352+ */
353+ void RuleCraft::load (const YAML ::Node &node)
354+ {
355+ for (YAML ::Iterator i = node.begin (); i != node.end (); ++i)
356+ {
357+ std::string key;
358+ i.first () >> key;
359+ if (key == " type" )
360+ {
361+ i.second () >> _type;
362+ }
363+ if (key == " sprite" )
364+ {
365+ i.second () >> _sprite;
366+ }
367+ else if (key == " fuelMax" )
368+ {
369+ i.second () >> _fuelMax;
370+ }
371+ else if (key == " damageMax" )
372+ {
373+ i.second () >> _damageMax;
374+ }
375+ else if (key == " speedMax" )
376+ {
377+ i.second () >> _speedMax;
378+ }
379+ else if (key == " accel" )
380+ {
381+ i.second () >> _accel;
382+ }
383+ else if (key == " weapons" )
384+ {
385+ i.second () >> _weapons;
386+ }
387+ else if (key == " soldiers" )
388+ {
389+ i.second () >> _soldiers;
390+ }
391+ else if (key == " hwps" )
392+ {
393+ i.second () >> _hwps;
394+ }
395+ else if (key == " cost" )
396+ {
397+ i.second () >> _cost;
398+ }
399+ else if (key == " repair" )
400+ {
401+ i.second () >> _repair;
402+ }
403+ else if (key == " refuel" )
404+ {
405+ i.second () >> _refuel;
406+ }
407+ else if (key == " time" )
408+ {
409+ i.second () >> _time;
410+ }
411+ else if (key == " score" )
412+ {
413+ i.second () >> _score;
414+ }
415+ }
416+ }
417+
418+ /* *
419+ * Saves the craft to a YAML file.
420+ * @param out YAML emitter.
421+ */
422+ void RuleCraft::save (YAML ::Emitter &out) const
423+ {
424+ out << YAML ::BeginMap;
425+ out << YAML ::Key << " type" << YAML ::Value << _type;
426+ out << YAML ::Key << " sprite" << YAML ::Value << _sprite;
427+ out << YAML ::Key << " fuelMax" << YAML ::Value << _fuelMax;
428+ out << YAML ::Key << " damageMax" << YAML ::Value << _damageMax;
429+ out << YAML ::Key << " speedMax" << YAML ::Value << _speedMax;
430+ out << YAML ::Key << " accel" << YAML ::Value << _accel;
431+ out << YAML ::Key << " weapons" << YAML ::Value << _weapons;
432+ out << YAML ::Key << " soldiers" << YAML ::Value << _soldiers;
433+ out << YAML ::Key << " hwps" << YAML ::Value << _hwps;
434+ out << YAML ::Key << " cost" << YAML ::Value << _cost;
435+ out << YAML ::Key << " repair" << YAML ::Value << _repair;
436+ out << YAML ::Key << " refuel" << YAML ::Value << _refuel;
437+ out << YAML ::Key << " range" << YAML ::Value << _range;
438+ out << YAML ::Key << " time" << YAML ::Value << _time;
439+ out << YAML ::Key << " score" << YAML ::Value << _score;
440+ out << YAML ::EndMap;
441+ }
442+
349443}
444+
0 commit comments