// Token: 0x06000037 RID: 55 RVA: 0x0000304C File Offset: 0x0000124C private static IEnumerable <NamedSelectionTagg> createNamedSelectionTaggs(LOD src) { int nPoints = src.VertexCount; int nFaces = src.Faces.Length; foreach (NamedSelection namedSelection in src.NamedSelections) { NamedSelectionTagg namedSelectionTagg = new NamedSelectionTagg(); namedSelectionTagg.Name = namedSelection.Name; namedSelectionTagg.DataSize = (uint)(nPoints + nFaces); namedSelectionTagg.points = new byte[nPoints]; namedSelectionTagg.faces = new byte[nFaces]; bool flag = namedSelection.SelectedVerticesWeights.Length != 0; int num = 0; VertexIndex[] array2 = namedSelection.SelectedVertices; for (int j = 0; j < array2.Length; j++) { int num2 = array2[j]; byte b = flag ? (-namedSelection.SelectedVerticesWeights[num++]) : 1; namedSelectionTagg.points[num2] = b; } array2 = namedSelection.SelectedFaces; for (int j = 0; j < array2.Length; j++) { int num3 = array2[j]; namedSelectionTagg.faces[num3] = 1; } yield return(namedSelectionTagg); } NamedSelection[] array = null; yield break; }
// Token: 0x06000031 RID: 49 RVA: 0x000028B8 File Offset: 0x00000AB8 private static void ApplySelectedPointsAndFaces(MLOD_LOD dstLod, Dictionary <string, List <Conversion.PointWeight> > nsPoints, Dictionary <string, List <int> > nsFaces) { foreach (Tagg tagg in dstLod.taggs) { if (tagg is NamedSelectionTagg) { NamedSelectionTagg namedSelectionTagg = tagg as NamedSelectionTagg; List <Conversion.PointWeight> list; if (nsPoints != null && nsPoints.TryGetValue(namedSelectionTagg.Name, out list)) { foreach (Conversion.PointWeight pointWeight in list) { byte b = -pointWeight.weight; if (b != 0) { namedSelectionTagg.points[pointWeight.pointIndex] = b; } } } List <int> list2; if (nsFaces != null && nsFaces.TryGetValue(namedSelectionTagg.Name, out list2)) { foreach (int num in list2) { namedSelectionTagg.faces[num] = 1; } } } } }