-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpassenger.cpp
More file actions
38 lines (27 loc) · 884 Bytes
/
passenger.cpp
File metadata and controls
38 lines (27 loc) · 884 Bytes
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
#include "passenger.hpp"
#include <algorithm>
namespace loopline
{
Passenger::Passenger(){}
Passenger::Passenger(int enterS, int exitS, bool boardedT, bool killP)
: enterStation(enterS), exitStation(exitS), boardedTrain(boardedT), killPassenger(killP)
{
waitingTime.restart();
}
Passenger::~Passenger()
{
}
void Passenger::update(sf::Time const &deltaTime)
{
}
void Passenger::fixedUpdate(sf::Time const &deltaTime)
{
if(!boardedTrain && waitingTime.getElapsedTime() > maxWaitingTime) killPassenger = true;
}
int Passenger::payTicket()
{
sf::Time waited = waitingTime.getElapsedTime();
if(waited < minWaitingTime) return gold;
return std::max(0.f, (1.f - (waited - minWaitingTime) / (maxWaitingTime - minWaitingTime)) * gold);
}
} // namespace loopline