private void Subscribe() { currentTracker = GetComponentInParent <InteractionBlockingTracker>(); if (currentTracker) { OnIsInteractableChanged(currentTracker.IsInteractable); currentTracker.IsInteractableChanged += OnIsInteractableChanged; } }
public virtual void Initialize() { if (panelLayer == null) { panelLayer = GetComponentInChildren <PanelLayer>(); if (panelLayer == null) { Debug.LogError("UI Frame lacks Panel Layer!"); } else { panelLayer.Initialize(this); } } if (windowLayer == null) { windowLayer = GetComponentInChildren <WindowLayer>(); if (windowLayer == null) { Debug.LogError("UI Frame lacks Window Layer!"); } else { windowLayer.Initialize(this); windowLayer.CurrentWindowChanged += OnCurrentWindowChanged; } } GameObject blockingTrackerTarget = MainCanvas ? MainCanvas.gameObject : gameObject; mainBlockingTracker = blockingTrackerTarget.GetOrAddComponent <InteractionBlockingTracker>(); mainBlockingTracker.IsInteractableChanged += OnIsInteractableChanged; }