Пример #1
0
    public IEnumerator Die()
    {
        inControl = false;
        GameData.grappleHandler.hideAimArrow++;
        GameData.playerVisuals.animator.SetBool("IsDying", true);
        isDying = true;
        float timer = 0;

        deathParticle.Play();
        while (timer < deathTimeBeforeRespawn)
        {
            playerMaterial.SetFloat("_deadOrAlive", Mathf.Lerp(1, 0, timer / deathTimeBeforeRespawn));
            yield return(new WaitForEndOfFrame());

            timer += Time.deltaTime;
        }

        timer = 0;
        while (timer < deathFadeTime)
        {
            BlackScreenManager.SetAlpha(timer / deathFadeTime);

            yield return(new WaitForEndOfFrame());

            timer += Time.deltaTime;
        }
        BlackScreenManager.SetAlpha(1);

        GameManager.Respawn();
    }
Пример #2
0
    public override void StartEventPart()
    {
        base.StartEventPart();
        fadeTimeElapsed      = 0;
        blackScreenStartFlag = true;
        isUnfading           = false;

        BlackScreenManager.SetAlpha(0);
    }
Пример #3
0
    public static IEnumerator LoadWithProgress(int sceneIndex)
    {
        BlackScreenManager.SetLoadActive(true);
        AsyncOperation loadOperation = SceneManager.LoadSceneAsync(sceneIndex);

        while (!loadOperation.isDone)
        {
            yield return(new WaitForEndOfFrame());
        }
        BlackScreenManager.SetLoadActive(false);
    }
Пример #4
0
 public void SetupSingleton()
 {
     if (Instance == null)
     {
         Instance = this;
         DontDestroyOnLoad(this);
     }
     else
     {
         Destroy(gameObject);
     }
 }
Пример #5
0
    private IEnumerator StartBlackScreenFade()
    {
        float timer = 0;

        BlackScreenManager.blackScreen.color = transitionScreenColor;
        while (timer < transitionTime)
        {
            BlackScreenManager.SetAlpha(1 - (timer / transitionTime));

            yield return(new WaitForEndOfFrame());

            timer += Time.deltaTime;
        }
        BlackScreenManager.SetAlpha(0);
    }
Пример #6
0
    public IEnumerator LoadNewZone(int zoneBuildIndex)
    {
        float timer = 0;

        while (timer < transitionTime)
        {
            BlackScreenManager.SetAlpha(timer / transitionTime);

            yield return(new WaitForEndOfFrame());

            timer += Time.deltaTime;
        }
        BlackScreenManager.SetAlpha(1);

        //GameManager.LoadNewZone(zoneBuildIndex);
        StartCoroutine(GameManager.LoadWithProgress(zoneBuildIndex));
    }
Пример #7
0
    private IEnumerator StartTransition(int zoneIndexToLoad)
    {
        seikiMenu.SetTrigger("Jump");
        yield return(new WaitForSeconds(timeBeforeFade));

        float timer = 0;

        while (timer < transitionFadeTime)
        {
            BlackScreenManager.SetAlpha(timer / transitionFadeTime);

            yield return(new WaitForEndOfFrame());

            timer += Time.deltaTime;
        }
        BlackScreenManager.SetAlpha(1);

        StartCoroutine(GameManager.LoadWithProgress(zones[zoneIndexToLoad].zoneBuildIndex));
    }
Пример #8
0
    private void Update()
    {
        if (eventStarted && !eventEnded)
        {
            if (isScreenActive)
            {
                if (blackScreenStartFlag)
                {
                    blackScreenStartFlag = false;
                    for (int i = 0; i < objectToDisable.Count; i++)
                    {
                        objectToDisable[i].SetActive(false);
                    }

                    for (int i = 0; i < objectToEnable.Count; i++)
                    {
                        objectToEnable[i].SetActive(true);
                    }

                    if (seikiNewPos != Vector2.zero)
                    {
                        GameData.player.transform.position = seikiNewPos;
                    }

                    if (cameraChangeDuringScreen != null)
                    {
                        eventTrigger.previousCamera     = cameraConstraintDuringEventPart;
                        cameraConstraintDuringEventPart = cameraChangeDuringScreen;
                        eventTrigger.SetNewCameraConstraint();
                    }

                    if (soundToPlayDuringBlackScreen != null)
                    {
                        //jouer le gros sooonnnnn
                    }
                }

                if (screenTimeElasped < minSceenTime)
                {
                    screenTimeElasped += Time.deltaTime;
                }
                else
                {
                    fadeTimeElapsed = 0;
                    isUnfading      = true;
                    isScreenActive  = false;
                }
            }
            else
            {
                if (!isUnfading)
                {
                    if (fadeTimeElapsed < fadeTime)
                    {
                        BlackScreenManager.SetAlpha(fadeTimeElapsed / fadeTime);
                        fadeTimeElapsed += Time.deltaTime;
                    }
                    else
                    {
                        BlackScreenManager.SetAlpha(1);
                        screenTimeElasped = 0;
                        isScreenActive    = true;
                    }
                }
                else
                {
                    if (fadeTimeElapsed < fadeTime)
                    {
                        BlackScreenManager.SetAlpha(1 - (fadeTimeElapsed / fadeTime));
                        fadeTimeElapsed += Time.deltaTime;
                    }
                    else
                    {
                        BlackScreenManager.SetAlpha(0);
                        EndEventPart();
                    }
                }
            }
        }
    }
Пример #9
0
 public override void EndEventPart()
 {
     base.EndEventPart();
     BlackScreenManager.SetAlpha(0);
 }
Пример #10
0
 private void Awake()
 {
     Instance = this;
 }