diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2018-02-13 19:16:22 +0000 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2018-02-13 19:16:22 +0000 |
commit | 2fe3434682aae38bb0ab414135c2311110a6db90 (patch) | |
tree | 1dff4aea6a59c466ea6a6f15ad7f5e2ac69f5b37 /yage/entity/entitymanager.cpp | |
parent | 400e8188a312abc7e5a0c7378dbd64fb8e0705e0 (diff) | |
parent | 49af8b16ae3f9e6579656ed10f815e9c465557d0 (diff) | |
download | YAGE-2fe3434682aae38bb0ab414135c2311110a6db90.tar.gz YAGE-2fe3434682aae38bb0ab414135c2311110a6db90.zip |
Merge branch 'entity'
Diffstat (limited to 'yage/entity/entitymanager.cpp')
-rw-r--r-- | yage/entity/entitymanager.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/yage/entity/entitymanager.cpp b/yage/entity/entitymanager.cpp new file mode 100644 index 00000000..332ed9b8 --- /dev/null +++ b/yage/entity/entitymanager.cpp @@ -0,0 +1,34 @@ +/** --------------------------------------------------------------------------- + * @file: entitymanager.cpp + * + * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> + * MIT License, see LICENSE file for more details. + * ---------------------------------------------------------------------------- + */ + +#include "entitymanager.h" + +namespace yage +{ + +EntityManager::EntityManager(Space *space) : next_handle_(0), space_(space) {} + +EntityManager::EntityManager(Space *space, std::size_t n) + : next_handle_(0), space_(space) +{ + entities_.reserve(n); +} + +unsigned EntityManager::createEntity() +{ + return createEntityInstance().getHandle(); +} + +Entity EntityManager::createEntityInstance() +{ + Entity entity(next_handle_++); + entities_.push_back(entity); + return entity; +} + +} // namespace yage |