void Struct<S>::WriteXml(const S& obj, XmlWriter& stream) { IDReader::WriteXmlTag(obj, name, stream); for (int i = 0; fields[i] != NULL; i++) { const Field<S>* field = fields[i]; field->WriteXml(obj, stream); } stream.EndElement(name); }
void RawStruct<RPG::Rect>::WriteXml(const RPG::Rect& ref, XmlWriter& stream) { stream.BeginElement("Rect"); stream.WriteNode<int>("l", ref.l); stream.WriteNode<int>("t", ref.t); stream.WriteNode<int>("r", ref.r); stream.WriteNode<int>("b", ref.b); stream.EndElement("Rect"); }
void RawStruct<RPG::EventCommand>::WriteXml(const RPG::EventCommand& event_command, XmlWriter& stream) { stream.BeginElement("EventCommand"); stream.WriteNode<int>("code", event_command.code); stream.WriteNode<int>("indent", event_command.indent); stream.WriteNode<std::string>("string", event_command.string); stream.WriteNode<std::vector<int> >("parameters", event_command.parameters); stream.EndElement("EventCommand"); }
void Flags<S>::WriteXml(const S& obj, XmlWriter& stream) { stream.BeginElement(name); for (int i = 0; flags[i] != NULL; i++) { const Flag* flag = flags[i]; bool S::*ref = flag->ref; stream.WriteNode<bool>(flag->name, obj.*ref); } stream.EndElement(name); }
void RawStruct<RPG::TreeMap>::WriteXml(const RPG::TreeMap& ref, XmlWriter& stream) { stream.BeginElement("TreeMap"); stream.BeginElement("maps"); Struct<RPG::MapInfo>::WriteXml(ref.maps, stream); stream.EndElement("maps"); stream.BeginElement("tree_order"); stream.Write<std::vector<int> >(ref.tree_order); stream.EndElement("tree_order"); stream.WriteNode<int>("active_node", ref.active_node); stream.BeginElement("start"); Struct<RPG::Start>::WriteXml(ref.start, stream); stream.EndElement("start"); stream.EndElement("TreeMap"); }
void RawStruct<RPG::Parameters>::WriteXml(const RPG::Parameters& ref, XmlWriter& stream) { stream.BeginElement("Parameters"); stream.WriteNode<std::vector<int16_t> >("maxhp", ref.maxhp); stream.WriteNode<std::vector<int16_t> >("maxsp", ref.maxsp); stream.WriteNode<std::vector<int16_t> >("attack", ref.attack); stream.WriteNode<std::vector<int16_t> >("defense", ref.defense); stream.WriteNode<std::vector<int16_t> >("spirit", ref.spirit); stream.WriteNode<std::vector<int16_t> >("agility", ref.agility); stream.EndElement("Parameters"); }
void RawStruct<RPG::MoveCommand>::WriteXml(const RPG::MoveCommand& ref, XmlWriter& stream) { stream.BeginElement("MoveCommand"); stream.WriteNode<int>("command_id", ref.command_id); switch (ref.command_id) { case RPG::MoveCommand::Code::switch_on: stream.WriteNode<int>("parameter_a", ref.parameter_a); break; case RPG::MoveCommand::Code::switch_off: stream.WriteNode<int>("parameter_a", ref.parameter_a); break; case RPG::MoveCommand::Code::change_graphic: stream.WriteNode<std::string>("parameter_string", ref.parameter_string); stream.WriteNode<int>("parameter_a", ref.parameter_a); break; case RPG::MoveCommand::Code::play_sound_effect: stream.WriteNode<std::string>("parameter_string", ref.parameter_string); stream.WriteNode<int>("parameter_a", ref.parameter_a); stream.WriteNode<int>("parameter_b", ref.parameter_b); stream.WriteNode<int>("parameter_c", ref.parameter_c); break; } stream.EndElement("MoveCommand"); }