summaryrefslogtreecommitdiff
path: root/Thronefall_v1.57/Thronefall/NGS.MeshFusionPro/LODGroupsCombiner.cs
blob: 961bf2843ce9c720c0b61ec287b3b368c3e87e81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using System.Collections.Generic;

namespace NGS.MeshFusionPro;

public class LODGroupsCombiner : ObjectsCombiner<CombinedLODGroup, LODGroupCombineSource>
{
	private ICombinedMeshFactory _factory;

	private CombinedLODGroupMatcher _matcher;

	private int _vertexLimit;

	public LODGroupsCombiner(ICombinedMeshFactory factory, int vertexLimit)
	{
		_factory = factory;
		_matcher = new CombinedLODGroupMatcher();
		_vertexLimit = vertexLimit;
	}

	protected override CombinedLODGroup CreateCombinedObject(LODGroupCombineSource source)
	{
		return CombinedLODGroup.Create(_factory, source.Settings, _vertexLimit);
	}

	protected override void CombineSources(CombinedLODGroup root, IList<LODGroupCombineSource> sources)
	{
		root.Combine(sources);
	}

	protected override CombinedObjectMatcher<CombinedLODGroup, LODGroupCombineSource> GetMatcher()
	{
		return _matcher;
	}
}