diff options
Diffstat (limited to 'src/systems/playing.cpp')
-rw-r--r-- | src/systems/playing.cpp | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/src/systems/playing.cpp b/src/systems/playing.cpp index 40d9706..5077f8a 100644 --- a/src/systems/playing.cpp +++ b/src/systems/playing.cpp | |||
@@ -5,6 +5,7 @@ | |||
5 | #include "components/playable.h" | 5 | #include "components/playable.h" |
6 | #include "components/controllable.h" | 6 | #include "components/controllable.h" |
7 | #include "components/orientable.h" | 7 | #include "components/orientable.h" |
8 | #include "components/mappable.h" | ||
8 | #include "systems/mapping.h" | 9 | #include "systems/mapping.h" |
9 | #include "systems/pondering.h" | 10 | #include "systems/pondering.h" |
10 | #include "systems/orienting.h" | 11 | #include "systems/orienting.h" |
@@ -84,7 +85,8 @@ void PlayingSystem::initPlayer() | |||
84 | 85 | ||
85 | game_.getSystemManager().getSystem<PonderingSystem>().initializeBody( | 86 | game_.getSystemManager().getSystem<PonderingSystem>().initializeBody( |
86 | player, | 87 | player, |
87 | PonderableComponent::Type::freefalling); | 88 | PonderableComponent::BodyType::freefalling, |
89 | PonderableComponent::ColliderType::player); | ||
88 | 90 | ||
89 | game_.getEntityManager().emplaceComponent<ControllableComponent>(player); | 91 | game_.getEntityManager().emplaceComponent<ControllableComponent>(player); |
90 | game_.getEntityManager().emplaceComponent<OrientableComponent>(player); | 92 | game_.getEntityManager().emplaceComponent<OrientableComponent>(player); |
@@ -173,3 +175,32 @@ void PlayingSystem::die() | |||
173 | }); | 175 | }); |
174 | } | 176 | } |
175 | } | 177 | } |
178 | |||
179 | void PlayingSystem::save() | ||
180 | { | ||
181 | playSound("res/Pickup_Coin23.wav", 0.25); | ||
182 | |||
183 | auto players = game_.getEntityManager().getEntitiesWithComponents< | ||
184 | TransformableComponent, | ||
185 | PlayableComponent>(); | ||
186 | |||
187 | auto maps = game_.getEntityManager().getEntitiesWithComponents< | ||
188 | MappableComponent>(); | ||
189 | |||
190 | auto& mappable = game_.getEntityManager(). | ||
191 | getComponent<MappableComponent>(*maps.begin()); | ||
192 | |||
193 | for (id_type player : players) | ||
194 | { | ||
195 | auto& transformable = game_.getEntityManager(). | ||
196 | getComponent<TransformableComponent>(player); | ||
197 | |||
198 | auto& playable = game_.getEntityManager(). | ||
199 | getComponent<PlayableComponent>(player); | ||
200 | |||
201 | playable.checkpointMapId = mappable.getMapId(); | ||
202 | playable.checkpointX = transformable.getX(); | ||
203 | playable.checkpointY = transformable.getY(); | ||
204 | playable.checkpointObjectActivated = false; | ||
205 | } | ||
206 | } | ||