12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- /*
- * IMapRendererObserver.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
- VCMI_LIB_NAMESPACE_BEGIN
- class int3;
- class CGObjectInstance;
- class CGHeroInstance;
- class PlayerColor;
- VCMI_LIB_NAMESPACE_END
- class IMapObjectObserver
- {
- public:
- IMapObjectObserver();
- virtual ~IMapObjectObserver();
- virtual bool hasOngoingAnimations() = 0;
- virtual void waitForOngoingAnimations(){};
- virtual void endNetwork(){};
- /// Plays fade-in animation and adds object to map
- virtual void onObjectFadeIn(const CGObjectInstance * obj, const PlayerColor & initiator) = 0;
- /// Plays fade-out animation and removed object from map
- virtual void onObjectFadeOut(const CGObjectInstance * obj, const PlayerColor & initiator) = 0;
- /// Adds object to map instantly, with no animation
- virtual void onObjectInstantAdd(const CGObjectInstance * obj, const PlayerColor & initiator) = 0;
- /// Removes object from map instantly, with no animation
- virtual void onObjectInstantRemove(const CGObjectInstance * obj, const PlayerColor & initiator) = 0;
- /// Perform hero movement animation, moving hero across terrain
- virtual void onHeroMoved(const CGHeroInstance * obj, const int3 & from, const int3 & dest) = 0;
- /// Perform initialization of hero teleportation animation with terrain fade animation
- virtual void onBeforeHeroTeleported(const CGHeroInstance * obj, const int3 & from, const int3 & dest) = 0;
- virtual void onAfterHeroTeleported(const CGHeroInstance * obj, const int3 & from, const int3 & dest) = 0;
- virtual void onBeforeHeroEmbark(const CGHeroInstance * obj, const int3 & from, const int3 & dest) = 0;
- virtual void onAfterHeroEmbark(const CGHeroInstance * obj, const int3 & from, const int3 & dest) = 0;
- virtual void onBeforeHeroDisembark(const CGHeroInstance * obj, const int3 & from, const int3 & dest) = 0;
- virtual void onAfterHeroDisembark(const CGHeroInstance * obj, const int3 & from, const int3 & dest) = 0;
- };
|