//-------------------------------------------------------- 
 | 
//    [Author]:           第二世界 
 | 
//    [  Date ]:           Thursday, March 28, 2019 
 | 
//-------------------------------------------------------- 
 | 
using UnityEngine; 
 | 
using System.Collections; 
 | 
using UnityEngine.UI; 
 | 
using DG.Tweening; 
 | 
  
 | 
namespace vnxbqy.UI 
 | 
{ 
 | 
  
 | 
    public class MainWinRightBottomGrid : MonoBehaviour 
 | 
    { 
 | 
        [SerializeField] int m_Index; 
 | 
        public int index { get { return m_Index; } } 
 | 
  
 | 
        [SerializeField] int m_FunctionId; 
 | 
        [SerializeField] RectTransform m_Content; 
 | 
        [SerializeField] CanvasGroup m_CanvasGroup; 
 | 
  
 | 
        public RectTransform rectTransform { get { return this.transform as RectTransform; } } 
 | 
  
 | 
        float targetX = 0f; 
 | 
        float targetAlpha = 0f; 
 | 
  
 | 
        public void Switch(bool active, float offset, float delay) 
 | 
        { 
 | 
            targetX = active ? 0 : (120f + SafeAreaUI.SafeWidth + offset); 
 | 
            targetAlpha = active ? 1f : 0f; 
 | 
  
 | 
            if (active) 
 | 
            { 
 | 
                m_Content.DOLocalMoveX(targetX, 0.3f).SetDelay(delay).SetEase(Ease.OutSine); 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                m_Content.DOLocalMoveX(targetX, 0.3f).SetDelay(delay).SetEase(Ease.InSine); 
 | 
            } 
 | 
  
 | 
            m_CanvasGroup.DOFade(targetAlpha, 0.3f).SetDelay(delay).SetEase(active ? Ease.OutSine : Ease.InSine); 
 | 
            m_CanvasGroup.blocksRaycasts = active; 
 | 
        } 
 | 
  
 | 
        public void SwitchImmediately(bool active, float offset) 
 | 
        { 
 | 
            targetX = active ? 0 : 120f + SafeAreaUI.SafeWidth + offset; 
 | 
            targetAlpha = active ? 1f : 0f; 
 | 
            m_Content.anchoredPosition = m_Content.anchoredPosition.SetX(targetX); 
 | 
            m_CanvasGroup.alpha = targetAlpha; 
 | 
            m_CanvasGroup.blocksRaycasts = active; 
 | 
        } 
 | 
  
 | 
        public bool IsOpen() 
 | 
        { 
 | 
            if (m_FunctionId > 0) 
 | 
            { 
 | 
                return FuncOpen.Instance.IsFuncOpen(m_FunctionId); 
 | 
            } 
 | 
  
 | 
            return true; 
 | 
        } 
 | 
  
 | 
    } 
 | 
  
 | 
} 
 |