Files
MojSadUnity/Assets/Code/Infrastructure/Loadings/Loading.cs
T
2026-02-26 11:21:27 +03:00

36 lines
1018 B
C#

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<Loading> _loadProgress;
public Loading(int maxProgress, Action completed, Action<Loading> 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();
}
}
}
}