void getXMLProperty(const pugi::xml_node& node, const String& propName, String& ret, GetterBehavior opt, const ErrorReporter& reporter) { const pugi::xml_attribute attrib = node.attribute(propName.c_str()); if (attrib) ret = attrib.value(); else if (opt == VALUE_REQUIRED) reporter.reportError("Failed reading \"" + propName + "\" property."); }
bool Action::loadFunction(const pugi::xml_attribute& attr) { const char* functionName = attr.as_string(); if (strcasecmp(functionName, "increaseitemid") == 0) { function = increaseItemId; } else if (strcasecmp(functionName, "decreaseitemid") == 0) { function = decreaseItemId; } else if (strcasecmp(functionName, "market") == 0) { function = enterMarket; } else { std::cout << "[Warning - Action::loadFunction] Function \"" << functionName << "\" does not exist." << std::endl; return false; } m_scripted = false; return true; }
bool Action::loadFunction(const pugi::xml_attribute& attr, bool isScripted) { const char* functionName = attr.as_string(); if (strcasecmp(functionName, "market") == 0) { function = enterMarket; } else { if (!isScripted) { std::cout << "[Warning - Action::loadFunction] Function \"" << functionName << "\" does not exist." << std::endl; return false; } } if (!isScripted) { scripted = false; } return true; }
bool MoveEvent::loadFunction(const pugi::xml_attribute& attr) { const char* functionName = attr.as_string(); if (strcasecmp(functionName, "onstepinfield") == 0) { stepFunction = StepInField; } else if (strcasecmp(functionName, "onstepoutfield") == 0) { stepFunction = StepOutField; } else if (strcasecmp(functionName, "onaddfield") == 0) { moveFunction = AddItemField; } else if (strcasecmp(functionName, "onremovefield") == 0) { moveFunction = RemoveItemField; } else if (strcasecmp(functionName, "onequipitem") == 0) { equipFunction = EquipItem; } else if (strcasecmp(functionName, "ondeequipitem") == 0) { equipFunction = DeEquipItem; } else { std::cout << "[Warning - MoveEvent::loadFunction] Function \"" << functionName << "\" does not exist." << std::endl; return false; } m_scripted = false; return true; }
bool operator()(pugi::xml_attribute attr) const { return (attr.name() == name); }