Beispiel #1
0
        internal static bool MergeLodMesh(this MyMergedLodMeshId mergedLodMesh, LodMeshId lodMesh)
        {
            var pendingLodMeshes = mergedLodMesh.Info.PendingLodMeshes;
            var mergedLodMeshes  = mergedLodMesh.Info.MergedLodMeshes;

            bool alreadyMerged = mergedLodMeshes.Contains(lodMesh);

            if (alreadyMerged)
            {
                pendingLodMeshes.UnionWith(mergedLodMeshes);
                mergedLodMeshes.Clear();
            }
            else
            {
                pendingLodMeshes.Add(lodMesh);
            }

            MyMeshes.LinkLodMeshToMerged(lodMesh, mergedLodMesh);
            return(alreadyMerged);
        }