BITFALL/Assets/Artists/Scripts/Props/Prop_Optimize.cs

53 lines
857 B
C#

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 void Start()
{
if(colliders?.Length == 0)
colliders = GetComponentsInChildren<Collider>();
}
private void OnBecameInvisible()
{
if (!rigidbody)
{
Destroy(this);
return;
}
rigidbody.Sleep();
rigidbody.useGravity = false;
foreach (var x in colliders)
{
x.enabled = false;
}
}
private void OnBecameVisible()
{
if (rigidbody)
{
rigidbody.useGravity = true;
}
foreach (var x in colliders)
{
x.enabled = true;
}
}
}
}