-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathAuthenticatedSceneManager.cs
More file actions
65 lines (56 loc) · 2.57 KB
/
Copy pathAuthenticatedSceneManager.cs
File metadata and controls
65 lines (56 loc) · 2.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
using UnityEngine;
using UnityEngine.UI;
using System;
public class AuthenticatedSceneManager : MonoBehaviour
{
[Header("IMX Buttons")]
[SerializeField] private Button ConnectButton;
[SerializeField] private Button IsRegisteredOffchainButton;
[SerializeField] private Button RegisterOffchainButton;
[SerializeField] private Button GetAddressButton;
[SerializeField] private Button NftTransferButton;
[Header("zkEVM Buttons")]
[SerializeField] private Button ConnectEvmButton;
[SerializeField] private Button SendTransactionButton;
[SerializeField] private Button RequestAccountsButton;
[SerializeField] private Button GetBalanceButton;
[SerializeField] private Button GetTransactionReceiptButton;
[SerializeField] private Button SignTypedDataButton;
public Action OnImxConnected;
void Awake()
{
OnImxConnected = () => { UpdateImxButtonStates(); };
}
void Start()
{
UpdateImxButtonStates();
UpdateZkEvmButtonStates();
}
public void UpdateImxButtonStates()
{
bool isConnected = SampleAppManager.IsConnectedToImx;
if (ConnectButton != null) ConnectButton.gameObject.SetActive(!isConnected);
if (IsRegisteredOffchainButton != null) IsRegisteredOffchainButton.gameObject.SetActive(isConnected);
if (RegisterOffchainButton != null) RegisterOffchainButton.gameObject.SetActive(isConnected);
if (GetAddressButton != null) GetAddressButton.gameObject.SetActive(isConnected);
if (NftTransferButton != null) NftTransferButton.gameObject.SetActive(isConnected);
}
public void UpdateZkEvmButtonStates()
{
bool isConnected = SampleAppManager.IsConnectedToZkEvm;
if (ConnectEvmButton != null) ConnectEvmButton.gameObject.SetActive(!isConnected);
if (SendTransactionButton != null) SendTransactionButton.gameObject.SetActive(isConnected);
if (RequestAccountsButton != null) RequestAccountsButton.gameObject.SetActive(isConnected);
if (GetBalanceButton != null) GetBalanceButton.gameObject.SetActive(isConnected);
if (GetTransactionReceiptButton != null) GetTransactionReceiptButton.gameObject.SetActive(isConnected);
if (SignTypedDataButton != null) SignTypedDataButton.gameObject.SetActive(isConnected);
}
public static void NavigateToAuthenticatedScene()
{
UnityEngine.SceneManagement.SceneManager.LoadScene("AuthenticatedScene");
}
public static void NavigateToUnauthenticatedScene()
{
UnityEngine.SceneManagement.SceneManager.LoadScene("UnauthenticatedScene");
}
}