This commit is contained in:
CortexCore
2024-03-18 21:47:41 +08:00
parent 8acd61ea57
commit 0da2773ea6
19 changed files with 403 additions and 121 deletions

View File

@@ -13,24 +13,13 @@ using Object = UnityEngine.Object;
namespace BITFALL.Entities.Cosmetic
{
[CustomType(typeof(ICosmeticService))]
public class EntityCosmeticService : EntityBehavior,ICosmeticService
public class EntityCosmeticService : EntityBehavior
{
[SerializeReference, SubclassSelector] private ISteamService steamService;
public ICosmetic[] Cosmetics { get; private set; }
public event Action OnCosmeticsChanged;
public override async void OnStart()
[SerializeReference, SubclassSelector] private ICosmeticService cosmeticService;
public override void Initialize(IEntity _entity)
{
base.OnStart();var items =await steamService.GetInventoryItemDefsAsync(destroyCancellationToken);
List<ICosmetic> cosmetics=new List<ICosmetic>();
foreach (var x in items.Select(x=>YooAssets.LoadAssetAsync<Object>(x.AddressablePath) ))
{
x.WaitForAsyncComplete();
cosmetics.Add(x.AssetObject as ICosmetic);
}
Cosmetics = cosmetics.ToArray();
OnCosmeticsChanged?.Invoke();
base.Initialize(_entity);
_entity.As<Entity>().AddService<ICosmeticService>(cosmeticService);
}
}
}