int GetValue(StaticValues.Type type)
    {
        int number = 0;

        DisplayCurrentDieValue dcdv;

        if (!type.Equals(StaticValues.Type.VictoryPoints))
        {
            foreach (GameObject dice in Dices)
            {
                dcdv = dice.GetComponent <DisplayCurrentDieValue>();
                if (dcdv.type.Equals(type))
                {
                    number++;
                }
            }
            return(number);
        }
        else
        {
            for (int j = 1; j < 4; j++)
            {
                number = 0;
                foreach (GameObject dice in Dices)
                {
                    dcdv = dice.GetComponent <DisplayCurrentDieValue>();
                    if (dcdv.amount == j)
                    {
                        number++;
                    }
                }
                if (number >= 3)
                {
                    if (number > 3)
                    {
                        int aux = number - j;
                        number = j + aux;
                        return(number);
                    }
                    else
                    {
                        number = j;
                        return(number);
                    }
                }
            }
        }

        return(0);
    }
    // Update is called once per frame
    void Update()
    {
        RaycastHit hit;

        if (Physics.Raycast(transform.position, Vector3.up, out hit, Mathf.Infinity, dieValueColliderLayer))
        {
            type   = hit.collider.GetComponent <DiceValue>().FaceType;
            amount = hit.collider.GetComponent <DiceValue>().value;
        }

        if (rigidbody.IsSleeping() && !rollComplete)
        {
            rollComplete = true;
            pcCtrl.DiceReady();
        }
        else if (!rigidbody.IsSleeping())
        {
            rollComplete = false;
        }
    }