1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-22 22:13:35 +02:00
vcmi/include/vcmi/ServerCallback.h

51 lines
1.1 KiB
C++

/*
* ServerCallback.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
namespace vstd
{
class RNG;
}
struct CPackForClient;
struct BattleLogMessage;
struct BattleStackMoved;
struct BattleUnitsChanged;
struct SetStackEffect;
struct StacksInjured;
struct BattleObstaclesChanged;
struct CatapultAttack;
class DLL_LINKAGE ServerCallback
{
public:
virtual ~ServerCallback() = default;
virtual void complain(const std::string & problem) = 0;
virtual bool describeChanges() const = 0;
virtual vstd::RNG * getRNG() = 0;
virtual void apply(CPackForClient & pack) = 0;
virtual void apply(BattleLogMessage & pack) = 0;
virtual void apply(BattleStackMoved & pack) = 0;
virtual void apply(BattleUnitsChanged & pack) = 0;
virtual void apply(SetStackEffect & pack) = 0;
virtual void apply(StacksInjured & pack) = 0;
virtual void apply(BattleObstaclesChanged & pack) = 0;
virtual void apply(CatapultAttack & pack) = 0;
};
VCMI_LIB_NAMESPACE_END