Exemplo n.º 1
0
        public void Labels()
        {
            Die die = new DieBuilder().WithLabels("test0", "test1", "test2").Build();

            for (int i = 0; i < 10; i++)
            {
                Assert.Equal(die.RollLabel(), die.Labels[die.Current]);
            }
        }
Exemplo n.º 2
0
    public void InitThrow()
    {
        if (!isRunning)
        {
            GetComponent <UIBattleHandler>().ChangeState(UIBattleState.Actions);
            areDiceFeedbacksInitialized = false;
            areDiceRotatedProperly      = false;
            timerAnimation = 0.0f;
            isRunning      = false;
            upFaceIndex.Clear();
            diceInstance.Clear();
            for (int i = 0; i < BattleHandler.CurrentBattleKeepers.Length; i++)
            {
                PawnInstance currentKeeper = BattleHandler.CurrentBattleKeepers[i];
                if (currentKeeper.GetComponent <Mortal>().CurrentHp <= 0)
                {
                    continue;
                }

                diceForCurrentThrow.Add(currentKeeper, currentKeeper.GetComponent <Fighter>().Dice);

                // Create dice visuals
                diceInstance.Add(currentKeeper, new List <GameObject>());
                for (int j = 0; j < currentKeeper.GetComponent <Fighter>().Dice.Length; j++)
                {
                    Transform diePosition = TileManager.Instance.DicePositionsOnTile.GetChild(i).GetChild(j);
                    diceInstance[currentKeeper].Add(DieBuilder.BuildDie(diceForCurrentThrow[currentKeeper][j], GameManager.Instance.ActiveTile, diePosition.localPosition + diePosition.parent.localPosition));
                }
            }
            if (BattleHandler.isPrisonerOnTile)
            {
                PawnInstance prisoner = GameManager.Instance.PrisonerInstance;

                diceForCurrentThrow.Add(prisoner, prisoner.GetComponent <Fighter>().Dice);

                // Create dice visuals
                diceInstance.Add(prisoner, new List <GameObject>());
                for (int j = 0; j < prisoner.GetComponent <Fighter>().Dice.Length; j++)
                {
                    Transform diePosition = TileManager.Instance.DicePositionsOnTile.GetChild(2).GetChild(j);
                    diceInstance[prisoner].Add(DieBuilder.BuildDie(diceForCurrentThrow[prisoner][j], GameManager.Instance.ActiveTile, diePosition.localPosition + diePosition.parent.localPosition));
                }
            }

            AudioManager.Instance.PlayOneShot(AudioManager.Instance.thowDiceSound, 0.8f);
            isRunning   = true;
            throwResult = ComputeNotPhysicalResult();

            //GetComponent<UIBattleHandler>().ChangeState(UIBattleState.DiceRolling);
        }
        else
        {
            Debug.LogWarning("A dice throw is already in process.");
        }
    }
Exemplo n.º 3
0
        public void AnonRoll()
        {
            Die die = new DieBuilder().WithRandomizer(i => 2);

            Assert.Equal(2, die.Roll());
        }
Exemplo n.º 4
0
        public void Implicit()
        {
            Die die = new DieBuilder();

            Assert.IsType <Die>(die);
        }
Exemplo n.º 5
0
        public void ShouldAssignLabelsLengthToSides()
        {
            var die = new DieBuilder().WithLabels("test", "test2").WithSides(4).Build();

            Assert.Equal(2, die.Sides);
        }
Exemplo n.º 6
0
 public void ConstructDieBuilders(DieBuilder builder)
 {
     Assert.IsType <Die>(builder.Build());
 }