aboutsummaryrefslogtreecommitdiffstats
path: root/yage/entity/entitymanager.cpp
blob: 332ed9b86b2bd76584b7f5faa46273dcd2835c99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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