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

#include <BoxCollisionFacade.hpp>

静的公開メンバ関数

static void Render (ViewComponentBase *_view)
 
static void Collision ()
 
static void Push (IBoxCollision *, CollisionTag)
 
static void Pop (IBoxCollision *, CollisionTag)
 

関数詳解

◆ Render()

void Kisaragi_Lib::BoxCollisionFacade::Render ( ViewComponentBase * _view)
static
18 {
19 for(auto& [tag,vec] : colls)
20 {
21 for (auto& [key,item ]: vec)
22 {
24 }
25 }
26 }
static void Render(IBoxCollision *box, ViewComponentBase *_view)
Definition Coliision_s.cpp:25

参照元 Kisaragi_Lib::RenderSystem::Rendering().

◆ Collision()

void Kisaragi_Lib::BoxCollisionFacade::Collision ( )
static
29 {
30 for (auto& [tag1, map1] : colls) {
31 for (auto& [id1, obj1] : map1) {
32 for (auto& [tag2, map2] : colls) {
33
34 CollisionTable table = CollisionDataImpl::Get();
35
36 if (!(table[tag1] & CollisionList { (unsigned int)tag2 }).any())
37 {
38 continue;
39 }
40
41 for (auto& [id2, obj2] : map2) {
42 if (obj1 == obj2) continue;
43
45 }
46 }
47 }
48 }
49 }
static void ProcessCollision(IBoxCollision *a, IBoxCollision *b)
Definition Coliision_s.cpp:7
static const CollisionTable & Get()
Definition Collision_tag.cpp:49
std::bitset< COLLISION_TAG_CNT > CollisionList
衝突判定List
Definition Collision_tag.hpp:25

参照元 KisaragiFacade::MainRoop().

◆ Push()

void Kisaragi_Lib::BoxCollisionFacade::Push ( IBoxCollision * _coll,
CollisionTag _tag )
static
52 {
53 colls[_tag].emplace(_coll->ID(), _coll);
54 }
static std::unordered_map< CollisionTag, std::unordered_map< std::string, IBoxCollision * > > colls
Definition BoxCollisionFacade.cpp:13

参照元 Kisaragi_Lib::BoxCollision::SetTag(), Kisaragi_Lib::BoxCollision::Start().

◆ Pop()

void Kisaragi_Lib::BoxCollisionFacade::Pop ( IBoxCollision * _coll,
CollisionTag _tag )
static

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