mirror of
https://github.com/vcmi/vcmi.git
synced 2025-07-15 01:24:45 +02:00
First version that works - banning objects is possible
This commit is contained in:
71
lib/rmg/ObjectInfo.cpp
Normal file
71
lib/rmg/ObjectInfo.cpp
Normal file
@ -0,0 +1,71 @@
|
||||
/*
|
||||
* ObjectInfo.cpp, part of VCMI engine
|
||||
*
|
||||
* Authors: listed in file AUTHORS in main folder
|
||||
*
|
||||
* License: GNU General Public License v2.0 or later
|
||||
* Full text of license available in license.txt file, in main folder
|
||||
*
|
||||
*/
|
||||
|
||||
#include "StdInc.h"
|
||||
#include "ObjectInfo.h"
|
||||
|
||||
#include "../VCMI_Lib.h"
|
||||
#include "../mapObjectConstructors/CObjectClassesHandler.h"
|
||||
#include "../mapObjectConstructors/AObjectTypeHandler.h"
|
||||
|
||||
VCMI_LIB_NAMESPACE_BEGIN
|
||||
|
||||
ObjectInfo::ObjectInfo():
|
||||
destroyObject([](CGObjectInstance * obj){}),
|
||||
maxPerZone(std::numeric_limits<ui32>::max())
|
||||
{
|
||||
}
|
||||
|
||||
ObjectInfo::ObjectInfo(const ObjectInfo & other)
|
||||
{
|
||||
templates = other.templates;
|
||||
value = other.value;
|
||||
probability = other.probability;
|
||||
maxPerZone = other.maxPerZone;
|
||||
generateObject = other.generateObject;
|
||||
destroyObject = other.destroyObject;
|
||||
}
|
||||
|
||||
ObjectInfo & ObjectInfo::operator=(const ObjectInfo & other)
|
||||
{
|
||||
if (this == &other)
|
||||
return *this;
|
||||
|
||||
templates = other.templates;
|
||||
value = other.value;
|
||||
probability = other.probability;
|
||||
maxPerZone = other.maxPerZone;
|
||||
generateObject = other.generateObject;
|
||||
destroyObject = other.destroyObject;
|
||||
return *this;
|
||||
}
|
||||
|
||||
void ObjectInfo::setTemplates(MapObjectID type, MapObjectSubID subtype, TerrainId terrainType)
|
||||
{
|
||||
auto templHandler = VLC->objtypeh->getHandlerFor(type, subtype);
|
||||
if(!templHandler)
|
||||
return;
|
||||
|
||||
templates = templHandler->getTemplates(terrainType);
|
||||
}
|
||||
|
||||
/*
|
||||
bool ObjectInfo::matchesId(const CompoundMapObjectID & id) const
|
||||
{
|
||||
for (const auto & templ : templates)
|
||||
{
|
||||
if (id.primaryID == templ->id && id.secondaryID == templ->subid)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
|
||||
VCMI_LIB_NAMESPACE_END
|
Reference in New Issue
Block a user