Exemplo n.º 1
0
 public override void StepChanged()
 {
     InstructionRotateCamera.leftSwipeNeeded = !InstructionRotateCamera.leftSwipeNeeded;
     InstructionRotateCamera.isStage2enabled = true;
     nextStepConditionExplained = false;
     InstructionRotateCamera.StartRotate();
 }
Exemplo n.º 2
0
    void Start()
    {
        leftSwipeNeeded   = true;
        conditionNames    = new string[conditionsCount];
        conditionNames[0] = isText6NeededConditionName;
        conditionNames[1] = stageExitConditionName;

        InstructionRotateCamera.StopRotate();
        ChangeStep(stageStartConditionName, true);
    }
Exemplo n.º 3
0
    private IEnumerator CoveringAction()
    {
        while (true)
        {
            timeUnderCovering = 0f;

            while (!isCovering)                                                                                                                                                  //Цикл выполняется, пока игрок не укрыт одеялом
            {
                if (staminaPresentValue != _staminaMaxValue)                                                                                                                     //Операции в условии выполняются, если выносливость была потрачена
                {
                    staminaPresentValue = Mathf.Clamp((staminaPresentValue += (Time.fixedDeltaTime / regenerationStaminaDebuffCoefficient)), staminaMinValue, _staminaMaxValue); //Восстановление выносливости до заданных пределов
                    ButtonFillAmount();
                }
                yield return(new WaitForFixedUpdate());
            }

            canUseButton = !canUseButton;                //Запрещаем нажатие кнопки
            animator.SetBool(conditionName, isCovering); //Проигрываем анимацию покрывала
            coveringSound.Play();

            InstructionRotateCamera.StopRotate();
            InstructionCamAnimation.CoveringEffect();
            yield return(new WaitForSeconds(animationCoveringDuration)); //Приостанавливаем на время действия анимации покрывала

            canUseButton = !canUseButton;
            while (isCovering)                //Цикл выполняется, пока игрок укрыт одеялом
            {
                if (staminaPresentValue <= 0) //Если стамина падает ниже нуля, прерываем цикл
                {
                    isCovering = !isCovering;
                }
                staminaPresentValue -= Time.fixedDeltaTime; //Отнимаем стамину
                timeUnderCovering   += Time.fixedDeltaTime; //Просчитываем, сколько времени игрок находится под одеялом
                ButtonFillAmount();
                yield return(new WaitForFixedUpdate());
            }
            canUseButton = !canUseButton;                //Запрещаем нажатие кнопки,
            animator.SetBool(conditionName, isCovering); //И проигрываем
            coveringSound.Play();

            InstructionCamAnimation.CoveringEffectReverse();             //Также проигрываем анимацию обратного движения камеры
            yield return(new WaitForSeconds(animationCoveringDuration)); //Пока проигрывается анимация движения камеры, запрещено ее поворачивать

            InstructionRotateCamera.StartRotate();                       //Разрешаем камере двигаться

            yield return(new WaitForSeconds(remainingTime));             //Ожидание делается для того, чтобы игрок не мог постоянно нажимать на кнопку активации, тем самым, мешая логике аниматора

            canUseButton = !canUseButton;                                //Разрешаем нажатие кнопки
        }
    }
 public static void CoveringEffect()
 {
     InstructionRotateCamera.SetDefaultTransform();
     anim.Play(cameraCoveringEffectName);
 }