Beispiel #1
0
 virtual protected void Start()
 {
     fadeCanvas      = GameObject.Find("FadeCanvas");
     fadeState       = FADE_STATE.FADEIN;
     fadeImage       = fadeCanvas.GetComponent <FadeImage>();
     fadeImage.Range = FADE_MAX;
 }
    /// <summary>
    /// フェード
    /// </summary>
    /// <param name="fadeTime">フェードにかける時間</param>
    /// <param name="startAlpha">開始アルファ値</param>
    /// <param name="endAlpha">終了アルファ値</param>
    /// <param name="action">フェード終了時イベント</param>
    /// <returns></returns>
    private IEnumerator Fade(float fadeTime, float startAlpha, float endAlpha, Action action = null)
    {
        fadePanel.gameObject.SetActive(true);

        float elapsedTime = 0.0f;

        while (elapsedTime < fadeTime)
        {
            elapsedTime += Time.unscaledDeltaTime;
            var currentAlpha = Mathf.Lerp(startAlpha, endAlpha, Mathf.Clamp01(elapsedTime / fadeTime));
            SetAlpha(currentAlpha);
            yield return(new WaitForEndOfFrame());
        }

        if (action != null)
        {
            action();
        }

        if (state == FADE_STATE.FADEIN)
        {
            fadePanel.gameObject.SetActive(false);
        }

        state = FADE_STATE.IDLE;
    }
Beispiel #3
0
	void FixedUpdate()
	{
		if (playerScript.IsDead())
		{
			if (timeOfDeath == 0)
			{
				timeOfDeath = Time.time;
				aiManager.SetAllToPatrol();
				fadeState = FADE_STATE.FADE_OUT;
			}

			if (Time.time - timeOfDeath >= waitTimeAfterDeath)
			{
				fadeState = FADE_STATE.FADE_IN;
				timeOfDeath = 0;
				playerScript.SetHealth(playerScript.maxHealth);
				player.transform.position = lastCheckpoint;
				aiManager.ResetAIPositions();
			}
		}

		if (fadeState == FADE_STATE.FADE_IN)
		{
			fadeScreen.color = new Color(fadeScreen.color.r, fadeScreen.color.g, fadeScreen.color.b, fadeScreen.color.a - (1.0f / fadeInTime) * Time.fixedDeltaTime);
			if (fadeScreen.color.a <= 0)
				fadeState = FADE_STATE.NONE;
		}
		else if (fadeState == FADE_STATE.FADE_OUT)
		{
			fadeScreen.color = new Color(fadeScreen.color.r, fadeScreen.color.g, fadeScreen.color.b, fadeScreen.color.a + (1.0f / fadeOutTime) * Time.fixedDeltaTime);
			if (fadeScreen.color.a >= 1)
				fadeState = FADE_STATE.NONE;
		}
	}
Beispiel #4
0
 // フェードイン状態
 void FadeIn()
 {
     fadeImage.Range -= FadeSpeed;
     if (fadeImage.Range <= FADE_MIN)
     {
         fadeImage.Range = FADE_MIN;
         fadeState       = FADE_STATE.NONE;
     }
 }
Beispiel #5
0
	void Start()
	{
		lastCheckpoint = new Vector3(0, 0, 0);
		player = GameObject.FindGameObjectWithTag("Player");
		playerScript = player.GetComponent<Player>();
		aiManager = GetComponent<LastPlayerSighting>();
		timeOfDeath = 0;
		fadeState = FADE_STATE.FADE_IN;
		fadeScreen = fadeGameObject.GetComponent<Image>();
		fadeScreen.color = new Color(fadeScreen.color.r, fadeScreen.color.g, fadeScreen.color.b, 1.0f);
		fadeOutTime = waitTimeAfterDeath;
	}
    /// <summary>
    /// フェードイン開始
    /// </summary>
    /// <param name="time"></param>
    public void FadeIn(float time, Action action = null)
    {
        // フェード中は無効
        if (state != FADE_STATE.IDLE)
        {
            return;
        }

        if (fadePanel == null)
        {
            CreateFadePanel();
        }

        state = FADE_STATE.FADEIN;

        StartCoroutine(Fade(time, 1.0f, 0.0f, action));
    }
