// Created by hoelshare on 27.05.17. // #ifndef GPN_BADGELASERTAG_CONFIGPAKET_HPP #define GPN_BADGELASERTAG_CONFIGPAKET_HPP #include "url-encode.h" struct ConfigPacket { int magazineSize[3]; int damage[3]; int magazineReloadTime[3]; int shotTime[3]; int resistance; int health; #define TYP "ConfigPacket" String serial() { String ret = ""; ret += "typ=" + String(TYP); ret += "&mag0=" + String(magazineSize[0]); ret += "&mag1=" + String(magazineSize[1]); ret += "&mag2=" + String(magazineSize[2]); ret += "&dmg0=" + String(damage[0]); ret += "&dmg1=" + String(damage[1]); ret += "&dmg2=" + String(damage[2]); ret += "&rlt0=" + String(magazineReloadTime[0]); ret += "&rlt1=" + String(magazineReloadTime[1]); ret += "&rlt2=" + String(magazineReloadTime[2]); ret += "&shotT0=" + String(shotTime[0]); ret += "&shotT1=" + String(shotTime[1]); ret += "&shotT2=" + String(shotTime[2]); ret += "&resistance=" + String(resistance); ret += "&health=" + String(health); return ret; } static ConfigPacket *read(String value) { ConfigPacket *config = new ConfigPacket(); UrlDecode decode(value.c_str()); config->magazineSize[0] = int(decode.getKey("mag0")); config->magazineSize[1] = int(decode.getKey("mag1")); config->magazineSize[2] = int(decode.getKey("mag2")); config->damage[0] = int(decode.getKey("dmg0")); config->damage[1] = int(decode.getKey("dmg1")); config->damage[2] = int(decode.getKey("dmg2")); config->magazineReloadTime[0] = int(decode.getKey("rlt0")); config->magazineReloadTime[1] = int(decode.getKey("rlt1")); config->magazineReloadTime[2] = int(decode.getKey("rlt2")); config->shotTime[0] = int(decode.getKey("shotT0")); config->shotTime[1] = int(decode.getKey("shotT1")); config->shotTime[2] = int(decode.getKey("shotT2")); config->resistance = int(decode.getKey("resistance")); config->health = int(decode.getKey("health")); return config; } }; #endif //GPN_BADGELASERTAG_CONFIGPAKET_HPP