| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | 
							- /*
 
-  * NewTurnProcessor.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 "../../lib/constants/EntityIdentifiers.h"
 
- #include "../../lib/constants/Enumerations.h"
 
- #include "../../lib/gameState/RumorState.h"
 
- VCMI_LIB_NAMESPACE_BEGIN
 
- class CGTownInstance;
 
- class ResourceSet;
 
- struct SetAvailableCreatures;
 
- struct SetMovePoints;
 
- struct SetMana;
 
- struct InfoWindow;
 
- struct NewTurn;
 
- VCMI_LIB_NAMESPACE_END
 
- class CGameHandler;
 
- class NewTurnProcessor : boost::noncopyable
 
- {
 
- 	CGameHandler * gameHandler;
 
- 	std::vector<SetMana> updateHeroesManaPoints();
 
- 	std::vector<SetMovePoints> updateHeroesMovementPoints();
 
- 	ResourceSet generatePlayerIncome(PlayerColor playerID, bool newWeek);
 
- 	SetAvailableCreatures generateTownGrowth(const CGTownInstance * town, EWeekType weekType, CreatureID creatureWeek, bool firstDay);
 
- 	RumorState pickNewRumor();
 
- 	InfoWindow createInfoWindow(EWeekType weekType, CreatureID creatureWeek, bool newMonth);
 
- 	std::tuple<EWeekType, CreatureID> pickWeekType(bool newMonth);
 
- 	NewTurn generateNewTurnPack();
 
- 	void handleTimeEvents(PlayerColor player);
 
- 	void handleTownEvents(const CGTownInstance *town);
 
- 	void updateNeutralTownGarrison(const CGTownInstance * t, int currentWeek) const;
 
- public:
 
- 	NewTurnProcessor(CGameHandler * gameHandler);
 
- 	void onNewTurn();
 
- 	void onPlayerTurnStarted(PlayerColor color);
 
- 	void onPlayerTurnEnded(PlayerColor color);
 
- };
 
 
  |