void Update() { RaycastHit hitInfo; Ray cameraRay = Camera.main.ScreenPointToRay(Input.mousePosition); bool hit = Physics.Raycast(cameraRay, out hitInfo, Mathf.Infinity, layerMask, QueryTriggerInteraction.Ignore); CabinetCollider collider = null; if (hit && (Time.time - lastActionTime) >= actionCooldown) { collider = hitInfo.collider.GetComponent <CabinetCollider>(); } if (collider?.cabinet != hoveredCabinet) { if (collider?.cabinet != null) { collider.cabinet.SetHover(true); } if (hoveredCabinet != null) { hoveredCabinet.SetHover(false); } hoveredCabinet = collider?.cabinet; } if (Input.GetMouseButtonDown(0) && hoveredCabinet != null && (Time.time - lastActionTime) >= actionCooldown) { hoveredCabinet.DoOpen(); lastActionTime = Time.time; var savedCabinet = hoveredCabinet; Util.ExecuteAfter(applyTime, this, () => { if (houseBuildManager.ApplyItem(savedCabinet.GetItem(), Reenable)) { this.enabled = false; } }); } if (Input.GetKeyDown(KeyCode.D) || Input.GetKeyDown(KeyCode.RightArrow)) { AdvanceVcam(1); } else if (Input.GetKeyDown(KeyCode.A) || Input.GetKeyDown(KeyCode.LeftArrow)) { AdvanceVcam(-1); } if (cheatSequence.CheckCheat()) { houseBuildManager.CheatHouseComplete(true); } else if (timeoutSequence.CheckCheat()) { houseBuildManager.CheatHouseComplete(false); } }