本文整理汇总了C++中GameObject::Enabled方法的典型用法代码示例。如果您正苦于以下问题:C++ GameObject::Enabled方法的具体用法?C++ GameObject::Enabled怎么用?C++ GameObject::Enabled使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameObject
的用法示例。
在下文中一共展示了GameObject::Enabled方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ButtonDown
void ButtonDown(std::string b) {
if (b=="f") {
follow = !follow;
} else if (b=="w") {
wireframe = !wireframe;
} else if (b=="n") {
navMesh->Enabled() = !navMesh->Enabled();
//navMesh->EnableComponent<Material>(!navMesh->IsComponentEnabled<Material>());
}else if (b=="c") {
collisionMesh->Enabled() = !collisionMesh->Enabled();
//collisionMesh->EnableComponent<Material>(!collisionMesh->IsComponentEnabled<Material>());
} else if (b=="b") {
Point size(1 + MathHelper::Random(3), 1 + MathHelper::Random(3));
GameObject* building = world.CreateObject();
building->AddComponent<Transform>()->Position = marker->GetComponent<Transform>()->Position;
building->GetComponent<Transform>()->Rotation = Quaternion(MathHelper::Random(0, MathHelper::DegToRad * 360.0f), {0,1,0});
building->AddComponent<Obstacle>()->size = size;
building->AddComponent<Material>()->Shader = &renderer->Shaders.LitColored;
building->AddComponent<Mappable>()->Map = map->GetComponent<Map>();
auto& mesh = building->AddComponent<Mesh>()->GetMesh<Vertex>();
mesh.AddCube({0,1,0}, {(float)size.x,1,(float)size.y});
}
}
示例2: NavigationMeshUpdated
void NavigationMeshUpdated(Map* map) {
if (navMesh) navMesh->Remove();
if (collisionMesh) collisionMesh->Remove();
NavMesh& mesh = *map->NavMesh();
for (int i=0; i<2; i++) {
GameObject* meshObject = world.CreateObject();
meshObject->Enabled() = false;
meshObject->AddComponent<Transform>();
meshObject->AddComponent<Material>()->Shader = &renderer->Shaders.Colored;
meshObject->GetComponent<Material>()->BlendMode = BlendModeType::Alpha;
//meshObject->EnableComponent<Material>(false);
auto& navMeshMesh = meshObject->AddComponent<Mesh>()->GetMesh<Vertex>();
NavMesh::Vertices& vertices = i==0 ? mesh.navigation : mesh.collision;
for(auto& p : vertices) {
Vertex v;
v.Position = {p.x, 1.50f+i*0.1f, p.y};
v.Color = i==0 ? Colour::Red() : Colour::Green(); //Colour::HslToRgb(i*180, 1, 1, 1);
navMeshMesh.vertices.push_back(v);
if (navMeshMesh.vertices.size()>25000) break;
}
for (auto& p : mesh.GetTriangles()) {
bool valid = true;
for (int i=0; i<3; i++) {
if (p->corners[i]>=navMeshMesh.vertices.size()) {
valid = false;
break;
}
}
if (!valid) continue;
for (int i=0; i<3; i++) {
navMeshMesh.triangles.push_back(p->corners[i]);
}
}
navMeshMesh.Flip();
if (i==0) {
navMesh = meshObject;
} else {
collisionMesh = meshObject;
}
}
}