Beispiel #7
0
    private void fade(int liTarget)
    {
        float lfDiff = Mathf.Abs(fader.color.a - liTarget);
        //If we're close enough to the target alpha
        if (lfDiff < 0.02f){
          fader.color = new Color (0, 0, 0, liTarget);

          //If the change player state flag is on, change players state to next logical place in the sequence
          if (bChangePlayerState){
        bChangePlayerState = false;
        _NP.setPlayerState ((fadeState == FADE_STATE.FadeIn ? NetPlayer.PLAYER_STATE.RaceReady : NetPlayer.PLAYER_STATE.SceneChangeReady));
          }

          fadeState = FADE_STATE.Stay;
        } //End if (lfDiff < 0.1f)
        else{
          fader.color = new Color (0, 0, 0, Mathf.SmoothDamp (fader.color.a, (float)liTarget, ref refA, fFadeTime));
        }
    }
Beispiel #8
0
    }	void Update () {
        if (me_do)
        {
            // Update is called once per frame
            switch (fadeState)
            {
                case (FADE_STATE.FADE_IN):
                    currentTime += Time.deltaTime * 2;
                    if (currentTime > fadeInTime)
                    {
                        currentTime -= fadeInTime;
                        fadeState = FADE_STATE.IN;
                        textColor.a = 1.0f;
                    }
                    else
                    {
                        textColor.a = currentTime / fadeInTime;
                    }
                    break;
                case (FADE_STATE.IN):
                    currentTime += Time.deltaTime * 2;
                    if (currentTime > inTime)
                    {
                        currentTime -= inTime;
                        fadeState = FADE_STATE.FADE_OUT;
                        textColor.a = 1.0f - currentTime / fadeOutTime;
                    }
                    else
                    {
                        textColor.a = 1.0f;
                    }
                    break;
                case (FADE_STATE.FADE_OUT):
                    currentTime += Time.deltaTime * 2;
                    if (currentTime > fadeOutTime)
                    {
                        currentTime -= fadeOutTime;
                        fadeState = FADE_STATE.OUT;
                        textColor.a = 0.0f;
                    }
                    else
                    {
                        textColor.a = 1.0f - currentTime / fadeOutTime;
                    }

                    break;
                case (FADE_STATE.OUT):
                    currentTime += Time.deltaTime * 2;
                    if (currentTime > outTime)
                    {
                        currentTime -= outTime;
                        fadeState = FADE_STATE.FADE_IN;
                        textColor.a = currentTime / fadeInTime;
                    }
                    else
                    {
                        textColor.a = 0.0f;
                    }

                    break;
            }
            CanvasMgr.instance.alert.GetComponent<Image>().color = textColor*0.8f;
            fade_time += Time.deltaTime;
            if (fade_time > 5.0)
            {
                CanvasMgr.instance.alert.SetActive(false);
                Destroy(this.gameObject);
            }
        }
	}
Beispiel #9
0
 public void setFadeState(FADE_STATE state, bool pbChangePlayerState = true)
 {
     fadeState = state;
     bChangePlayerState = pbChangePlayerState;
 }
Beispiel #10
0
	// Update is called once per frame
	void Update () {
        switch (fadeState)
        {
            case (FADE_STATE.FADE_IN):
                currentTime += Time.deltaTime * 2;
                if (currentTime > fadeInTime)
                {
                    currentTime -= fadeInTime;
                    fadeState = FADE_STATE.IN;
                    textColor.a = 1.0f;
                }
                else
                {
                    textColor.a = currentTime / fadeInTime;
                }
                break;
            case (FADE_STATE.IN):
                currentTime += Time.deltaTime * 2;
                if (currentTime > inTime)
                {
                    currentTime -= inTime;
                    fadeState = FADE_STATE.FADE_OUT;
                    textColor.a = 1.0f - currentTime / fadeOutTime;
                }
                else
                {
                    textColor.a = 1.0f;
                }
                break;
            case (FADE_STATE.FADE_OUT):
                currentTime += Time.deltaTime * 2;
                if (currentTime > fadeOutTime)
                {
                    currentTime -= fadeOutTime;
                    fadeState = FADE_STATE.OUT;
                    textColor.a = 0.0f;
                }
                else
                {
                    textColor.a = 1.0f - currentTime / fadeOutTime;
                }

                break;
            case (FADE_STATE.OUT):
                currentTime += Time.deltaTime * 2;
                if (currentTime > outTime)
                {
                    currentTime -= outTime;
                    fadeState = FADE_STATE.FADE_IN;
                    textColor.a = currentTime / fadeInTime;
                }
                else
                {
                    textColor.a = 0.0f;
                }

                break;
        }
        this.GetComponent<Text>().color = textColor;
        fade_time += Time.deltaTime;
        this.transform.position = new Vector3(this.transform.position.x, this.transform.position.y + fade_time/400, this.transform.position.z);
        if (fade_time>1.5)
        {
            Destroy(this.gameObject);
        }
    }
