using System; using UnityEngine; namespace Code.Infrastructure.Loadings { public class Loading { private int _progress; public bool Completed { get; private set; } private Action _completed; private Action _loadProgress; public Loading(int maxProgress, Action completed, Action loadProgress = null) { _progress = maxProgress; MaxProgress = maxProgress; _completed = completed; _loadProgress = loadProgress; } public int CurrentProgress => _progress; public int MaxProgress { get; } public void DoProgress() { _progress--; _loadProgress?.Invoke(this); if(_progress <= 0) // Зачем инвертировать, если так читается лучше, райдер соси { Completed = true; _completed(); } } } }