using R3; using UnityEngine; namespace Code.D.Cleaning.CleanTools { public abstract class CleanTool { protected float DurabilityUsageStep; protected Texture2D BrushTexture; protected float CleanRadius; public abstract CleanToolType ToolType { get; } protected CleanTool(float durabilityUsageStep, float cleanRadius, Texture2D brushTexture) { IsDirty.Value = false; DurabilityUsageStep = durabilityUsageStep; CleanRadius = cleanRadius; BrushTexture = brushTexture; } public ReactiveProperty IsDirty { get; } = new(); public ReactiveProperty CurrentDirtiness { get; } = new(0f); public abstract TryapkaUsageInfo Use(); public abstract void Clean(); } }