-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEntity.cpp
66 lines (52 loc) · 901 Bytes
/
Entity.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include "Entity.hpp"
#include <iostream>
Entity::Entity(int hitpoints)
: mHitpoints(hitpoints)
{}
void Entity::repair(int hitpoints)
{
mHitpoints += hitpoints;
}
void Entity::damage(int hitpoints)
{
mHitpoints -= hitpoints;
}
void Entity::destroy()
{
mHitpoints = 0;
}
int Entity::getHitpoints() const
{
return mHitpoints;
}
bool Entity::isDestroyed() const
{
return mHitpoints <= 0;
}
void Entity::setVelocity(float x, float y)
{
mVelocity.x = x;
mVelocity.y = y;
}
void Entity::setVelocity(sf::Vector2f velocity)
{
mVelocity = velocity;
}
sf::Vector2f Entity::getVelocity()
{
return mVelocity;
}
void Entity::accelerate(sf::Vector2f vel)
{
mVelocity += vel;
}
void Entity::accelerate(float vx, float vy)
{
mVelocity.x += vx;
mVelocity.y += vy;
}
// move a Entity's position
void Entity::updateCurrent(sf::Time dt, CommandQueue &)
{
move(mVelocity * dt.asSeconds());
}