private void _ChangeNodeState(RaycastHit hit) { _nodeState = hit.transform.gameObject.GetComponent <NodeState>(); switch (_nodeState.state) { case NodeState.STATES.RED: _nodeState.state = NodeState.STATES.BLUE; _SetMaterial(_nodeState.GetComponent <Renderer>(), blueMat); break; case NodeState.STATES.BLUE: _nodeState.state = NodeState.STATES.WHITE; _SetMaterial(_nodeState.GetComponent <Renderer>(), whiteMat); break; case NodeState.STATES.WHITE: _nodeState.state = NodeState.STATES.RED; _SetMaterial(_nodeState.GetComponent <Renderer>(), redMat); break; default: break; } }