Beispiel #11
0
	public void SetFadeState(FADE_STATE newState)
	{
		fadeState = newState;
	}
Beispiel #12
0
    // Update is called once per frame
    void Update()
    {
        switch (fadeState)
        {
        case (FADE_STATE.FADE_IN):
            currentTime += Time.deltaTime;
            if (currentTime > fadeInTime)
            {
                currentTime -= fadeInTime;
                fadeState    = FADE_STATE.IN;
                textColor.a  = 1.0f;
            }
            else
            {
                textColor.a = currentTime / fadeInTime;
            }
            break;

        case (FADE_STATE.IN):
            currentTime += Time.deltaTime;
            if (currentTime > inTime)
            {
                currentTime -= inTime;
                fadeState    = FADE_STATE.FADE_OUT;
                textColor.a  = 1.0f - currentTime / fadeOutTime;
            }
            else
            {
                textColor.a = 1.0f;
            }
            break;

        case (FADE_STATE.FADE_OUT):
            currentTime += Time.deltaTime;
            if (currentTime > fadeOutTime)
            {
                currentTime -= fadeOutTime;
                fadeState    = FADE_STATE.OUT;
                textColor.a  = 0.0f;
            }
            else
            {
                textColor.a = 1.0f - currentTime / fadeOutTime;
            }

            break;

        case (FADE_STATE.OUT):
            currentTime += Time.deltaTime;
            if (currentTime > outTime)
            {
                currentTime -= outTime;
                fadeState    = FADE_STATE.FADE_IN;
                textColor.a  = currentTime / fadeInTime;
            }
            else
            {
                textColor.a = 0.0f;
            }

            break;
        }
        //this.guiText.color = textColor;
    }
Beispiel #13
0
    // Update is called once per frame
    void Update()
    {
        waiting_current_time += Time.deltaTime;
        //待ち時間終了後処理
        if (waiting_current_time > waitngTime)
        {
            //最初のみ待ち時間処理が必要なため
            if (!started_fade)
            {
                fadeState    = FADE_STATE.FADE_IN;
                started_fade = true;
            }
            switch (fadeState)
            {
            case (FADE_STATE.FADE_IN):
                currentTime += Time.deltaTime;
                if (currentTime > fadeInTime)
                {
                    currentTime -= fadeInTime;
                    fadeState    = FADE_STATE.IN;
                    textColor.a  = 1.0f;
                }
                else
                {
                    textColor.a = currentTime / fadeInTime;
                }
                break;

            case (FADE_STATE.IN):
                currentTime += Time.deltaTime;
                if (currentTime > inTime)
                {
                    currentTime -= inTime;
                    fadeState    = FADE_STATE.FADE_OUT;
                    textColor.a  = 1.0f - currentTime / fadeOutTime;
                }
                else
                {
                    textColor.a = 1.0f;
                }
                break;

            case (FADE_STATE.FADE_OUT):
                currentTime += Time.deltaTime;
                if (currentTime > fadeOutTime)
                {
                    currentTime -= fadeOutTime;
                    fadeState    = FADE_STATE.OUT;
                    textColor.a  = 0.0f;
                }
                else
                {
                    textColor.a = 1.0f - currentTime / fadeOutTime;
                }

                break;

            case (FADE_STATE.OUT):
                currentTime += Time.deltaTime;
                if (currentTime > outTime)
                {
                    currentTime -= outTime;
                    fadeState    = FADE_STATE.FADE_IN;
                    textColor.a  = currentTime / fadeInTime;
                }
                else
                {
                    textColor.a = 0.0f;
                    fadeState   = FADE_STATE.END;
                }

                break;
            }
            preface.color = textColor;
        }
    }