ConfigPacket.hpp 2.17 KiB
// 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