public void ReverseMeshGroup() { var maxIndex = CollisionMeshGroupList.Count - 1; CollisionMeshGroupList.Reverse(); short ReverseChildIndex(short child) { if (child != -1) { child = Convert.ToInt16(maxIndex - child); } return(child); } foreach (var one in CollisionMeshGroupList) { one.Child1 = ReverseChildIndex(one.Child1); one.Child2 = ReverseChildIndex(one.Child2); one.Child3 = ReverseChildIndex(one.Child3); one.Child4 = ReverseChildIndex(one.Child4); one.Child5 = ReverseChildIndex(one.Child5); one.Child6 = ReverseChildIndex(one.Child6); one.Child7 = ReverseChildIndex(one.Child7); one.Child8 = ReverseChildIndex(one.Child8); } }
public Coct CreateCoct() { var coct = new Coct(); coct.CollisionMeshGroupList.AddRange( CollisionMeshGroupList.Select(Unmap1) ); coct.VertexList.AddRange( VertexList .Select(UnmapVector) ); return(coct); }
public CollisionMeshGroup CompleteAndAdd(CollisionMeshGroup it) { buildHelper.CompleteBBox(it); CollisionMeshGroupList.Add(it); return(it); }
public Coct CreateCoct() { var coct = new Coct(); coct.CollisionMeshGroupList.AddRange( CollisionMeshGroupList .Select( collision1 => { var newCollision1 = Ummap1(collision1); newCollision1.CollisionMeshStart = Convert.ToUInt16( coct.CollisionMeshList.Count ); coct.CollisionMeshList.AddRange( collision1.Meshes .Select( collision2 => { var newCollision2 = Unmap2(collision2); newCollision2.CollisionStart = Convert.ToUInt16( coct.CollisionList.Count ); coct.CollisionList.AddRange( collision2.Items .Select( collision3 => { var newCollision3 = Unmap3(collision3); return(newCollision3); } ) ); newCollision2.CollisionEnd = Convert.ToUInt16( coct.CollisionList.Count ); return(newCollision2); } ) ); newCollision1.CollisionMeshEnd = Convert.ToUInt16( coct.CollisionMeshList.Count ); return(newCollision1); } ) ); coct.VertexList.AddRange( VertexList .Select(Unmap4) ); coct.PlaneList.AddRange( PlaneList .Select(Unmap5) ); coct.BoundingBoxList.AddRange( BoundingBoxList .Select(Unmap6) ); coct.SurfaceFlagsList.AddRange( SurfaceFlagsList .Select(Unmap7) ); return(coct); }