summaryrefslogtreecommitdiff
path: root/Thronefall_1_0/Thronefall/NGS.MeshFusionPro/CombinedMeshDataInternal.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2024-05-20 22:36:58 +0800
committerchai <215380520@qq.com>2024-05-20 22:36:58 +0800
commita22c505984697881f5f911a165ee022087b69e09 (patch)
treed3c030aef1ae9b8a01c889dd2902bb1e3324e72b /Thronefall_1_0/Thronefall/NGS.MeshFusionPro/CombinedMeshDataInternal.cs
parent4a4cc82d069b26bc4d4532e73860f86b211ca239 (diff)
*renameHEADmaster
Diffstat (limited to 'Thronefall_1_0/Thronefall/NGS.MeshFusionPro/CombinedMeshDataInternal.cs')
-rw-r--r--Thronefall_1_0/Thronefall/NGS.MeshFusionPro/CombinedMeshDataInternal.cs124
1 files changed, 0 insertions, 124 deletions
diff --git a/Thronefall_1_0/Thronefall/NGS.MeshFusionPro/CombinedMeshDataInternal.cs b/Thronefall_1_0/Thronefall/NGS.MeshFusionPro/CombinedMeshDataInternal.cs
deleted file mode 100644
index c055f95..0000000
--- a/Thronefall_1_0/Thronefall/NGS.MeshFusionPro/CombinedMeshDataInternal.cs
+++ /dev/null
@@ -1,124 +0,0 @@
-using System;
-using System.Collections.Generic;
-using UnityEngine;
-
-namespace NGS.MeshFusionPro;
-
-public class CombinedMeshDataInternal : CombinedMeshData, IDisposable
-{
- private CombinedMesh _root;
-
- private List<CombinedMeshPartInternal> _parts;
-
- private int _vertexCount;
-
- private int _trianglesCount;
-
- private List<Bounds> _partsBounds;
-
- private Bounds _boundingBox;
-
- public override int PartsCount => _parts.Count;
-
- public override int VertexCount => _vertexCount;
-
- protected CombinedMesh Root => _root;
-
- public void Initialize(CombinedMesh root)
- {
- _root = root;
- _parts = new List<CombinedMeshPartInternal>();
- OnInitialized();
- }
-
- public override Bounds GetBounds()
- {
- return _boundingBox;
- }
-
- public override Bounds GetBounds(CombinedMeshPart part)
- {
- return _partsBounds[part.Index];
- }
-
- public override IEnumerable<CombinedMeshPart> GetParts()
- {
- for (int i = 0; i < _parts.Count; i++)
- {
- yield return _parts[i];
- }
- }
-
- public void Dispose()
- {
- OnDispose();
- }
-
- public CombinedMeshPart[] CreateParts(IList<MeshCombineInfo> infos)
- {
- CombinedMeshPart[] array = new CombinedMeshPart[infos.Count];
- for (int i = 0; i < array.Length; i++)
- {
- MeshCombineInfo meshCombineInfo = infos[i];
- Mesh mesh = meshCombineInfo.mesh;
- Matrix4x4 transformMatrix = meshCombineInfo.transformMatrix;
- int vertexCount = _vertexCount;
- int vertexCount2 = meshCombineInfo.vertexCount;
- int trianglesCount = _trianglesCount;
- int trianglesCount2 = meshCombineInfo.trianglesCount;
- CombinedMeshPartInternal combinedMeshPartInternal = new CombinedMeshPartInternal(_root, _parts.Count, vertexCount, vertexCount2, trianglesCount, trianglesCount2);
- _parts.Add(combinedMeshPartInternal);
- array[i] = combinedMeshPartInternal;
- _vertexCount += vertexCount2;
- _trianglesCount += trianglesCount2;
- OnAddPart(combinedMeshPartInternal, mesh, transformMatrix);
- }
- OnMeshUpdated();
- return array;
- }
-
- public void RemoveParts(IList<CombinedMeshPart> parts)
- {
- for (int i = 0; i < parts.Count; i++)
- {
- CombinedMeshPartInternal combinedMeshPartInternal = (CombinedMeshPartInternal)parts[i];
- OnRemovePart(combinedMeshPartInternal);
- int num = _parts.IndexOf(combinedMeshPartInternal);
- int vertexCount = combinedMeshPartInternal.VertexCount;
- int trianglesCount = combinedMeshPartInternal.TrianglesCount;
- for (int j = num + 1; j < _parts.Count; j++)
- {
- CombinedMeshPartInternal combinedMeshPartInternal2 = _parts[j];
- combinedMeshPartInternal2.Offset(newVertexStart: combinedMeshPartInternal2.VertexStart - vertexCount, newTrianglesStart: combinedMeshPartInternal2.TrianglesStart - trianglesCount, newIndex: combinedMeshPartInternal2.Index - 1);
- }
- _parts.Remove(combinedMeshPartInternal);
- _vertexCount -= combinedMeshPartInternal.VertexCount;
- _trianglesCount -= combinedMeshPartInternal.TrianglesCount;
- }
- OnMeshUpdated();
- }
-
- protected virtual void OnInitialized()
- {
- _partsBounds = new List<Bounds>();
- }
-
- protected virtual void OnAddPart(CombinedMeshPart part, Mesh mesh, Matrix4x4 transform)
- {
- _partsBounds.Add(mesh.bounds.Transform(transform));
- }
-
- protected virtual void OnRemovePart(CombinedMeshPart part)
- {
- _partsBounds.RemoveAt(part.Index);
- }
-
- protected virtual void OnMeshUpdated()
- {
- _boundingBox = _root.Mesh.bounds;
- }
-
- protected virtual void OnDispose()
- {
- }
-}