void SetRoomCode() { ColorLock colorLock = GameObject.FindGameObjectWithTag(roomLock).GetComponent <ColorLock>(); code1.color = colors[colorLock.goodDigit_1]; code2.color = colors[colorLock.goodDigit_2]; code3.color = colors[colorLock.goodDigit_3]; }
IEnumerator digitRotate() { RaycastHit hit; //Ray ray = Camera.main.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0f)); Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit) && hit.collider.tag == "lockTag") { ColorLock buttonPad = hit.collider.GetComponentInParent <ColorLock>(); if (buttonPad.gameObject.tag == roomLock) { hit.collider.transform.Rotate(Vector3.up * angleStep); var digitNumber = int.Parse(hit.collider.name.Substring(hit.collider.name.Length - 1)); digit[digitNumber] = digit[digitNumber] + Mathf.FloorToInt(1 * Mathf.Sign(angleStep)); if (digit[digitNumber] == -1) { digit[digitNumber] = 5; } if (digit[digitNumber] == 6) { digit[digitNumber] = 0; } if (digit[1] == goodDigit_1 && digit[2] == goodDigit_2 && digit[3] == goodDigit_3) { Unlocked.Invoke(); doorInteract.locked = false; CamOff(); } Debug.Log(digit[digitNumber]); } } yield return(null); }