Second commit
This commit is contained in:
commit
36840f3ad4
999 files changed
+61364
No files matched your search
@@ -0,0 +1,35 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.D.Cleaning
|
||||
{
|
||||
public class CleanableAsset : Cleanable
|
||||
{
|
||||
private Collider _dirtyCollider;
|
||||
private static readonly int MaskMap = Shader.PropertyToID("_Mask");
|
||||
[SerializeField] private float cleanCountPerFrame;
|
||||
private Material _renderMaterial;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_dirtyCollider = GetComponent<Collider>();
|
||||
|
||||
_renderMaterial = GetComponent<MeshRenderer>().material;
|
||||
}
|
||||
private void AssumedAsCleaned()
|
||||
{
|
||||
Cleaned.Value = true;
|
||||
_dirtyCollider.enabled = false;
|
||||
_renderMaterial.SetTexture(MaskMap, Texture2D.blackTexture);
|
||||
}
|
||||
|
||||
public void Clean()
|
||||
{
|
||||
CleanProgress.Value += cleanCountPerFrame;
|
||||
|
||||
if(CleanProgress.CurrentValue >= 100)
|
||||
AssumedAsCleaned();
|
||||
|
||||
Debug.Log($"{name} прогресс очистки: {CleanProgress.CurrentValue}");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user