46 auto
onUpdate(
float dt) ->
void override;
49 auto
load(const
Stream& stream) ->
void override;
50 auto
save(
Stream& stream) const ->
void override;
65 auto
setRank(
int newRank) ->
void;
81 auto
getPosition() const -> std::pair<
unsigned,
unsigned>;
89 auto operator==(const
Card& other) const ->
bool;
sys::Json Stream
Definition AudioObject.h:20
cardSuit
Definition Card.h:25
The base class for components, holding all of their shared All components should inherit from this.
nlohmann::json json
Definition Json.cpp:19
auto getPosition() const -> std::pair< unsigned, unsigned >
Get's the cards position by asking it's sibling menuPosition where it is.
Definition Card.cpp:147
auto endWindow() -> void override
currently unused, but intended to but was assumed to be necessary for a proper ImGui editor
Definition Card.h:52
auto setRank(int newRank) -> void
Definition Card.cpp:122
auto getCardSuit() const -> cardSuit
Definition Card.cpp:107
auto onRender() -> void override
called every frame after update has been called for every object.
Definition Card.cpp:79
auto componentShowMenu() -> void override
Definition Card.cpp:188
auto setSuit(cardSuit newSuit) -> void
Definition Card.cpp:127
auto setPlayedThisTurn(bool newTurnState) -> void
Definition Card.cpp:132
bool justDrawn
Definition Card.h:102
friend auto to_json(json &j, const Card &c) -> void
Definition Card.cpp:170
Card(const Card &)=default
auto getAsString() const -> std::string
Returns a string.
Definition Card.cpp:142
Card(int num=0, cardSuit name=cardSuit::N, bool isPlayed=false)
Definition Card.cpp:51
auto onUpdate(float dt) -> void override
called once every frame.
Definition Card.cpp:74
auto getJustDrawn() const -> bool
Definition Card.cpp:117
auto getRank() const -> int
Definition Card.cpp:97
cardSuit suit
Definition Card.h:98
auto save(Stream &stream) const -> void override
Implementations will load the state of a GameObject to a th::Json object.
Definition Card.cpp:88
static auto getEnum() -> ComponentTypeEnum
Definition Card.h:36
auto clone() const -> std::unique_ptr< GameObject > override
makes a copy a GameObject even if it's held polymorphically
Definition Card.cpp:69
friend auto from_json(const json &j, Card &c) -> void
Definition Card.cpp:180
auto setJustDrawn(bool newState) -> void
Definition Card.cpp:137
bool playedThisTurn
Definition Card.h:99
auto operator=(const Card &other) -> Card &
Definition Card.cpp:59
auto getSuit() const -> char
Definition Card.cpp:102
static auto bindLuaTypes(sol::state &lua) -> void
Definition Card.cpp:25
auto load(const Stream &stream) -> void override
Implementations will load the state of a GameObject from a th::Json Object.
Definition Card.cpp:83
auto getPlayedThisTurn() const -> bool
Definition Card.cpp:112
int rank
Definition Card.h:97
auto changeParentNameToMatch() const -> void
Changes the parents nickname to be based off rank and suit.
Definition Card.cpp:163
ComponentTypeEnum
This enum lists out every type of component we have.
Definition Component.h:39
Component(ComponentTypeEnum type, const char *typeName)
Definition Component.cpp:72
GameObject(std::string typeName, gobj::Type parentType, gobj::Type type)
constructor for gameobject.
Definition GameObject.cpp:24