mirror of
https://github.com/sp-tarkov/modules.git
synced 2025-02-13 09:50:43 -05:00
40 lines
1.0 KiB
C#
40 lines
1.0 KiB
C#
![]() |
using System.Linq;
|
||
|
using System.Threading;
|
||
|
using System.Threading.Tasks;
|
||
|
using Comfort.Common;
|
||
|
using EFT;
|
||
|
|
||
|
namespace Aki.SinglePlayer.Models.RaidFix
|
||
|
{
|
||
|
public struct BundleLoader
|
||
|
{
|
||
|
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).ToArray(),
|
||
|
JobPriority.General,
|
||
|
null,
|
||
|
default(CancellationToken));
|
||
|
|
||
|
return loadTask.ContinueWith(GetProfile, TaskScheduler);
|
||
|
}
|
||
|
|
||
|
private Profile GetProfile(Task task)
|
||
|
{
|
||
|
return Profile;
|
||
|
}
|
||
|
}
|
||
|
}
|