From 49af8b16ae3f9e6579656ed10f815e9c465557d0 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Tue, 13 Feb 2018 19:14:33 +0000 Subject: [entity] Starting work on entity system. --- yage/entity/entitymanager.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 yage/entity/entitymanager.cpp (limited to 'yage/entity/entitymanager.cpp') 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 + * 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 -- cgit