1
This commit is contained in:
parent
efbef8c795
commit
54a3bf530c
@ -35,6 +35,10 @@ namespace mc
|
||||
|
||||
void Collider::Read(std::shared_ptr<a8::XObject> xobj)
|
||||
{
|
||||
ca_type = xobj->At("ca_type")->AsXValue();
|
||||
if (ca_type < kCA_Floor || ca_type > kCA_Other) {
|
||||
abort();
|
||||
}
|
||||
enabled = xobj->At("enabled")->AsXValue();
|
||||
is_trigger = xobj->At("is_trigger")->AsXValue();
|
||||
Bounds_Read(bounds, xobj->At("bounds"));
|
||||
@ -79,6 +83,7 @@ namespace mc
|
||||
case kBoxCollider:
|
||||
{
|
||||
Collider* c = new BoxCollider();
|
||||
c->type = kBoxCollider;
|
||||
c->Read(collider_union_xobj->At("box"));
|
||||
colliders.push_back(c);
|
||||
}
|
||||
@ -86,6 +91,7 @@ namespace mc
|
||||
case kMeshCollider:
|
||||
{
|
||||
Collider* c = new MeshCollider();
|
||||
c->type = kMeshCollider;
|
||||
c->Read(collider_union_xobj->At("mesh"));
|
||||
colliders.push_back(c);
|
||||
}
|
||||
|
@ -13,6 +13,17 @@ namespace mc
|
||||
kMeshCollider = 2
|
||||
};
|
||||
|
||||
enum ColliderAssembly_e
|
||||
{
|
||||
kCA_Floor = 0,//地板
|
||||
kCA_Wall = 1,//墙壁
|
||||
kCA_Roof = 2,//屋顶
|
||||
kCA_FloororRoof = 3,//屋顶+上层地板
|
||||
kCA_stairs = 4,//楼梯
|
||||
kCA_Window = 9,//窗,主要为了射击穿透
|
||||
kCA_Other = 10,//其他,装饰品
|
||||
};
|
||||
|
||||
struct Bounds
|
||||
{
|
||||
glm::vec3 center = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||
@ -37,6 +48,7 @@ namespace mc
|
||||
struct Collider
|
||||
{
|
||||
int type = kNoneCollider;
|
||||
int ca_type = 0;
|
||||
bool enabled = false;
|
||||
bool is_trigger = false;
|
||||
Bounds bounds;
|
||||
|
Loading…
x
Reference in New Issue
Block a user