示例#1
0
    public GameStart
    (
        BattleStatesFactory firstToPlayStatesFactory,
        BattleStatesFactory playerStatesFactory,
        BattleStatesFactory enemyStatesFactory,
        AudioRequisitor audioRequisitor,
        Image battleIconImage
    )
    {
        currentBattleStatesFactory = firstToPlayStatesFactory;
        playerBattleStatesFactory  = playerStatesFactory;
        enemyBattleStatesFactory   = enemyStatesFactory;
        if (bgm != null)
        {
            audioRequisitor.RequestBGMAndLoop(bgm);
            bgm = null;
        }

        // Just in case
        TimeFacade.RestoreTimeInNextFrameIfAllPopUpsAreClosed();

        if (CurrentBattleInfo.BattleIcon != null)
        {
            battleIconImage.sprite = CurrentBattleInfo.BattleIcon;
        }
    }
        public void GetTimeProperlyFetchesMinutesFromMidnightIn24Format()
        {
            // Arrange
            var testee = new TimeFacade();

            // Act
            var time = testee.GetTime("24:00:00");

            // Assert
            Assert.AreEqual(24, time.Hours);
        }
    void Update()
    {
        if (r > max)
        {
            r = -max;
        }
        if (timeCanStop)
        {
            r += dr * TimeFacade.DeltaTime;
        }
        else
        {
            r += dr * TimeFacade.GetDeltaTimeEvenIfTimeIsStopped();
        }

        crazyColorText.color = new Color(changed(r), changed(r), changed(r));;
    }
示例#4
0
    private IEnumerator shake()
    {
        // Create points
        Vector3[] points  = new Vector3[pointsQty];
        float     myRange = range;

        for (int i = 0; i < pointsQty; i++)
        {
            // get a random point
            points[i] = (new Vector3(
                             Random.Range(-myRange, myRange), Random.Range(-myRange, myRange), 0));
            points[i] += transform.position;

            // shrink the range fot the shake to get smaller
            myRange = range * (pointsQty - i) / pointsQty;
        }

        float t = 0;
        int   k = 0;

        // make the first and the last points equal to the current position
        points[0]             = transform.position;
        points[pointsQty - 1] = transform.position;

        while (t < durationForEachPoint && k < pointsQty - 1)
        {
            if (timeCanStop)
            {
                t += TimeFacade.DeltaTime;
            }
            else
            {
                t += TimeFacade.GetDeltaTimeEvenIfTimeIsStopped();
            }

            float x = Mathf.Lerp(points[k].x, points[k + 1].x, t / durationForEachPoint);
            float y = Mathf.Lerp(points[k].y, points[k + 1].y, t / durationForEachPoint);

            transform.position = new Vector3(x, y, transform.position.z);

            if (t >= durationForEachPoint)
            {
                k += 1;
                t  = 0;
            }
            yield return(null);
        }
        // Quick solving bug of cards staying in the wrong place
        yield return(null);

        transform.position = points[0];

        shakeTokens--;

        if (infinite || shakeTokens > 0)
        {
            transform.position = transform.parent.position;
            transform.rotation = Quaternion.identity;
            Shake();
        }
    }