示例#1
0
    private void Update()
    {
        CalculateMultiplier();
        string distractionText = "";

        if (IsDistractions() > 0)
        {
            distractionText = IsDistractions() + " DISTRACTION(S) ";
        }

        if (RemainingTimeController.IsCrunchTime())
        {
            distractionText = "CRUNCH TIME!!! ";
            if (multiplier < 2)
            {
                multiplier = 2f;
            }
        }

        text.text = "SCORE: " + score + "\n" + distractionText + "MULTI: " + multiplier + "X";

        LetterController.maxSpeed = multiplier * 0.9f;
        Spawner.spawnSpeed        = (1 / multiplier) * 1.1f;

        comboBar.SetStatus(combo / 90);

        ComboDecay();
    }
示例#2
0
        public void CulculateCorrectTime()
        {
            var expectedTime = TimeSpan.FromMinutes(1);
            // Запускать не позже, чем за минуту до полуночи!!!
            var remainingTimeController = new RemainingTimeController(expectedTime);

            remainingTimeController.StopTimer();

            Assert.AreEqual(expectedTime, remainingTimeController.RemainingTimeToLock);
        }
示例#3
0
        public void StopTimerWorks()
        {
            var remainingTimeController = new RemainingTimeController(TimeSpan.FromMinutes(30));

            remainingTimeController.StopTimer();
            var firstRemainingTime = remainingTimeController.RemainingTimeToLock;

            Thread.Sleep(3000);
            var secondRemainingTime = remainingTimeController.RemainingTimeToLock;

            Assert.AreEqual(firstRemainingTime, secondRemainingTime);
        }
示例#4
0
        public void CorrectHandlingOfMidnight()
        {
            var time = TimeSpan.FromHours(25);
            var remainingTimeController = new RemainingTimeController(time);

            remainingTimeController.StopTimer();

            var maxAllowedTime = Locktimer.GetMaxAllowedTime();
            var expectedTime   = TimeSpan.FromSeconds((int)(TimeSpan.FromHours(24) - DateTime.Now.TimeOfDay).TotalSeconds) + maxAllowedTime;
            var actualTime     = TimeSpan.FromSeconds((int)(remainingTimeController.RemainingTimeToLock.TotalSeconds));

            Assert.AreEqual(expectedTime, actualTime);
        }
示例#5
0
    private void SpawnNewLetter()
    {
        GameObject newLetter  = Instantiate(letter);
        int        spawnPoint = Random.Range(0, spawnPoints.Length);

        newLetter.transform.position = spawnPoints[spawnPoint].transform.position;
        newLetter.transform.parent   = console.transform;
        if (RemainingTimeController.IsCrunchTime())
        {
            Rigidbody2D body = newLetter.GetComponent <Rigidbody2D>();
            body.AddForce(Random.insideUnitCircle, ForceMode2D.Impulse);
            body.AddTorque(Random.Range(-1f, 1f), ForceMode2D.Impulse);
        }
        newLetter.GetComponent <LetterController>().letter = (char)Random.Range(65, 91);
    }