示例#1
0
    private void OnRollEnd(int index, DiceType type, Poring poring)
    {
        switch (type)
        {
        case DiceType.Move:
            MoveDice moveDice = m_currentPlayer.Poring.Property.MoveDices[0];
            m_step = moveDice.GetNumberFromDiceFace(moveDice.GetDiceFace(index));
            // Debug.LogFormat("Roll move number : {0}", number);
            m_cameraController.Show(CameraType.TopDown);
            ParseMovableNode(m_step);
            DisplayNodeHeat();
            isSelectedNode = false;
            if (IsMineTurn())
            {
                StartCoroutine(WaitForSelectNode());
            }
            break;

        case DiceType.Offensive:
            OffensiveDice offDice = poring.Property.OffensiveDices[0];
            poring.OffensiveResult += offDice.GetNumberFromDiceFace(offDice.GetDiceFace(index));
            poring.OffensiveResultList.Add(index);
            break;

        case DiceType.Deffensive:
            DeffensiveDice defDice = poring.Property.DeffensiveDices[0];
            poring.DeffensiveResult += defDice.GetNumberFromDiceFace(defDice.GetDiceFace(index));
            poring.DeffensiveResultList.Add(index);
            break;
        }
    }
        public void MoveDice(Player player, MoveDice moveDice)
        {
            var dice = _context.GetComponent <Dice>();

            player.CanMove = false;
            if (dice.IsPair && moveDice.MoveAgainAllowed)
            {
                player.CanMove = true;
                _context.Add(new PrintLine("You got a pair, so you can move again", OutputStream.GameLog));
            }
            MoveBySteps(player, dice.Sum, moveDice.CountGoPassed);
        }