34 lines
900 B
C#
34 lines
900 B
C#
// Perfect Culling (C) 2021 Patrick König
|
|
//
|
|
|
|
using UnityEngine;
|
|
|
|
namespace Koenigz.PerfectCulling
|
|
{
|
|
public abstract class SamplingProviderBase : MonoBehaviour, IActiveSamplingProvider
|
|
{
|
|
private PerfectCullingBakingBehaviour m_behaviour;
|
|
|
|
protected virtual void OnEnable()
|
|
{
|
|
if (m_behaviour == null)
|
|
{
|
|
m_behaviour = GetComponent<PerfectCullingBakingBehaviour>();
|
|
}
|
|
}
|
|
|
|
protected virtual void OnDisable()
|
|
{
|
|
if (m_behaviour == null)
|
|
{
|
|
m_behaviour = GetComponent<PerfectCullingBakingBehaviour>();
|
|
}
|
|
}
|
|
|
|
public abstract string Name { get; }
|
|
|
|
public abstract void InitializeSamplingProvider();
|
|
|
|
public abstract bool IsSamplingPositionActive(PerfectCullingBakingBehaviour bakingBehaviour, Vector3 pos);
|
|
}
|
|
} |