Exemple #1
0
    // 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);
        }
    }