OrderUnitPair -> SOrderUnitPair
This commit is contained in:
parent
d71983dcb1
commit
9551560bc0
2 changed files with 26 additions and 26 deletions
|
@ -78,7 +78,7 @@ int CTTRTSGame::IssueOrder( Team team, const COrder& order )
|
|||
return 1;
|
||||
|
||||
// Get the right unit for the order
|
||||
for ( OrderUnitPair& pair : m_OrderUnitPairs )
|
||||
for ( SOrderUnitPair & pair : m_OrderUnitPairs )
|
||||
{
|
||||
if ( pair.unit.getID() == order.unit )
|
||||
{
|
||||
|
@ -106,7 +106,7 @@ int CTTRTSGame::VerifyPos(uvector2 vec) const
|
|||
|
||||
|
||||
// Get a units new position
|
||||
uvector2 CTTRTSGame::GetNewPosition( const OrderUnitPair& pair ) const
|
||||
uvector2 CTTRTSGame::GetNewPosition( const SOrderUnitPair & pair ) const
|
||||
{
|
||||
// Grab the order
|
||||
switch ( pair.order.command)
|
||||
|
@ -127,7 +127,7 @@ int CTTRTSGame::SimulateToNextTurn()
|
|||
int error = 0;
|
||||
|
||||
// Attempt all movement orders
|
||||
for ( OrderUnitPair& pair : m_OrderUnitPairs )
|
||||
for ( SOrderUnitPair & pair : m_OrderUnitPairs )
|
||||
{
|
||||
switch ( pair.order.command)
|
||||
{
|
||||
|
@ -142,7 +142,7 @@ int CTTRTSGame::SimulateToNextTurn()
|
|||
if ( possible )
|
||||
{
|
||||
// If any unit is in this spot, or moving unit moving to said spot, reject this
|
||||
for ( const OrderUnitPair& pair2 : m_OrderUnitPairs )
|
||||
for ( const SOrderUnitPair & pair2 : m_OrderUnitPairs )
|
||||
{
|
||||
// Skip myself
|
||||
if( pair.unit.getID() == pair2.unit.getID() ) continue;
|
||||
|
@ -168,7 +168,7 @@ int CTTRTSGame::SimulateToNextTurn()
|
|||
}
|
||||
|
||||
// Turn all units that need turning
|
||||
for ( OrderUnitPair& pair : m_OrderUnitPairs )
|
||||
for ( SOrderUnitPair & pair : m_OrderUnitPairs )
|
||||
{
|
||||
switch ( pair.order.command)
|
||||
{
|
||||
|
@ -196,7 +196,7 @@ int CTTRTSGame::SimulateToNextTurn()
|
|||
// Assume no more charging
|
||||
charging = false;
|
||||
// Initially move all units
|
||||
for ( OrderUnitPair& pair : m_OrderUnitPairs )
|
||||
for ( SOrderUnitPair & pair : m_OrderUnitPairs )
|
||||
{
|
||||
if ( pair.order.command == command_c::A )
|
||||
{
|
||||
|
@ -215,9 +215,9 @@ int CTTRTSGame::SimulateToNextTurn()
|
|||
std::vector< unit_id_t > toKill; // Vector to store which units to kill
|
||||
|
||||
// Initially move all units to check for pass through
|
||||
for ( OrderUnitPair& pair1 : m_OrderUnitPairs )
|
||||
for ( SOrderUnitPair & pair1 : m_OrderUnitPairs )
|
||||
if ( pair1.order.command == command_c::A )
|
||||
for ( OrderUnitPair& pair2 : m_OrderUnitPairs )
|
||||
for ( SOrderUnitPair & pair2 : m_OrderUnitPairs )
|
||||
if ( pair1.unit.getID() != pair2.unit.getID() // Don't check the same units
|
||||
&& pair2.order.command == command_c::A )
|
||||
{
|
||||
|
@ -233,8 +233,8 @@ int CTTRTSGame::SimulateToNextTurn()
|
|||
toKill.clear();
|
||||
|
||||
// Check for all matching spots
|
||||
for ( OrderUnitPair& pair1 : m_OrderUnitPairs )
|
||||
for ( OrderUnitPair& pair2 : m_OrderUnitPairs )
|
||||
for ( SOrderUnitPair & pair1 : m_OrderUnitPairs )
|
||||
for ( SOrderUnitPair & pair2 : m_OrderUnitPairs )
|
||||
{
|
||||
if( pair1.unit.getID() == pair2.unit.getID() ) continue; // Don't check the same units
|
||||
|
||||
|
@ -258,7 +258,7 @@ int CTTRTSGame::SimulateToNextTurn()
|
|||
}
|
||||
|
||||
// Clear all orders
|
||||
for ( OrderUnitPair& pair : m_OrderUnitPairs )
|
||||
for ( SOrderUnitPair & pair : m_OrderUnitPairs )
|
||||
pair.order = COrder();
|
||||
|
||||
// Increment the current turn
|
||||
|
@ -336,14 +336,14 @@ int CTTRTSGame::AddUnit( CUnit&& unit )
|
|||
return 2;
|
||||
|
||||
// If any unit's position matches, reject this
|
||||
for ( const OrderUnitPair& pair: m_OrderUnitPairs )
|
||||
for ( const SOrderUnitPair & pair: m_OrderUnitPairs )
|
||||
{
|
||||
if( pair.unit.getPos() == unit.getPos() )
|
||||
return 3;
|
||||
}
|
||||
|
||||
// Add the unit with a blank order
|
||||
m_OrderUnitPairs.push_back( OrderUnitPair(std::move(unit), COrder()) );
|
||||
m_OrderUnitPairs.push_back( SOrderUnitPair(std::move(unit), COrder()) );
|
||||
|
||||
|
||||
return 0;
|
||||
|
@ -374,7 +374,7 @@ int CTTRTSGame::VerifyOrder( Team team, const COrder& order ) const
|
|||
const unit_id_t unitID = order.unit;
|
||||
|
||||
// Attempt to find the unit
|
||||
for ( const OrderUnitPair& pair : m_OrderUnitPairs )
|
||||
for ( const SOrderUnitPair & pair : m_OrderUnitPairs )
|
||||
{
|
||||
// Accept if we have the unit
|
||||
if ( pair.unit.getID() == unitID
|
||||
|
@ -392,7 +392,7 @@ int CTTRTSGame::VerifyOrder( Team team, const COrder& order ) const
|
|||
// Get unit by unit ID
|
||||
const CUnit& CTTRTSGame::GetUnitByIDConst( unit_id_t id ) const
|
||||
{
|
||||
for ( const OrderUnitPair& pair : m_OrderUnitPairs )
|
||||
for ( const SOrderUnitPair & pair : m_OrderUnitPairs )
|
||||
{
|
||||
// Attempt the unit add
|
||||
if ( pair.unit.getID() == id )
|
||||
|
@ -407,7 +407,7 @@ const CUnit& CTTRTSGame::GetUnitByIDConst( unit_id_t id ) const
|
|||
// Get an order by unit ID
|
||||
const COrder& CTTRTSGame::GetOrderByIDConst( unit_id_t id ) const
|
||||
{
|
||||
for ( const OrderUnitPair& pair : m_OrderUnitPairs )
|
||||
for ( const SOrderUnitPair & pair : m_OrderUnitPairs )
|
||||
{
|
||||
// Attempt the unit add
|
||||
if ( pair.unit.getID() == id )
|
||||
|
@ -422,7 +422,7 @@ const COrder& CTTRTSGame::GetOrderByIDConst( unit_id_t id ) const
|
|||
// Get unit by unit ID
|
||||
CUnit& CTTRTSGame::GetUnitByID( unit_id_t id )
|
||||
{
|
||||
for ( OrderUnitPair& pair : m_OrderUnitPairs )
|
||||
for ( SOrderUnitPair & pair : m_OrderUnitPairs )
|
||||
{
|
||||
// Attempt the unit add
|
||||
if ( pair.unit.getID() == id )
|
||||
|
@ -441,7 +441,7 @@ std::vector<Team> CTTRTSGame::GetTeams() const
|
|||
teams.reserve(GetNumUnits());
|
||||
|
||||
// Grab all teams
|
||||
for ( const OrderUnitPair& pair : m_OrderUnitPairs )
|
||||
for ( const SOrderUnitPair & pair : m_OrderUnitPairs )
|
||||
{
|
||||
teams.push_back(pair.unit.getTeam());
|
||||
}
|
||||
|
@ -461,7 +461,7 @@ Team CTTRTSGame::CheckForWin() const
|
|||
memset(units,0,sizeof(units));
|
||||
|
||||
// Count up all the units for each Team
|
||||
for ( const OrderUnitPair& pair : m_OrderUnitPairs )
|
||||
for ( const SOrderUnitPair & pair : m_OrderUnitPairs )
|
||||
{
|
||||
const int team = (int)pair.unit.getTeam();
|
||||
units[team] += 1;
|
||||
|
@ -499,7 +499,7 @@ std::string CTTRTSGame::GetStateAsString() const
|
|||
|
||||
// Gather unit information
|
||||
std::string units;
|
||||
for ( const OrderUnitPair& pair : m_OrderUnitPairs )
|
||||
for ( const SOrderUnitPair & pair : m_OrderUnitPairs )
|
||||
{
|
||||
units += CUnit::GetStringFromUnit(pair.unit);
|
||||
units += '\n';
|
||||
|
|
|
@ -9,22 +9,22 @@
|
|||
#define GAME_HEADER_DELIMITER "~~~~\n"
|
||||
|
||||
// Type for order and unit pairs
|
||||
struct OrderUnitPair
|
||||
struct SOrderUnitPair
|
||||
{
|
||||
// Straight up move constructor
|
||||
OrderUnitPair( OrderUnitPair&& other )
|
||||
SOrderUnitPair( SOrderUnitPair && other )
|
||||
: unit ( std::move(other.unit) )
|
||||
, order ( other.order )
|
||||
{}
|
||||
|
||||
// Multi parameter constructor
|
||||
OrderUnitPair( CUnit&& u, COrder o )
|
||||
SOrderUnitPair( CUnit&& u, COrder o )
|
||||
: unit ( std::move(u) )
|
||||
, order ( o )
|
||||
{}
|
||||
|
||||
// Move assignment operator
|
||||
inline OrderUnitPair& operator=( OrderUnitPair&& rhs )
|
||||
inline SOrderUnitPair & operator=( SOrderUnitPair && rhs )
|
||||
{
|
||||
this->unit = std::move(rhs.unit);
|
||||
this->order = std::move(rhs.order);
|
||||
|
@ -36,7 +36,7 @@ struct OrderUnitPair
|
|||
};
|
||||
|
||||
// Typedef for a vector of these unit pairs
|
||||
typedef std::vector< OrderUnitPair > OrderUnitPairVector;
|
||||
typedef std::vector<SOrderUnitPair> OrderUnitPairVector;
|
||||
|
||||
// Full TTRTS Game class
|
||||
// Stores information about the game
|
||||
|
@ -109,7 +109,7 @@ private:
|
|||
int VerifyPos( uvector2 vec ) const;
|
||||
|
||||
// Get a units new position after an order
|
||||
uvector2 GetNewPosition( const OrderUnitPair& pair ) const;
|
||||
uvector2 GetNewPosition( const SOrderUnitPair & pair ) const;
|
||||
|
||||
// Check for a pass through
|
||||
static bool CheckForPassThrough( const CUnit& one, const CUnit& two );
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue