private void Update() { //left clicked if (Input.GetMouseButtonDown(0)) { if (selectedChess != null) { MoveChess(); } else { Vector3 camPos = Camera.main.transform.position; Ray ray = new Ray(camPos, pointer.position - camPos); Physics.Raycast(ray, out RaycastHit hit, 10); //if hit chess if (hit.transform.CompareTag("Chess")) { SelectChess(hit.transform); } } } //could move chess if (moveQueue.Count != 0) { ChessMove move = moveQueue.Peek(); if (!move.Move()) { moveQueue.Dequeue(); } } //deselect chess if (Input.GetMouseButtonDown(1)) { DeselectChess(); } }