using UnityEngine; using UnityEngine.UI; public class AirdropAccessView : MonoBehaviour { [SerializeField] CanvasGroup canAirdropCanvasGroup; [SerializeField] CanvasGroup airdropProgressCanvasGroup; [SerializeField] Image bar; private bool initialized = false; public void Init() { canAirdropCanvasGroup.alpha = 0; AirDropManager.AccuracyUpdated += Display; Display(AirDropManager.Accuracy, ready: false); initialized = true; } void Display(float accuracy, bool ready) { canAirdropCanvasGroup.alpha = ready ? 1 : 0; airdropProgressCanvasGroup.alpha = ready ? 0 : 1; var percent = accuracy / AirDropManager.RequiredAccuracy; bar.fillAmount = percent; } private void OnDestroy() { if (initialized) { AirDropManager.AccuracyUpdated -= Display; } } }