| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- /*
- * CGameInfo.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 <vcmi/Services.h>
- #include "../lib/ConstTransitivePtr.h"
- class CModHandler;
- class CMapHandler;
- class CHeroHandler;
- class CCreatureHandler;
- class CSpellHandler;
- class CSkillHandler;
- class CBuildingHandler;
- class CObjectHandler;
- class CSoundHandler;
- class CMusicHandler;
- class CObjectClassesHandler;
- class CTownHandler;
- class CGeneralTextHandler;
- class CConsoleHandler;
- class CCursorHandler;
- class CGameState;
- class IMainVideoPlayer;
- class CServerHandler;
- class BattleFieldHandler;
- class ObstacleHandler;
- class CMap;
- //a class for non-mechanical client GUI classes
- class CClientState
- {
- public:
- CSoundHandler * soundh;
- CMusicHandler * musich;
- CConsoleHandler * consoleh;
- CCursorHandler * curh;
- IMainVideoPlayer * videoh;
- };
- extern CClientState * CCS;
- /// CGameInfo class
- /// for allowing different functions for accessing game informations
- class CGameInfo : public Services
- {
- public:
- const ArtifactService * artifacts() const override;
- const CreatureService * creatures() const override;
- const FactionService * factions() const override;
- const HeroClassService * heroClasses() const override;
- const HeroTypeService * heroTypes() const override;
- const scripting::Service * scripts() const override;
- const spells::Service * spells() const override;
- const SkillService * skills() const override;
- const BattleFieldService * battlefields() const override;
- const ObstacleService * obstacles() const override;
- void updateEntity(Metatype metatype, int32_t index, const JsonNode & data) override;
- const spells::effects::Registry * spellEffects() const override;
- spells::effects::Registry * spellEffects() override;
- ConstTransitivePtr<CModHandler> modh; //public?
- ConstTransitivePtr<BattleFieldHandler> battleFieldHandler;
- ConstTransitivePtr<CHeroHandler> heroh;
- ConstTransitivePtr<CCreatureHandler> creh;
- ConstTransitivePtr<CSpellHandler> spellh;
- ConstTransitivePtr<CSkillHandler> skillh;
- ConstTransitivePtr<CObjectHandler> objh;
- ConstTransitivePtr<CObjectClassesHandler> objtypeh;
- ConstTransitivePtr<ObstacleHandler> obstacleHandler;
- CGeneralTextHandler * generaltexth;
- CMapHandler * mh;
- CTownHandler * townh;
- void setFromLib();
- CGameInfo();
- private:
- const Services * globalServices;
- };
- extern const CGameInfo* CGI;
|