YIUIInvokeYooAssetsHandler.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using YIUIFramework;
  2. using YooAsset;
  3. namespace ET.Client
  4. {
  5. [Invoke]
  6. public class YIUIInvokeYooAssetsHandler : AInvokeEntityHandler<YIUIInvokeEntity_LoadInitialize, ETTask<bool>>
  7. {
  8. public override async ETTask<bool> Handle(Entity entity, YIUIInvokeEntity_LoadInitialize args)
  9. {
  10. EntityRef<YIUILoadComponent> loadComponentRef = (YIUILoadComponent)entity;
  11. if (loadComponentRef.Entity == null)
  12. {
  13. Log.Error($"LoadComponent is null!");
  14. return false;
  15. }
  16. return await loadComponentRef.Entity.AddComponent<YIUIYooAssetsLoadComponent>().Initialize();
  17. }
  18. }
  19. [Invoke(EYIUIInvokeType.Sync)]
  20. public class YIUIInvokeGetAssetsInfoSyncHandler : AInvokeEntityHandler<YIUIInvokeEntity_GetAssetInfo, AssetInfo>
  21. {
  22. public override AssetInfo Handle(Entity entity, YIUIInvokeEntity_GetAssetInfo args)
  23. {
  24. return entity.YIUILoad()?.GetComponent<YIUIYooAssetsLoadComponent>().GetAssetInfo(args.Location, args.AssetType);
  25. }
  26. }
  27. [Invoke(EYIUIInvokeType.Sync)]
  28. public class YIUIInvokeGetAssetInfoByGUIDSyncHandler : AInvokeEntityHandler<YIUIInvokeEntity_GetAssetInfoByGUID, AssetInfo>
  29. {
  30. public override AssetInfo Handle(Entity entity, YIUIInvokeEntity_GetAssetInfoByGUID args)
  31. {
  32. return entity.YIUILoad()?.GetComponent<YIUIYooAssetsLoadComponent>().GetAssetInfoByGUID(args.AssetGUID, args.AssetType);
  33. }
  34. }
  35. }