2014-12-16 13:12:57 +00:00
|
|
|
#include "orders.h"
|
|
|
|
|
2014-12-16 13:13:00 +00:00
|
|
|
#include "mathtypes.h"
|
|
|
|
|
2014-12-16 13:12:57 +00:00
|
|
|
// Convert an order to a string
|
2014-12-16 13:13:00 +00:00
|
|
|
std::string GetStringFromOrder(const COrder& order )
|
2014-12-16 13:12:57 +00:00
|
|
|
{
|
|
|
|
std::string ret;
|
2014-12-16 13:13:02 +00:00
|
|
|
ret += "O:";
|
|
|
|
ret += (char)order.order;
|
|
|
|
ret += " U:";
|
2014-12-16 13:12:57 +00:00
|
|
|
ret += std::to_string(order.unit);
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Convert a string to an order
|
2014-12-16 13:13:00 +00:00
|
|
|
COrder GetOrderFromString( const std::string& _order )
|
2014-12-16 13:12:57 +00:00
|
|
|
{
|
2014-12-16 13:13:00 +00:00
|
|
|
std::string order = _order;
|
2014-12-16 13:12:57 +00:00
|
|
|
COrder ret;
|
|
|
|
|
2014-12-16 13:13:02 +00:00
|
|
|
if( order.substr(0, 2) != "O:" )
|
|
|
|
return COrder();
|
|
|
|
order.erase(0, 2); // Erase the O: prefix
|
2014-12-16 13:12:57 +00:00
|
|
|
|
2014-12-16 13:13:02 +00:00
|
|
|
ret.order = (order_c)order[0]; // Grab single char oder
|
|
|
|
order.erase(0, 2); // Erase the order and a space
|
2014-12-16 13:12:57 +00:00
|
|
|
|
2014-12-16 13:13:02 +00:00
|
|
|
if( order.substr(0, 2) != "U:" )
|
|
|
|
return COrder();
|
|
|
|
order.erase(0, 2); // Erase the U: prefix
|
2014-12-16 13:12:57 +00:00
|
|
|
|
2014-12-16 13:13:02 +00:00
|
|
|
ret.unit = (unit_id_t)atoi( order.c_str() ); // Grab the unit ID
|
2014-12-16 13:12:57 +00:00
|
|
|
|
|
|
|
return ret;
|
2014-12-16 13:13:00 +00:00
|
|
|
}
|