1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-24 08:32:34 +02:00

Do not use CCreature in CSimpleArmy

This commit is contained in:
AlexVinS 2018-03-11 18:56:33 +03:00 committed by ArseniyShestakov
parent 03cfd2cb78
commit e666b2740c
4 changed files with 3 additions and 15 deletions

View File

@ -126,12 +126,6 @@ bool CCallback::dismissHero(const CGHeroInstance *hero)
return true;
}
// int CCallback::getMySerial() const
// {
// boost::shared_lock<boost::shared_mutex> lock(*gs->mx);
// return gs->players[player].serial;
// }
bool CCallback::swapArtifacts(const ArtifactLocation &l1, const ArtifactLocation &l2)
{
ExchangeArtifacts ea;

View File

@ -126,10 +126,7 @@ public:
int mergeStacks(const CArmedInstance *s1, const CArmedInstance *s2, SlotID p1, SlotID p2) override; //first goes to the second
int splitStack(const CArmedInstance *s1, const CArmedInstance *s2, SlotID p1, SlotID p2, int val) override;
bool dismissHero(const CGHeroInstance * hero) override;
//bool swapArtifacts(const CGHeroInstance * hero1, ui16 pos1, const CGHeroInstance * hero2, ui16 pos2);
bool swapArtifacts(const ArtifactLocation &l1, const ArtifactLocation &l2) override;
//bool moveArtifact(const CGHeroInstance * hero, ui16 src, const CStackInstance * stack, ui16 dest); // TODO: unify classes
//bool moveArtifact(const CStackInstance * stack, ui16 src , const CGHeroInstance * hero, ui16 dest); // TODO: unify classes
bool assembleArtifacts(const CGHeroInstance * hero, ArtifactPosition artifactSlot, bool assemble, ArtifactID assembleTo) override;
bool buildBuilding(const CGTownInstance *town, BuildingID buildingID) override;
void recruitCreatures(const CGDwelling * obj, const CArmedInstance * dst, CreatureID ID, ui32 amount, si32 level=-1) override;

View File

@ -399,10 +399,7 @@ void CCreatureSet::setToArmy(CSimpleArmy &src)
{
auto i = src.army.begin();
assert(i->second.type);
assert(i->second.count);
putStack(i->first, new CStackInstance(i->second.type, i->second.count));
putStack(i->first, new CStackInstance(i->second.first, i->second.second));
src.army.erase(i);
}
}
@ -919,6 +916,6 @@ CSimpleArmy::operator bool() const
bool CSimpleArmy::setCreature(SlotID slot, CreatureID cre, TQuantity count)
{
assert(!vstd::contains(army, slot));
army[slot] = CStackBasicDescriptor(cre, count);
army[slot] = std::make_pair(cre, count);
return true;
}

View File

@ -135,7 +135,7 @@ public:
};
typedef std::map<SlotID, CStackInstance*> TSlots;
typedef std::map<SlotID, CStackBasicDescriptor> TSimpleSlots;
typedef std::map<SlotID, std::pair<CreatureID, TQuantity>> TSimpleSlots;
class IArmyDescriptor
{