diff options
Diffstat (limited to 'Thronefall_1_57/Decompile/NGS.MeshFusionPro/RuntimeMeshFusion.cs')
| -rw-r--r-- | Thronefall_1_57/Decompile/NGS.MeshFusionPro/RuntimeMeshFusion.cs | 197 |
1 files changed, 0 insertions, 197 deletions
diff --git a/Thronefall_1_57/Decompile/NGS.MeshFusionPro/RuntimeMeshFusion.cs b/Thronefall_1_57/Decompile/NGS.MeshFusionPro/RuntimeMeshFusion.cs deleted file mode 100644 index 38c811b..0000000 --- a/Thronefall_1_57/Decompile/NGS.MeshFusionPro/RuntimeMeshFusion.cs +++ /dev/null @@ -1,197 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - -namespace NGS.MeshFusionPro; - -public class RuntimeMeshFusion : MonoBehaviour -{ - private static List<RuntimeMeshFusion> _Instances; - - [SerializeField] - [HideInInspector] - private int _controllerIndex; - - [SerializeField] - [HideInInspector] - private bool _drawGizmo; - - [SerializeField] - [HideInInspector] - private int _cellSize = 80; - - [SerializeField] - [HideInInspector] - private int _maxVerticesPerObject = 40000; - - [SerializeField] - [HideInInspector] - private MeshType _meshType; - - [SerializeField] - [HideInInspector] - private MoveMethod _moveMethod = MoveMethod.Jobs; - - private CombineTree _combineTree; - - private bool _sourceAdded; - - private BinaryTreeDrawer<ICombineSource> _treeDrawer; - - public int ControllerIndex - { - get - { - return _controllerIndex; - } - set - { - if (!Application.isPlaying) - { - _controllerIndex = value; - } - } - } - - public bool DrawGizmo - { - get - { - return _drawGizmo; - } - set - { - _drawGizmo = value; - } - } - - public int CellSize - { - get - { - return _cellSize; - } - set - { - if (!Application.isPlaying) - { - _cellSize = Mathf.Max(1, value); - } - } - } - - public int MaxVertices - { - get - { - return _maxVerticesPerObject; - } - set - { - if (!Application.isPlaying) - { - _maxVerticesPerObject = Mathf.Clamp(value, 500, 65000); - } - } - } - - public MeshType MeshType - { - get - { - return _meshType; - } - set - { - if (!Application.isPlaying) - { - _meshType = value; - } - } - } - - public MoveMethod MoveMethod - { - get - { - return _moveMethod; - } - set - { - if (!Application.isPlaying) - { - _moveMethod = value; - } - } - } - - private void Awake() - { - if (_Instances == null) - { - _Instances = new List<RuntimeMeshFusion>(); - } - _Instances.Add(this); - ICombinedMeshFactory factory = new CombinedMeshFactory(_meshType, CombineMethod.Simple, _moveMethod); - _combineTree = new CombineTree(factory, _cellSize, _maxVerticesPerObject); - _treeDrawer = new BinaryTreeDrawer<ICombineSource>(); - Transform parent = new GameObject("CombinedObjects").transform; - _combineTree.onStaticCombinedObjectCreated += delegate(CombinedObject r) - { - r.transform.parent = parent; - }; - _combineTree.onDynamicCombinedObjectCreated += delegate(DynamicCombinedObject r) - { - r.transform.parent = parent; - }; - _combineTree.onCombinedLODGroupCreated += delegate(CombinedLODGroup r) - { - r.transform.parent = parent; - }; - } - - private void Update() - { - if (_sourceAdded) - { - _combineTree.Combine(); - _sourceAdded = false; - } - } - - private void OnDrawGizmos() - { - if (Application.isPlaying && _drawGizmo && _combineTree != null && _combineTree.Root != null) - { - _treeDrawer.DrawGizmo(_combineTree.Root, Color.white); - } - } - - private void OnDestroy() - { - _Instances.Remove(this); - } - - public static RuntimeMeshFusion FindByIndex(int index) - { - for (int i = 0; i < _Instances.Count; i++) - { - RuntimeMeshFusion runtimeMeshFusion = _Instances[i]; - if (runtimeMeshFusion.ControllerIndex == index) - { - return runtimeMeshFusion; - } - } - throw new KeyNotFoundException("MeshFusionController with index : " + index + " not found"); - } - - public void AddSource(ICombineSource source) - { - _combineTree.Add(source); - _sourceAdded = true; - } - - public void RemoveSource(ICombineSource source) - { - _combineTree.Remove(source); - } -} |
