private AnimationActionBase GetAnimClose()
        {
            SliderType closeSliderType;

            switch (sliderType)
            {
            case SliderType.Left:
                closeSliderType = SliderType.Right;
                break;

            case SliderType.Right:
                closeSliderType = SliderType.Left;
                break;

            case SliderType.Down:
                closeSliderType = SliderType.Up;
                break;

            case SliderType.Up:
                closeSliderType = SliderType.Down;
                break;

            default:
                closeSliderType = SliderType.Right;
                break;
            }

            var rectTransform  = parentMenu.gameObject.GetComponent <RectTransform>();
            var slideAnimClose = MenuCloseSlideAnim.CreateInstance <MenuCloseSlideAnim>();

            slideAnimClose.Init(rectTransform, ActionFinish, closeSliderType, tokenSource.Token);
            return(slideAnimClose);
        }
        protected override void ActionBegin()
        {
            targetMenu.gameObject.SetActive(true);
            targetMenu.CloseBegin();

            var rectTransform = targetMenu.gameObject.GetComponent <RectTransform>();

            slideAnim = MenuCloseSlideAnim.CreateInstance <MenuCloseSlideAnim>();
            slideAnim.Init(rectTransform, ActionFinish, sliderType, tokenSource.Token);
            slideAnim.AnimStart();
        }