Exemplo n.º 1
0
    public E_ACTIVEBUTTON eCurActiveButton;           //현재 실행하는 버튼의 종류

    public IEnumerator FadeInOutOnce(E_ACTIVEBUTTON _button, bool _isBack)
    {
        fImageAlpha      = 0f;
        eCurActiveButton = _button;

        //check 1 (투명화가 완료 됬는지 체크하는 변수)
        bCompleteAlpha = false;
        //check 2 (다시 검은 화면으로 갔을때 체크하는 변수)
        bNonAlpha = false;

        isBack            = _isBack;
        panel_Image.color = new Color(panel_Image.color.r, panel_Image.color.g, panel_Image.color.b, 0);

        this.gameObject.SetActive(true);
        fImageAlpha = panel_Image.color.a;

        StartCoroutine(ActivePanel());

        while (true)
        {
            if (bCompleteAlpha == true && bNonAlpha == true)
            {
                this.gameObject.SetActive(false);
                //Debug.Log ("FadeInOut 종료");
                break;
            }

            if (bCompleteAlpha == false && bNonAlpha == false && panel_Image.color.a != 255f)
            {
                //Debug.Log ("차는중" + fImageAlpha);
                if (panel_Image.color.a >= 1.0f)
                {
                    bCompleteAlpha = true;
                }

                fImageAlpha      += Time.deltaTime * fMultipleValue;
                panel_Image.color = new Color(panel_Image.color.r, panel_Image.color.g, panel_Image.color.b, fImageAlpha);
            }

            if (bCompleteAlpha == true && bNonAlpha == false && panel_Image.color.a != 0)
            {
                //Debug.Log ("빠지는중" + fImageAlpha);
                if (panel_Image.color.a <= 0f)
                {
                    bNonAlpha = true;
                }

                fImageAlpha      -= Time.deltaTime * fMultipleValue;
                panel_Image.color = new Color(panel_Image.color.r, panel_Image.color.g, panel_Image.color.b, fImageAlpha);
            }
            yield return(null);
        }
    }
    //패널을 활성화 할때 아무런 효과 없이 그냥 띄울때
    public void ActivePanelNoEffect(GameObject _obj, E_ACTIVEBUTTON _activeButton)
    {
        _obj.SetActive(true);

        switch (_activeButton)
        {
        case E_ACTIVEBUTTON.E_ACTIVEBUTTON_POST:
            postPanel.CheckDataAndDispatchPostSlot();
            break;

        default:
            break;
        }
    }
Exemplo n.º 3
0
 private void Init()
 {
     m_eCurActivePanel = E_ACTIVEBUTTON.E_ACTIVEBUTTON_EMPLOYMENT;
 }
 //활성화되어 있는 패널이 뒤로 갈때의 효과
 public void ActivePanelBack(E_ACTIVEBUTTON _button, bool _isback)
 {
     StartCoroutine(fadeInOut.FadeInOutOnce(_button, _isback));
 }