summary refs log tree commit diff stats
path: root/src/components/prototypable.h
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2018-05-14 18:40:54 -0400
committerKelly Rauchenberger <fefferburbia@gmail.com>2018-05-17 15:39:39 -0400
commit5e48cf6333aca7af6854d79194f138d57ce0b5e1 (patch)
treeb1703c6268b762a04a101f35188163fe2d9feb45 /src/components/prototypable.h
parent046ee24a341468e9b3ea2983a731dbce18b52ac6 (diff)
downloadtherapy-5e48cf6333aca7af6854d79194f138d57ce0b5e1.tar.gz
therapy-5e48cf6333aca7af6854d79194f138d57ce0b5e1.tar.bz2
therapy-5e48cf6333aca7af6854d79194f138d57ce0b5e1.zip
Specialized treatment of behavior scripts
The AutomatableComponent now links to the Runnable entity representing the behavior script.

Also reordered the SystemManager and EntityManager members of the Game class such that the EntityManager is destroyed before the SystemManager is. This fixes a bug where the destruction of a component has some affect on the state of a system. Specifically, if the ScriptingSystem (and thus the Lua state) is destroyed before the EntityManager is and there are any Runnable entities, the game will crash when trying to destroy them.
Diffstat (limited to 'src/components/prototypable.h')
-rw-r--r--src/components/prototypable.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/components/prototypable.h b/src/components/prototypable.h index 4659e7c..c0dd972 100644 --- a/src/components/prototypable.h +++ b/src/components/prototypable.h
@@ -9,14 +9,15 @@ public:
9 9
10 using id_type = EntityManager::id_type; 10 using id_type = EntityManager::id_type;
11 11
12 /**
13 * The index of the object in the map definition.
14 */
12 size_t mapObjectIndex; 15 size_t mapObjectIndex;
13 16
17 /**
18 * The name of the prototype that the object was spawned from.
19 */
14 std::string prototypeId; 20 std::string prototypeId;
15
16 bool hasBehavior = false;
17 bool runningBehavior = false;
18
19 id_type behaviorScript;
20}; 21};
21 22
22#endif /* end of include guard: PROTOTYPABLE_H_817F2205 */ 23#endif /* end of include guard: PROTOTYPABLE_H_817F2205 */