You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.8 KiB
C#
52 lines
1.8 KiB
C#
using UnityEngine;
|
|
using System.Linq;
|
|
using System.Numerics;
|
|
|
|
namespace Thirdweb.Unity
|
|
{
|
|
public class ThirdwebManager : ThirdwebManagerBase
|
|
{
|
|
[field: SerializeField]
|
|
private string ClientId { get; set; }
|
|
|
|
[field: SerializeField]
|
|
private string BundleId { get; set; }
|
|
|
|
public new static ThirdwebManager Instance
|
|
{
|
|
get => ThirdwebManagerBase.Instance as ThirdwebManager;
|
|
}
|
|
|
|
protected override ThirdwebClient CreateClient()
|
|
{
|
|
if (string.IsNullOrWhiteSpace(ClientId))
|
|
{
|
|
ThirdwebDebug.LogError("ClientId must be set in order to initialize ThirdwebManager. " + "Get your API key from https://thirdweb.com/create-api-key");
|
|
return null;
|
|
}
|
|
|
|
if (string.IsNullOrWhiteSpace(BundleId))
|
|
{
|
|
BundleId = null;
|
|
}
|
|
|
|
BundleId ??= string.IsNullOrWhiteSpace(Application.identifier) ? $"com.{Application.companyName}.{Application.productName}" : Application.identifier;
|
|
|
|
return ThirdwebClient.Create(
|
|
clientId: ClientId,
|
|
bundleId: BundleId,
|
|
httpClient: new CrossPlatformUnityHttpClient(),
|
|
sdkName: Application.platform == RuntimePlatform.WebGLPlayer ? "UnitySDK_WebGL" : "UnitySDK",
|
|
sdkOs: Application.platform.ToString(),
|
|
sdkPlatform: "unity",
|
|
sdkVersion: THIRDWEB_UNITY_SDK_VERSION,
|
|
rpcOverrides: (RpcOverrides == null || RpcOverrides.Count == 0)
|
|
? null
|
|
: RpcOverrides.ToDictionary(rpcOverride => new BigInteger(rpcOverride.ChainId), rpcOverride => rpcOverride.RpcUrl)
|
|
);
|
|
}
|
|
|
|
protected override string MobileRedirectScheme => BundleId + "://";
|
|
}
|
|
}
|