4 #include "SolidObject.h" 12 enum class CollisionState
44 inline CollisionState operator| (CollisionState a, CollisionState b)
47 return static_cast<CollisionState
>(
static_cast<int>(a) | static_cast<int>(b));
54 inline CollisionState operator& (CollisionState a, CollisionState b)
56 return static_cast<CollisionState
>(
static_cast<int>(a)& static_cast<int>(b));
63 inline CollisionState& operator|= (CollisionState& a, CollisionState b)
88 Creature(
double x = 0.0,
double y = 0.0,
double width = 1.0,
double height = 1.0, Uint8 health = 1);
101 void savePrevious()
override;
109 void moveBy(
double x,
double y);
118 void hurt(Sint8 damage);
126 void setSpeedVector(
double x,
double y);
133 void addCollisionState(CollisionState state);
147 Uint8 getHealth()
const;
153 bool getIsAlive()
const;
159 bool getIsInvulnerable()
const;
165 bool getWasInvulnerable()
const;
171 double getSpeedX()
const;
177 double getSpeedY()
const;
183 CollisionState getCollisionState()
const;
Definition: Creature.h:74
double speedY
Definition: Creature.h:224
Uint32 const invFrames
Definition: Creature.h:199
bool isAlive
Definition: Creature.h:204
Timer invTimer
Definition: Creature.h:234
bool wasInvulnerable
Definition: Creature.h:214
Definition: SolidObject.h:9
double speedX
Definition: Creature.h:219
CollisionState collisionState
Definition: Creature.h:229
Uint8 health
Definition: Creature.h:194
bool isInvulnerable
Definition: Creature.h:209