void Detach()
 {
     if (m_AttachedComponent != null)
     {
         m_AttachedComponent.playRate = 1;
         m_AttachedComponent.pause    = false;
     }
     m_AttachedComponent = null;
     if (m_UpdateItem != null)
     {
         m_UpdateItem.Pause();
     }
     m_ComponentContainer.RemoveFromHierarchy();
     m_ComponentPath.text = "";
     UpdateAttachButton();
     if (m_EventsContainer != null)
     {
         m_EventsContainer.Clear();
     }
     m_Events.Clear();
     m_SelectButton.visible = false;
     if (m_DebugUI != null)
     {
         m_DebugUI.Clear();
     }
 }
        public void Detach()
        {
            if (m_AttachedComponent != null)
            {
                m_AttachedComponent.playRate = 1;
                m_AttachedComponent.pause    = false;
            }
            m_AttachedComponent = null;
            if (m_UpdateItem != null)
            {
                m_UpdateItem.Pause();
            }
            m_ComponentContainer.RemoveFromHierarchy();
            m_ComponentPath.text = "";
            UpdateAttachButton();
            if (m_EventsContainer != null)
            {
                m_EventsContainer.Clear();
            }
            m_Events.Clear();
            m_SelectButton.visible = false;
            if (m_DebugUI != null)
            {
                m_DebugUI.Clear();
            }

            DeleteBoundsRecorder();
            RefreshInitializeErrors();
        }
Beispiel #3
0
        public bool Attach(VisualEffect effect = null)
        {
            VisualEffect target = effect != null ? effect : Selection.activeGameObject?.GetComponent <VisualEffect>();

            if (target != null && m_View.controller?.graph != null && m_AttachedComponent != target)
            {
                if (m_AttachedComponent != null)
                {
                    m_AttachedComponent.playRate = 1;
                }

                m_AttachedComponent          = target;
                m_Subtitle.text              = m_AttachedComponent.name;
                m_LastKnownPauseState        = !m_AttachedComponent.pause;
                m_AttachedComponent.playRate = m_LastKnownPlayRate >= 0 ? m_LastKnownPlayRate : 1;

                UpdatePlayButton();

                if (m_UpdateItem == null)
                {
                    m_UpdateItem = schedule.Execute(Update).Every(100);
                }
                else
                {
                    m_UpdateItem.Resume();
                }
                UpdateEventList();

                var debugMode = VFXUIDebug.Modes.None;
                if (m_DebugUI != null)
                {
                    debugMode = m_DebugUI.GetDebugMode();
                    m_DebugUI.Clear();
                }

                m_DebugUI = new VFXUIDebug(m_View);
                m_DebugUI.SetVisualEffect(m_AttachedComponent);
                m_DebugUI.SetDebugMode(debugMode, this, true);

                m_RootElement.SetEnabled(true);
                m_SubtitleIcon.style.display = DisplayStyle.None;
                UpdateBoundsRecorder();
                UpdateRecordingButton();
                RefreshInitializeErrors();

                return(true);
            }

            return(false);
        }