void StartElement(XmlReader& stream, const char* name, const char** /* atts */) { if (strcmp(name, "command_id") == 0) field = &ref.command_id; else if (strcmp(name, "parameter_a") == 0) field = &ref.parameter_a; else if (strcmp(name, "parameter_b") == 0) field = &ref.parameter_b; else if (strcmp(name, "parameter_c") == 0) field = &ref.parameter_c; else if (strcmp(name, "parameter_string") == 0) parameter_string = true; else { stream.Error("Unrecognized field '%s'", name); field = NULL; parameter_string = false; } }
void StartElement(XmlReader& stream, const char* name, const char** /* atts */) { if (strcmp(name, "maxhp") == 0) field = &ref.maxhp; else if (strcmp(name, "maxsp") == 0) field = &ref.maxsp; else if (strcmp(name, "attack") == 0) field = &ref.attack; else if (strcmp(name, "defense") == 0) field = &ref.defense; else if (strcmp(name, "spirit") == 0) field = &ref.spirit; else if (strcmp(name, "agility") == 0) field = &ref.agility; else { stream.Error("Unrecognized field '%s'", name); field = NULL; } }
void StartElement(XmlReader& stream, const char* name, const char** atts) { if (strcmp(name, Struct<S>::name) != 0) stream.Error("Expecting %s but got %s", Struct<S>::name, name); Struct<S>::IDReader::ReadIDXml(ref, atts); stream.SetHandler(new StructXmlHandler<S>(ref)); }