#include <ComponentList.hpp>
◆ AddComponent()
コンポーネントを追加
- テンプレート引数
-
34 {
35
36
37
38
39
41
42
43 assert(tmp != nullptr);
44
45 tmp->GameObj(_obj);
46
48 }
ComponentBase * Create()
コンポーネントを作成する
Definition ComponentFacade.hpp:41
map< string, ComponentBase * > components
Definition ComponentList.hpp:24
ComponentFacade & GetComponentFacade()
Definition ComponentFacade.cpp:5
◆ GetComponent()
template<class T>
T & Kisaragi_Lib::ComponentList::GetComponent |
( |
| ) |
|
|
inline |
コンポーネントを取得する
- テンプレート引数
-
- 戻り値
- 成功時 : 発見したコンポーネントのポインタ
失敗時 : プログラム終了
60 {
61
62
63
64
66 {
67 if (typeid(*c.second).name() == typeid(T).name())
68 {
69 return *((T*)c.second->GetThisComponent());
70 }
71 }
72
73
74
75 assert(false);
76 }
◆ TryGetComponent()
template<class T>
T & Kisaragi_Lib::ComponentList::TryGetComponent |
( |
| ) |
|
|
inline |
コンポーネントを取得する
- テンプレート引数
-
- 戻り値
- 成功時 : 発見したコンポーネントのポインタ
失敗時 : 何も返さない
88 {
89
90 assert(typeid(ComponentBase).before(typeid(T)));
91
93 {
94 if (typeid(*c.second).name() == typeid(T).name())
95 {
96 return *((T*)c.second->GetThisComponent());
97 }
98 }
99
100
101 }
◆ AddRemoveComponent() [1/2]
void Kisaragi_Lib::ComponentList::AddRemoveComponent |
( |
ComponentBase * | _com | ) |
|
6 {
9 }
void AddDestroy(string _id)
破棄オブジェクトの登録
Definition ComponentFacade.hpp:83
vector< string > removesComID
Definition ComponentList.hpp:25
◆ AddRemoveComponent() [2/2]
void Kisaragi_Lib::ComponentList::AddRemoveComponent |
( |
string | _id | ) |
|
◆ RemoveComponent()
void Kisaragi_Lib::ComponentList::RemoveComponent |
( |
| ) |
|
◆ Destroy()
void Kisaragi_Lib::ComponentList::Destroy |
( |
| ) |
|
29 {
30 vector<string>tmpID;
31
33 {
34
35 tmpID.push_back(c.first);
36 }
37
38 for (auto& _id : tmpID)
39 {
40
42 }
43
44 }
◆ components
◆ removesComID
vector<string> Kisaragi_Lib::ComponentList::removesComID |
|
private |
このクラス詳解は次のファイルから抽出されました: