CardGame
Rogue-like card videogame
Loading...
Searching...
No Matches
IMatchView.h
Go to the documentation of this file.
1#ifndef IMATCHVIEW_H
2#define IMATCHVIEW_H
3
4#include <string>
5#include <string_view>
6#include <vector>
7
8class CardInstance;
9class Entity;
10struct TurnData;
11struct MatchData;
12struct DamageResult;
13struct DrawData;
14struct PlayCardDecision;
15
17{
18 public:
19 virtual ~IMatchView() = default;
20 virtual void showCurrentHand(const std::vector<const CardInstance*>& handToRender) const = 0;
21 virtual void showMessage() = 0;
22 virtual void showTurnState(const TurnData& turnData) const = 0;
23 virtual void showMatchState(const MatchData& matchData) const = 0;
24 virtual PlayCardDecision askPlayerAction(int limit) = 0;
25 virtual void showPassingTurn() = 0;
26 virtual void showRecurringMatchStatus(const MatchData& matchData, const TurnData& turnData,
27 const Entity& player, const Entity& enemy) const = 0;
28 virtual void showDamageResult(const DamageResult result) const = 0;
29 virtual void showEffectMessage(const std::vector<std::string>& message) const = 0;
30 virtual void showPlayedCardName(std::string_view name) const = 0;
31 virtual void showEnemyMove(std::string_view enemyName, std::string_view moveName,
32 std::string_view moveDescr) const = 0;
33 virtual void showPlayerTurnStart(const MatchData& matchData) const = 0;
34
35 virtual void showEndOfTurn(const MatchData& matchData) const = 0;
36 virtual void showEndOfMatch(const MatchData& matchData) const = 0;
37 virtual void showStartOfMatch(std::string_view enemyName) const = 0;
38 virtual void showDrawCards(const DrawData& drawData) const = 0;
39
40 private:
41};
42
43#endif // IMATCHVIEW_H
Represents a runtime instance of a card during combat.
Definition: cardInstance.h:21
Base class representing a combat-capable entity.
Definition: entity.h:18
Definition: IMatchView.h:17
virtual void showPlayedCardName(std::string_view name) const =0
virtual PlayCardDecision askPlayerAction(int limit)=0
virtual void showEndOfTurn(const MatchData &matchData) const =0
virtual void showStartOfMatch(std::string_view enemyName) const =0
virtual void showTurnState(const TurnData &turnData) const =0
virtual void showRecurringMatchStatus(const MatchData &matchData, const TurnData &turnData, const Entity &player, const Entity &enemy) const =0
virtual void showDrawCards(const DrawData &drawData) const =0
virtual void showDamageResult(const DamageResult result) const =0
virtual void showPlayerTurnStart(const MatchData &matchData) const =0
virtual void showEffectMessage(const std::vector< std::string > &message) const =0
virtual void showMatchState(const MatchData &matchData) const =0
virtual void showCurrentHand(const std::vector< const CardInstance * > &handToRender) const =0
virtual ~IMatchView()=default
virtual void showEndOfMatch(const MatchData &matchData) const =0
virtual void showPassingTurn()=0
virtual void showMessage()=0
virtual void showEnemyMove(std::string_view enemyName, std::string_view moveName, std::string_view moveDescr) const =0
Definition: combatEvents.h:22
Definition: drawData.h:8
Definition: matchData.h:16
Definition: matchData.h:39
Definition: matchData.h:22