using System; using System.Collections; using System.Collections.Generic; using NGS.AdvancedCullingSystem.Dynamic; using UnityEngine; namespace BITFALL.Props { public class Prop_Optimize : MonoBehaviour { [SerializeField] private new Rigidbody rigidbody; [SerializeField] private Collider[] colliders; private bool isSleeping; private bool isInitialized; private void OnBecameInvisible() { EnsureInitialized(); if (rigidbody) { rigidbody.Sleep(); rigidbody.useGravity = false; } foreach (var x in colliders) { x.enabled = false; } } private void OnBecameVisible() { EnsureInitialized(); if (rigidbody) { rigidbody.useGravity = true; } foreach (var x in colliders) { x.enabled = true; } } private void EnsureInitialized() { if (isInitialized) return; isInitialized = true; if(colliders?.Length == 0) colliders = GetComponentsInChildren(); } } }