using System; using System.Collections.Generic; using System.Linq; using Code.D.Cleaning.CleanTools; using R3; using Reflex.Attributes; using UnityEngine; using UnityEngine.UI; namespace Code.D.Cleaning.UI { public class TryapkaWidget : CleanToolWidget { [SerializeField] private Image toolImage; [SerializeField] private Color cleanToolColor; [SerializeField] private Color dirtyToolColor; private IDisposable _disposable; [Inject] private void Construct(List cleanTools) { Debug.Log("InjectingWidget"); var tool = cleanTools.SingleOrDefault(x => x.ToolType == CleanToolType.Tryapka); if (tool == null) return; _disposable = tool.CurrentDirtiness .Subscribe(SetToolDirtiness); } private void OnDestroy() { _disposable?.Dispose(); } public override void SetToolDirtiness(float dirtiness) { toolImage.color = Color.Lerp(cleanToolColor, dirtyToolColor, dirtiness); } } }