This commit is contained in:
CortexCore
2024-04-16 04:15:06 +08:00
parent b673a9438d
commit 0362b2c606
183 changed files with 5695 additions and 1453 deletions

View File

@@ -0,0 +1,35 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.Pool;
namespace BITKit.OpenWorld
{
public sealed class BuildingChunkObject : MonoBehaviour
{
[SerializeField] private ChunkBehaviour chunkBehaviour;
[SerializeField] private Renderer[] interiorRenderers;
[SerializeField] private Optional<Transform> useRoot;
private void Start()
{
chunkBehaviour.OnLodChangedEvent += OnLodChanged;
if(useRoot.Allow is false)return;
var renderers = ListPool<Renderer>.Get();
renderers.AddRange(interiorRenderers);
renderers.AddRange(useRoot.Value.GetComponentsInChildren<Renderer>());
interiorRenderers = renderers.Distinct().ToArray();
renderers.Clear();
ListPool<Renderer>.Release(renderers);
}
private void OnLodChanged(int oldLod, int newLod)
{
var show = newLod is 0;
foreach (var x in interiorRenderers)
{
x.enabled = show;
}
}
}
}