public void CompleteBBox(CollisionMeshGroup ent1) { ent1.BoundingBox = ent1.Meshes .Select(x => x.BoundingBox) .Concat(SelectBoundingBoxList(ent1)) .MergeAll(); }
public void CompleteBBox(CollisionMeshGroup ent1) { ent1.BoundingBox = Enumerable.Range( ent1.CollisionMeshStart, ent1.CollisionMeshEnd - ent1.CollisionMeshStart ) .Select(index => coct.CollisionMeshList[index].BoundingBox) .MergeAll(); }
private IEnumerable <BoundingBoxInt16> SelectBoundingBoxList(CollisionMeshGroup ent1) { if (ent1.Child1 != -1) { yield return(coct.CollisionMeshGroupList[ent1.Child1].BoundingBox); if (ent1.Child2 != -1) { yield return(coct.CollisionMeshGroupList[ent1.Child2].BoundingBox); if (ent1.Child3 != -1) { yield return(coct.CollisionMeshGroupList[ent1.Child3].BoundingBox); if (ent1.Child4 != -1) { yield return(coct.CollisionMeshGroupList[ent1.Child4].BoundingBox); if (ent1.Child5 != -1) { yield return(coct.CollisionMeshGroupList[ent1.Child5].BoundingBox); if (ent1.Child6 != -1) { yield return(coct.CollisionMeshGroupList[ent1.Child6].BoundingBox); if (ent1.Child7 != -1) { yield return(coct.CollisionMeshGroupList[ent1.Child7].BoundingBox); if (ent1.Child8 != -1) { yield return(coct.CollisionMeshGroupList[ent1.Child8].BoundingBox); } } } } } } } } }
public CollisionMeshGroup CompleteAndAdd(CollisionMeshGroup it) { buildHelper.CompleteBBox(it); CollisionMeshGroupList.Add(it); return(it); }