36 lines
1018 B
C#
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();
|
|
}
|
|
}
|
|
}
|
|
} |