Repository URL to install this package:
Version:
2025.9.2 ▾
|
using System.Collections;
using Gs2.Core.Domain;
using Gs2.Core.Net;
#if GS2_ENABLE_UNITASK
using Cysharp.Threading.Tasks;
#endif
namespace Gs2.Unity.Core.Domain
{
public class EzTransactionDomain
{
private readonly TransactionAccessTokenDomain _domain;
public string TransactionId => _domain?.GetTransactionId();
public string JobName => _domain?.GetJobName();
public EzTransactionDomain(
TransactionAccessTokenDomain domain
) {
this._domain = domain;
}
public IFuture<EzTransactionDomain> WaitFuture(bool all = false) {
IEnumerator Impl(IFuture<EzTransactionDomain> self) {
var future = this._domain.WaitFuture(all);
yield return future;
if (future.Error != null) {
self.OnError(future.Error);
yield break;
}
self.OnComplete(future.Result == null ? null : new EzTransactionDomain(future.Result));
}
return new Gs2InlineFuture<EzTransactionDomain>(Impl);
}
#if GS2_ENABLE_UNITASK
public async UniTask<EzTransactionDomain> WaitAsync(bool all = false) {
var next = await this._domain.WaitAsync(all);
return next == null ? null : new EzTransactionDomain(next);
}
#endif
}
}