#include "Action.h" Action::Action() { type = ""; valueParameterName = ""; valueParameterString = ""; valueParameterDouble = 0.0; } Action::Action(AMFArrayValue* arguments) { type = ""; valueParameterName = ""; valueParameterString = ""; valueParameterDouble = 0.0; for (auto& typeValueMap : arguments->GetAssociative()) { if (typeValueMap.first == "Type") { if (typeValueMap.second->GetValueType() != eAmf::String) continue; type = static_cast(typeValueMap.second)->GetValue(); } else { valueParameterName = typeValueMap.first; // Message is the only known string parameter if (valueParameterName == "Message") { if (typeValueMap.second->GetValueType() != eAmf::String) continue; valueParameterString = static_cast(typeValueMap.second)->GetValue(); } else { if (typeValueMap.second->GetValueType() != eAmf::Double) continue; valueParameterDouble = static_cast(typeValueMap.second)->GetValue(); } } } }