示例#1
0
    protected override void CheckFinishCondition()
    {
        if (Vector3.Distance(vCam.localPosition, targetCamPosition) < distanceTolerance || Vector3.Distance(vCam.localPosition, altTargetCamPosition) < distanceTolerance)
        {
            if (!isInCorrectArea)
            {
                Game.inst.audio.PlaySound(Game.inst.audio.mystery);
            }

            blinkTimer = 0f;
            AddHeartAlpha(0.25f);
            isInCorrectArea = true;

            if (isBlinking)
            {
                isBlinking = false;
                StopAllCoroutines();
                heart.DOKill();
            }
        }
        else
        {
            if (heart.color.a <= 0f)
            {
                Timing.AddTimeAndCheckMax(ref blinkTimer, 8f, Time.deltaTime, () => StartCoroutine(BlinkHeart()));
            }

            isInCorrectArea = false;

            if (!isBlinking)
            {
                AddHeartAlpha(-1f);
            }
        }
    }
示例#2
0
 private void CountSpawnEnemies()
 {
     Timing.AddTimeAndCheckMax(ref spawnTimePassed, GetCurrentSpawnTime(), Time.deltaTime, SpawnEnemy);
 }