mirror of
https://github.com/sp-tarkov/modules.git
synced 2025-02-13 05:30:43 -05:00
40 lines
1.1 KiB
C#
40 lines
1.1 KiB
C#
using System.Linq;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using Comfort.Common;
|
|
using EFT;
|
|
|
|
namespace SPT.SinglePlayer.Models.RaidFix
|
|
{
|
|
public struct BundleLoader
|
|
{
|
|
private Profile _profile;
|
|
TaskScheduler TaskScheduler { get; }
|
|
|
|
public BundleLoader(TaskScheduler taskScheduler)
|
|
{
|
|
_profile = null;
|
|
TaskScheduler = taskScheduler;
|
|
}
|
|
|
|
public Task<Profile> LoadBundles(Task<Profile> task)
|
|
{
|
|
_profile = task.Result;
|
|
|
|
var loadTask = Singleton<PoolManager>.Instance.LoadBundlesAndCreatePools(
|
|
PoolManager.PoolsCategory.Raid,
|
|
PoolManager.AssemblyType.Local,
|
|
_profile.GetAllPrefabPaths(false).Where(x => !x.IsNullOrEmpty()).ToArray(),
|
|
JobPriority.General,
|
|
null,
|
|
default(CancellationToken));
|
|
|
|
return loadTask.ContinueWith(GetProfile, TaskScheduler);
|
|
}
|
|
|
|
private Profile GetProfile(Task task)
|
|
{
|
|
return _profile;
|
|
}
|
|
}
|
|
} |