Pull SOrderUnitPair out of game header

This commit is contained in:
mdiluzio 2014-12-21 10:33:19 +00:00
parent 9551560bc0
commit ca1705ad4a
2 changed files with 40 additions and 30 deletions

View file

@ -4,40 +4,11 @@
#include "unit.h"
#include "gametypes.h"
#include "order.h"
#include "orderunitpair.h"
#define GAME_HEADER_FORMATTER "NAME:%s\nSIZE:[%u,%u]\nTURN:%u"
#define GAME_HEADER_DELIMITER "~~~~\n"
// Type for order and unit pairs
struct SOrderUnitPair
{
// Straight up move constructor
SOrderUnitPair( SOrderUnitPair && other )
: unit ( std::move(other.unit) )
, order ( other.order )
{}
// Multi parameter constructor
SOrderUnitPair( CUnit&& u, COrder o )
: unit ( std::move(u) )
, order ( o )
{}
// Move assignment operator
inline SOrderUnitPair & operator=( SOrderUnitPair && rhs )
{
this->unit = std::move(rhs.unit);
this->order = std::move(rhs.order);
return *this;
}
CUnit unit; // The unit
COrder order; // Order for this unit from this turn
};
// Typedef for a vector of these unit pairs
typedef std::vector<SOrderUnitPair> OrderUnitPairVector;
// Full TTRTS Game class
// Stores information about the game
// Can convert from a string or to a string

View file

@ -0,0 +1,39 @@
#ifndef _TTRTS_ORDERUNITPAIR_H_
#define _TTRTS_ORDERUNITPAIR_H_
#include "order.h"
#include "unit.h"
#include <vector>
// Type for order and unit pairs
struct SOrderUnitPair
{
// Straight up move constructor
SOrderUnitPair( SOrderUnitPair && other )
: unit ( std::move(other.unit) )
, order ( other.order )
{}
// Multi parameter constructor
SOrderUnitPair( CUnit&& u, COrder o )
: unit ( std::move(u) )
, order ( o )
{}
// Move assignment operator
inline SOrderUnitPair & operator=( SOrderUnitPair && rhs )
{
this->unit = std::move(rhs.unit);
this->order = std::move(rhs.order);
return *this;
}
CUnit unit; // The unit
COrder order; // Order for this unit from this turn
};
// Typedef for a vector of these unit pairs
typedef std::vector<SOrderUnitPair> OrderUnitPairVector;
#endif // _TTRTS_ORDERUNITPAIR_H_