| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | 
							- /*
 
-  * Services.h, 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
 
-  *
 
-  */
 
- #pragma once
 
- #include "Metatype.h"
 
- VCMI_LIB_NAMESPACE_BEGIN
 
- class ArtifactService;
 
- class CreatureService;
 
- class FactionService;
 
- class HeroClassService;
 
- class HeroTypeService;
 
- class SkillService;
 
- class JsonNode;
 
- class BattleFieldService;
 
- class ObstacleService;
 
- class IGameSettings;
 
- namespace spells
 
- {
 
- 	class Service;
 
- 	namespace effects
 
- 	{
 
- 		class Registry;
 
- 	}
 
- }
 
- #if SCRIPTING_ENABLED
 
- namespace scripting
 
- {
 
- 	class Service;
 
- }
 
- #endif
 
- class DLL_LINKAGE Services
 
- {
 
- public:
 
- 	virtual ~Services() = default;
 
- 	virtual const ArtifactService * artifacts() const = 0;
 
- 	virtual const CreatureService * creatures() const = 0;
 
- 	virtual const FactionService * factions() const = 0;
 
- 	virtual const HeroClassService * heroClasses() const = 0;
 
- 	virtual const HeroTypeService * heroTypes() const = 0;
 
- #if SCRIPTING_ENABLED
 
- 	virtual const scripting::Service * scripts() const = 0;
 
- #endif
 
- 	virtual const spells::Service * spells() const = 0;
 
- 	virtual const SkillService * skills() const = 0;
 
- 	virtual const BattleFieldService * battlefields() const = 0;
 
- 	virtual const ObstacleService * obstacles() const = 0;
 
- 	virtual const IGameSettings * settings() const = 0;
 
- 	virtual void updateEntity(Metatype metatype, int32_t index, const JsonNode & data) = 0;
 
- 	virtual const spells::effects::Registry * spellEffects() const = 0;
 
- 	virtual spells::effects::Registry * spellEffects() = 0;
 
- 	//TODO: put map object types registry access here
 
- };
 
- VCMI_LIB_NAMESPACE_END
 
 
  |