private void OnDestroy()
        {
            if (toolWindow != null)
            {
                toolWindow.SafeClose();
            }

            if (fsmSelectorWindow != null)
            {
                fsmSelectorWindow.SafeClose();
            }

            if (fsmTemplateWindow != null)
            {
                fsmTemplateWindow.SafeClose();
            }

            if (stateSelectorWindow != null)
            {
                stateSelectorWindow.SafeClose();
            }

            if (actionWindow != null)
            {
                actionWindow.SafeClose();
            }

            if (globalVariablesWindow != null)
            {
                globalVariablesWindow.SafeClose();
            }

            if (globalEventsWindow != null)
            {
                globalEventsWindow.SafeClose();
            }

            if (errorWindow != null)
            {
                errorWindow.SafeClose();
            }

            if (timelineWindow != null)
            {
                timelineWindow.SafeClose();
            }

            if (logWindow != null)
            {
                logWindow.SafeClose();
            }

            if (reportWindow != null)
            {
                reportWindow.SafeClose();
            }

            if (aboutWindow != null)
            {
                aboutWindow.SafeClose();
            }

            if (Initialized && fsmEditor != null)
            {
                fsmEditor.OnDestroy();
            }
        }