using System; using System.Collections; using System.Collections.Generic; using Quadtree; #if UNITY_EDITOR using UnityEditor; #endif using UnityEngine; namespace BITKit.OpenWorld { /// /// 这个应该载入后就销毁,托管给纯class /// public sealed class ColliderChunkObject : MonoBehaviour { [SerializeField] private Collider[] colliders; [SerializeField] private ChunkBehaviour chunkBehaviour; private void Start() { chunkBehaviour.OnLodChangedEvent += OnLodChanged; if(colliders is {Length:0})colliders = GetComponentsInChildren(); } private void OnLodChanged(int arg1, int arg2) { var enabledCollider = arg2 is 0; foreach (var x in colliders) { x.enabled = enabledCollider; } } #if UNITY_EDITOR [BIT] private void GetCollidersInChildren() { colliders = GetComponentsInChildren(); EditorUtility.SetDirty(this); } #endif } }