summaryrefslogtreecommitdiff
path: root/Thronefall_1_57/Decompile/NGS.MeshFusionPro/LODGroupCombineSource.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2024-05-19 17:03:57 +0800
committerchai <215380520@qq.com>2024-05-19 17:03:57 +0800
commitcf58771365b5953c6eac548b172aae880d1f0acd (patch)
treea49757a4b5c447cbf877584d482367a6bfe33b10 /Thronefall_1_57/Decompile/NGS.MeshFusionPro/LODGroupCombineSource.cs
parenteed315deae356ddfb17f28305e7cde6cdfc43313 (diff)
* rename
Diffstat (limited to 'Thronefall_1_57/Decompile/NGS.MeshFusionPro/LODGroupCombineSource.cs')
-rw-r--r--Thronefall_1_57/Decompile/NGS.MeshFusionPro/LODGroupCombineSource.cs106
1 files changed, 0 insertions, 106 deletions
diff --git a/Thronefall_1_57/Decompile/NGS.MeshFusionPro/LODGroupCombineSource.cs b/Thronefall_1_57/Decompile/NGS.MeshFusionPro/LODGroupCombineSource.cs
deleted file mode 100644
index 66c640b..0000000
--- a/Thronefall_1_57/Decompile/NGS.MeshFusionPro/LODGroupCombineSource.cs
+++ /dev/null
@@ -1,106 +0,0 @@
-using System;
-using UnityEngine;
-
-namespace NGS.MeshFusionPro;
-
-public class LODGroupCombineSource : ICombineSource<CombinedLODGroup, CombinedLODGroupPart>, ICombineSource
-{
- private Bounds _bounds;
-
- private LODGroupSettings _settings;
-
- private CombineSource[][] _sources;
-
- public Vector3 Position { get; private set; }
-
- public Bounds Bounds => _bounds;
-
- public LODGroup LODGroup { get; private set; }
-
- public LODGroupSettings Settings => _settings;
-
- public CombineSource[][] BaseSources => _sources;
-
- public event Action<ICombinedObject, ICombinedObjectPart> onCombined;
-
- public event Action<ICombinedObject, string> onCombineError;
-
- public event Action<ICombinedObject> onCombineFailed;
-
- public event Action<CombinedLODGroup, CombinedLODGroupPart> onCombinedTyped;
-
- public event Action<CombinedLODGroup, string> onCombineErrorTyped;
-
- public event Action<CombinedLODGroup> onCombineFailedTyped;
-
- public LODGroupCombineSource(LODGroup group)
- {
- LODGroup = group;
- Position = group.transform.position;
- LOD[] lODs = group.GetLODs();
- _settings = new LODGroupSettings(group);
- _sources = new CombineSource[_settings.lodCount][];
- _bounds = new Bounds(group.localReferencePoint + Position, Vector3.zero);
- for (int i = 0; i < lODs.Length; i++)
- {
- Renderer[] renderers = lODs[i].renderers;
- CreateSourcesArray(i, renderers);
- FillSources(i, renderers);
- }
- }
-
- public void Combined(CombinedLODGroup root, CombinedLODGroupPart part)
- {
- this.onCombined?.Invoke(root, part);
- this.onCombinedTyped?.Invoke(root, part);
- }
-
- public void CombineError(CombinedLODGroup root, string errorMessage)
- {
- if (this.onCombineError == null && this.onCombineErrorTyped == null)
- {
- Debug.Log("Combine error occured : " + root.name + ", reason : " + errorMessage);
- return;
- }
- this.onCombineError?.Invoke(root, errorMessage);
- this.onCombineErrorTyped?.Invoke(root, errorMessage);
- }
-
- public void CombineFailed(CombinedLODGroup root)
- {
- this.onCombineFailed?.Invoke(root);
- this.onCombineFailedTyped?.Invoke(root);
- }
-
- private void CreateSourcesArray(int level, Renderer[] renderers)
- {
- int num = 0;
- for (int i = 0; i < renderers.Length; i++)
- {
- if (!(renderers[i] == null))
- {
- num += renderers[i].sharedMaterials.Length;
- }
- }
- _sources[level] = new CombineSource[num];
- }
-
- private void FillSources(int level, Renderer[] renderers)
- {
- int num = 0;
- for (int i = 0; i < renderers.Length; i++)
- {
- MeshRenderer meshRenderer = (MeshRenderer)renderers[i];
- if (!(meshRenderer == null))
- {
- Mesh sharedMesh = meshRenderer.GetComponent<MeshFilter>().sharedMesh;
- for (int j = 0; j < sharedMesh.subMeshCount; j++)
- {
- _sources[level][num] = new CombineSource(sharedMesh, meshRenderer, j);
- num++;
- }
- _bounds.Encapsulate(meshRenderer.bounds);
- }
- }
- }
-}