CardGame
Rogue-like card videogame
Loading...
Searching...
No Matches
cardInstance.h
Go to the documentation of this file.
1#ifndef CARDINSTANCE_H
2#define CARDINSTANCE_H
3
4#include "cards/cardParams.h"
5
6#include <string_view>
7
9
21{
22 public:
30 CardInstance(const CardDefinition& definition);
31
33 int getDamage() const { return m_cardParams.damage; }
35 int getArmor() const { return m_cardParams.armor; }
36
42 const CardDefinition& getCardDefinition() const;
43
44 const CardParams& getCardParams() const;
45
46 private:
47 const CardDefinition* m_definition;
48
49 CardParams m_cardParams{};
50
51 int m_cost{};
52};
53
54#endif // CARDINSTANCE_H
Immutable static data representing a card type.
Definition: cardDefinition.h:27
Represents a runtime instance of a card during combat.
Definition: cardInstance.h:21
const CardDefinition & getCardDefinition() const
Returns the immutable definition this instance was created from.
Definition: cardInstance.cpp:10
int getDamage() const
Returns the card's current damage value.
Definition: cardInstance.h:33
int getArmor() const
Returns the card's current armor value.
Definition: cardInstance.h:35
const CardParams & getCardParams() const
Definition: cardInstance.cpp:12
Numeric parameters used to resolve gameplay effects.
Definition: cardParams.h:16
int damage
Definition: cardParams.h:18
int armor
Definition: cardParams.h:19