Fix a few more bugs and implement more tests
Bug in infinite recursion on move assignment operator. Bug in adding the wron units ID to the kill list.
This commit is contained in:
parent
9b00030039
commit
7e2fd0a8d1
5 changed files with 71 additions and 17 deletions
|
@ -141,7 +141,7 @@ int CTTRTSGame::SimulateToNextTurn()
|
|||
// if the unit is infront of our unit, then add it to the kill list
|
||||
if( pair2.unit.getPos() == infront )
|
||||
{
|
||||
toKill.push_back(pair.unit.getID());
|
||||
toKill.push_back(pair2.unit.getID());
|
||||
pair.order = COrder();
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ struct OrderUnitPair
|
|||
}
|
||||
|
||||
// Move asignment operator
|
||||
inline OrderUnitPair& operator=( OrderUnitPair&& rhs ) { *this = std::move(rhs); return *this; }
|
||||
inline OrderUnitPair& operator=( OrderUnitPair&& rhs ) { this->unit = std::move(rhs.unit);this->order = rhs.order;rhs.order = COrder(); return *this; }
|
||||
|
||||
CUnit unit;
|
||||
COrder order;
|
||||
|
|
|
@ -53,6 +53,18 @@ CUnit::CUnit(CUnit&& unit)
|
|||
updateMyVisual();
|
||||
}
|
||||
|
||||
|
||||
CUnit& CUnit::operator=(CUnit&& unit)
|
||||
{
|
||||
unit_id = std::move(unit.unit_id) ;
|
||||
team_id = std::move(unit.team_id) ;
|
||||
player_id = std::move(unit.player_id) ;
|
||||
unit_vis = std::move(unit.unit_vis) ;
|
||||
dir = std::move(unit.dir) ;
|
||||
pos = std::move(unit.pos) ;
|
||||
return *this;
|
||||
}
|
||||
|
||||
CUnit CUnit::getUnitFromVis( unitVis_c vis )
|
||||
{
|
||||
CUnit unit;
|
||||
|
|
|
@ -14,7 +14,7 @@ public:
|
|||
|
||||
CUnit();
|
||||
CUnit(CUnit&& unit);
|
||||
CUnit& operator=(CUnit&& unit) { *this = std::move(unit); return *this; }
|
||||
CUnit& operator=(CUnit&& unit);
|
||||
~CUnit() = default;
|
||||
|
||||
inline const unit_id_t& getID() const { return unit_id; }
|
||||
|
@ -58,7 +58,7 @@ private:
|
|||
unitVis_c updateMyVisual();
|
||||
|
||||
// Unit ID
|
||||
const unit_id_t unit_id;
|
||||
unit_id_t unit_id;
|
||||
|
||||
// Visual
|
||||
unitVis_c unit_vis;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue