KisaragiLibrary
 
読み取り中…
検索中…
一致する文字列を見つけられません
ECS::EntityContainer クラス

ワールドが所有するEntityのコンテナ [詳解]

#include <EntityContainer.hpp>

公開メンバ関数

const EntityCreate ()
 Entityを生成する
 
void Remove (const Entity &_entity)
 

非公開メンバ関数

 EntityContainer ()
 

非公開変数類

std::vector< Entityactive
 
EntityID next = 0
 
std::vector< Entityfree
 

詳解

ワールドが所有するEntityのコンテナ

構築子と解体子

◆ EntityContainer()

ECS::EntityContainer::EntityContainer ( )
inlineprivate
19{}

関数詳解

◆ Create()

const Entity & ECS::EntityContainer::Create ( )
inline

Entityを生成する

戻り値
39 {
40 if (!free.empty())
41 {
42 free.back()++; //バージョン更新
43 active.push_back(free.back()); //追加
44 free.pop_back(); //freeから除外
45 }
46 else
47 {
48 active.push_back(Entity{ next });
49 next++;
50 }
51
52 return active.back();
53 }
EntityID next
Definition EntityContainer.hpp:25
std::vector< Entity > free
Definition EntityContainer.hpp:28
std::vector< Entity > active
Definition EntityContainer.hpp:22

◆ Remove()

void ECS::EntityContainer::Remove ( const Entity & _entity)
inline
56 {
57 free.push_back(_entity);
58 //TODO
59 }

メンバ詳解

◆ active

std::vector<Entity> ECS::EntityContainer::active
private

参照元 Create().

◆ next

EntityID ECS::EntityContainer::next = 0
private

参照元 Create().

◆ free

std::vector<Entity> ECS::EntityContainer::free
private

参照元 Create(), Remove().


このクラス詳解は次のファイルから抽出されました: