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; } }