// function for locks to check the door public void CheckDoor() { LockScript r = (LockScript)red.GetComponent(typeof(LockScript)); LockScript g = (LockScript)green.GetComponent(typeof(LockScript)); LockScript b = (LockScript)blue.GetComponent(typeof(LockScript)); // if all unlocked, open the door, disable collider and the locks if (r.CheckLock() && g.CheckLock() && b.CheckLock()) { doorAnim.SetBool("keysCollected", true); open.Play(); // play sound effect doorCollider.enabled = false; red.SetActive(false); green.SetActive(false); blue.SetActive(false); } }
// Update is called once per frame void Update() { if (Input.GetKeyDown("f") || Input.GetMouseButtonDown(0) && !CursorLocked && !eventSys.IsPointerOverGameObject()) { Cursor.lockState = CursorLockMode.Locked; Cursor.visible = false; CursorLocked = true; } else if (Input.GetKeyDown("f") || Input.GetKeyDown("escape") && CursorLocked) { Cursor.lockState = CursorLockMode.None; Cursor.visible = true; CursorLocked = false; } if (Input.GetKeyDown(KeyCode.Alpha1) && sight != null) { if (!sight.activeInHierarchy) { sight.SetActive(true); } else { sight.SetActive(false); } } if (Input.GetMouseButtonDown(0)) { if (Physics.Raycast(transform.position, transform.TransformDirection(Vector3.forward) * 20, out hit)) { if (hit.transform.gameObject.tag == "Lock") { LockScript lockScript = hit.transform.gameObject.GetComponent <LockScript>(); lockScript.LockHit(); } } } }
void Update() { //Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); Vector3 mousespot = Camera.main.ScreenToWorldPoint(Input.mousePosition); if (RayCastOn) { RaycastHit2D hitInfo = Physics2D.Raycast(new Vector2(mousespot.x, mousespot.y), Vector2.zero, Mathf.Infinity); if (hitInfo.collider) { if (hitInfo.collider.gameObject != hovered) { if (hovered) { ls.KeyExit(); } hovered = hitInfo.collider.gameObject; objName = hovered.name; ls = (LockScript)hovered.GetComponent(typeof(LockScript)); ls.KeyOver(); hover_state = HoverState.HOVER; } } else { if (hovered) { ls.KeyExit(); } hovered = null; ls = null; objName = ""; hover_state = HoverState.NONE; } //if the Mouse is over a lock, with a key showing, AND the player presses the left mouse if ((hover_state == HoverState.HOVER) && (Input.GetMouseButtonDown(0))) { ls.KeyTry(KeyColorList[KeyNumber]); } //If mouse over lock, and key is showing, AND the player right clicks if ((hover_state == HoverState.HOVER) && (Input.GetMouseButtonDown(1))) { ls.FlagToggle(); } /* * * // If dragging (Because in Panview) * if (dragging) * { * * Vector3 MV = Vector3.zero; * if ((mousespot.x - dragOrigin.x) > 0) MV += Vector3.right; * else if ((mousespot.x - dragOrigin.x) < 0) MV += Vector3.left; * if ((mousespot.y - dragOrigin.y) > 0) MV += Vector3.up; * else if ((mousespot.y - dragOrigin.y) < 0) MV += Vector3.down; * * Vector3 MV = mousespot - dragOrigin; * * camCon.MoveCam(MV); * dragOrigin = mousespot; * } * * //Camera drag with Pan View (KeyNumber 7), send coordinates to Camera Control * // Camera Controller has MoveCam(Vector3), which will tell the camera to move that vector * /* * if ((Input.GetMouseButtonDown(0)) && (KeyNumber == 7)) * { * dragging = true; * dragOrigin = mousespot; * } * * * if (Input.GetMouseButtonUp(0)) dragging = false; */ } // if RaycastOn //Right now the mouse changes with the scroll wheel, I am thinking I will remove that // and change it to number keys, and clicking on the icons. bool loadtex = false; if (Input.GetAxis("Mouse ScrollWheel") < 0) { if (KeyNumber == (KeyTexList.Count - 1)) { KeyNumber = 0; } else { KeyNumber++; } loadtex = true; } else if (Input.GetAxis("Mouse ScrollWheel") > 0) { if (KeyNumber == 0) { KeyNumber = KeyTexList.Count - 1; } else { KeyNumber--; } loadtex = true; } if (loadtex) { ChangeMouse(KeyNumber); } }