RizzeBattleRoyale/Assets/TPSBR/Scripts/Miscellaneous/MaterialQualitySwitcher.cs

52 lines
929 B
C#
Raw Normal View History

2025-09-24 11:24:38 +05:00
using UnityEngine;
namespace TPSBR
{
public class MaterialQualitySwitcher : MonoBehaviour
{
[SerializeField]
private Renderer _renderer;
[SerializeField]
private Material _low;
[SerializeField]
private Material _medium;
[SerializeField]
private Material _high;
[SerializeField]
private Material _ultra;
private int _qualityLevel = -1;
// MONOBEHAVIOUR
private void Awake()
{
UpdateMaterial();
}
private void Update()
{
UpdateMaterial();
}
// PRIVATE METHODS
private void UpdateMaterial()
{
int qualityLevel = QualitySettings.GetQualityLevel();
if (_qualityLevel == qualityLevel)
return;
_qualityLevel = qualityLevel;
switch (qualityLevel)
{
case 0: _renderer.material = _low; break;
case 1: _renderer.material = _medium; break;
case 2: _renderer.material = _high; break;
case 3: _renderer.material = _ultra; break;
}
}
}
}