示例#1
0
 public void Hide()
 {
     if (effectPlayer != null)
     {
         effectPlayer.HideEffect();
         playingState = UIWindowStateEnum.PlayingHideEffect;
     }
 }
示例#2
0
 public void Show()
 {
     effectPlayer = transform.GetComponent<UIEffectPlayer>();
     if (effectPlayer != null)
     {
         effectPlayer.ShowEffect();
         playingState = UIWindowStateEnum.PlayingShowEffect;
     }
 }
示例#3
0
 public virtual void OnShowEffectPlayOver()
 {
     uiWindowState = UIWindowStateEnum.Show;
     if (m_showFinishEffect != null)
     {
         WindowEffectFinished func = m_showFinishEffect;         //这种写法是为了防止循环调用,若在Func里面再调用到OnShowEffectPlayOver时,不重复执行func
         m_showFinishEffect = null;
         func();
     }
 }
示例#4
0
 public virtual void OnHideEffectPlayOver()
 {
     uiWindowState = UIWindowStateEnum.Hide;
     EnableColliders(true);
     if (m_hideFinishEffect != null)
     {
         WindowEffectFinished func = m_hideFinishEffect;                     //这种写法是为了防止循环调用,若在Func里面再调用到OnHideEffectPlayOver时,不重复执行func
         m_hideFinishEffect = null;
         func();
     }
 }
示例#5
0
    public virtual void ShowWindow()
    {
        if (uiWindowState == UIWindowStateEnum.Show || uiWindowState == UIWindowStateEnum.PlayingShowEffect)
        {
            return;
        }

        if (uiWindowState == UIWindowStateEnum.Hide)
        {
            OnHideEffectPlayOver();
        }

        DoShowWindow();

        bool bShowEffect = false;

        foreach (UIEffectPlayer player in mEffectPlayerList)
        {
            if (player.PlayWhileShowWindow)
            {
                player.ShowEffect();
                bShowEffect = true;
            }
        }

        if (bShowEffect)
        {
            uiWindowState = UIWindowStateEnum.PlayingShowEffect;
        }
        else
        {
            uiWindowState = UIWindowStateEnum.Show;
        }

        OnShow();
        UpdateUIData();
        UpdateLanguage();

        if (!bShowEffect)
        {
            OnShowEffectPlayOver();
        }
    }
示例#6
0
    public void Update()
    {
        if (effectPlayer != null)
        {
            if (playingState == UIWindowStateEnum.PlayingShowEffect)
            {
                if (!effectPlayer.IsPlaying())
                {
                    playingState = UIWindowStateEnum.Show;
                }
            }

            if (playingState == UIWindowStateEnum.PlayingHideEffect)
            {
                if (!effectPlayer.IsPlaying())
                {
                    playingState = UIWindowStateEnum.Hide;
                }
            }
        }
    }
示例#7
0
    public virtual void HideWindow()
    {
        if (uiWindowState == UIWindowStateEnum.Hide || uiWindowState == UIWindowStateEnum.PlayingHideEffect)
        {
            return;
        }

        if (uiWindowState == UIWindowStateEnum.PlayingShowEffect)
        {
            OnShowEffectPlayOver();
        }

        EnableColliders(false);

        bool bHideEffect = false;

        foreach (UIEffectPlayer player in mEffectPlayerList)
        {
            if (player.PlayWhileHideWindow)
            {
                player.HideEffect();
                bHideEffect = true;
            }
        }
        if (bHideEffect)        //If there is hide effect, don't hide window here, hide window when hide effect play over
        {
            uiWindowState = UIWindowStateEnum.PlayingHideEffect;
        }
        else
        {
            uiWindowState = UIWindowStateEnum.Hide;
            DoHideWindow();
        }
        OnHide();

        if (!bHideEffect)
        {
            OnHideEffectPlayOver();
        }
    }