summary refs log tree commit diff stats
path: root/src/systems/pondering.h
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2018-05-04 10:23:02 -0400
committerKelly Rauchenberger <fefferburbia@gmail.com>2018-05-09 17:59:13 -0400
commit123192db10cdf5244f27d08256ece738f60a9e2c (patch)
tree9636a010c6f0ce4f0f7ea31822136affdfac3137 /src/systems/pondering.h
parent69c04dfb6c49e7b2d34a6699c071f037880fbde5 (diff)
downloadtherapy-123192db10cdf5244f27d08256ece738f60a9e2c.tar.gz
therapy-123192db10cdf5244f27d08256ece738f60a9e2c.tar.bz2
therapy-123192db10cdf5244f27d08256ece738f60a9e2c.zip
Unferried players while changing maps
This fixes the third problem described in 8f1c4f1 -- that if a ferried body's transform is modified outside of the PonderingSystem, it will not be unferried as appropriate. This does still require that any future code that modifies a body's transform also unferries the body first.
Diffstat (limited to 'src/systems/pondering.h')
-rw-r--r--src/systems/pondering.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/systems/pondering.h b/src/systems/pondering.h index b195814..adc0cda 100644 --- a/src/systems/pondering.h +++ b/src/systems/pondering.h
@@ -16,8 +16,22 @@ public:
16 16
17 void initializeBody(id_type entity, PonderableComponent::Type type); 17 void initializeBody(id_type entity, PonderableComponent::Type type);
18 18
19 /**
20 * Initializes a ponderable map object from its prototype data.
21 *
22 * @requires entity is ponderable
23 * @requires entity is a map object
24 */
19 void initPrototype(id_type prototype); 25 void initPrototype(id_type prototype);
20 26
27 /**
28 * Unferries an entity if it is a passenger of another entity. Use before
29 * moving a ponderable entity outside the PonderingSystem.
30 *
31 * @requires entity is ponderable
32 */
33 void unferry(id_type entity);
34
21private: 35private:
22 36
23 struct CollisionResult 37 struct CollisionResult