summary refs log tree commit diff stats
path: root/src/game.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game.cpp')
-rw-r--r--src/game.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/game.cpp b/src/game.cpp index dd8f956..6e79f75 100644 --- a/src/game.cpp +++ b/src/game.cpp
@@ -123,6 +123,8 @@ void Game::loadMap(const Map& map)
123 nextEntities.push_back(player); 123 nextEntities.push_back(player);
124 124
125 newWorld = true; 125 newWorld = true;
126
127 currentMap = ↦
126} 128}
127 129
128void Game::detectCollision(Entity& collider, std::pair<double, double> old_position) 130void Game::detectCollision(Entity& collider, std::pair<double, double> old_position)
@@ -133,9 +135,9 @@ void Game::detectCollision(Entity& collider, std::pair<double, double> old_posit
133 } 135 }
134} 136}
135 137
136void Game::saveGame(const Map& map, std::pair<double, double> position) 138void Game::saveGame()
137{ 139{
138 save = {&map, position}; 140 save = {currentMap, player->position};
139} 141}
140 142
141void Game::schedule(double time, std::function<void ()> callback) 143void Game::schedule(double time, std::function<void ()> callback)
@@ -143,19 +145,19 @@ void Game::schedule(double time, std::function<void ()> callback)
143 scheduled.emplace_front(time, std::move(callback)); 145 scheduled.emplace_front(time, std::move(callback));
144} 146}
145 147
146void Game::playerDie(Entity& player, const Map& curMap) 148void Game::playerDie()
147{ 149{
148 player.send(*this, Message::Type::die); 150 player->send(*this, Message::Type::die);
149 151
150 playSound("../res/Hit_Hurt5.wav", 0.25); 152 playSound("../res/Hit_Hurt5.wav", 0.25);
151 153
152 schedule(0.75, [&] () { 154 schedule(0.75, [&] () {
153 if (curMap != *save.map) 155 if (*currentMap != *save.map)
154 { 156 {
155 loadMap(*save.map); 157 loadMap(*save.map);
156 } 158 }
157 159
158 player.position = save.position; 160 player->position = save.position;
159 player.send(*this, Message::Type::stopDying); 161 player->send(*this, Message::Type::stopDying);
160 }); 162 });
161} 163}