コード例 #1
0
    public override void StartPuzzle(HackerDevice device, ServerAccess _server)
    {
        base.StartPuzzle(device, _server);

        routersParent.SetActive(true);
        device.ShowInfo("Server acces needed: Please activate all 3 router switches to open access for security level codes");
    }
コード例 #2
0
ファイル: LazerPuzzle.cs プロジェクト: AtlasTitanuim/Heist001
 IEnumerator CountDown(int count)
 {
     for (int i = 0; i < count; i++)
     {
         hackerDevice.ShowInfo("Server acces needed: You have " + (count - i) + " seconds to flip the next switch!");
         yield return(new WaitForSeconds(1));
     }
     PuzzleFailed();
 }
コード例 #3
0
    private void Update()
    {
        if (!hackerDeviceActive)
        {
            if (Input.GetMouseButtonDown(0))
            {
                RaycastHit hit;
                if (Physics.Raycast(transform.position, transform.forward, out hit, reachDistance))
                {
                    if (hit.transform.GetComponent <CallerBehaviour>())
                    {
                        hit.transform.GetComponent <CallerBehaviour>().Call();
                    }
                }
            }

            if (Input.GetKeyDown(KeyCode.F))
            {
                RaycastHit hitt;
                if (Physics.Raycast(transform.position, transform.forward, out hitt, reachDistance))
                {
                    if (hitt.transform.GetComponent <ArtBehaviour>())
                    {
                        ArtBehaviour art = hitt.transform.GetComponent <ArtBehaviour>();
                        if (items[currentItemSlot] != null)
                        {
                            items[currentItemSlot].Drop(transform);
                        }
                        items[currentItemSlot] = art;
                        art.Pickup(body);
                        inventoryManager.SetInventoryImage(currentItemSlot, art.inventoryIcon);
                    }
                }
            }

            if (Input.GetKeyDown(KeyCode.Q))
            {
                RaycastHit hit;
                if (Physics.Raycast(transform.position + transform.forward, -transform.forward, out hit, 1))
                {
                    Debug.Log("Wall");
                }
                else
                {
                    if (items[currentItemSlot] != null)
                    {
                        items[currentItemSlot].Drop(transform);
                        inventoryManager.RemoveInventoryImage(currentItemSlot);
                        items[currentItemSlot] = null;
                    }
                }
            }

            if (Input.GetAxis("Mouse ScrollWheel") != 0)
            {
                currentItemSlot += (int)(Input.GetAxis("Mouse ScrollWheel") * 10);
                if (currentItemSlot >= inventorySize)
                {
                    currentItemSlot = 0;
                }
                if (currentItemSlot <= -1)
                {
                    currentItemSlot = inventorySize - 1;
                }

                inventoryManager.SetCurrentItemSlot(currentItemSlot);
            }

            if (Input.GetKeyDown(KeyCode.Escape))
            {
                PauseGame();
            }
        }
        else
        {
            RaycastHit hit;
            if (Physics.Raycast(transform.position, transform.forward, out hit, reachDistance))
            {
                if (hit.transform.GetComponent <ServerAccess>())
                {
                    hackingDevice.ServerNearby();
                    if (Input.GetMouseButtonDown(0))
                    {
                        hit.transform.GetComponent <ServerAccess>().Connect(hackingDevice);
                    }
                }
                else
                {
                    hackingDevice.ResetScreen();
                }
                if (hit.transform.GetComponent <ArtBehaviour>())
                {
                    ArtData data = hit.transform.GetComponent <ArtBehaviour>().GetData();
                    hackingDevice.ShowInfo("Author: " + data.authorName + "\nArt Name: " + data.artName);
                }

                if (hit.transform.GetComponent <DoorBehaviour>())
                {
                    if (GameManager.gameManager.securityLevelAcess < hit.transform.GetComponent <DoorBehaviour>().securityLevelAcess)
                    {
                        hackingDevice.ShowInfo("This door requires Level: " + (int)hit.transform.GetComponent <DoorBehaviour>().securityLevelAcess + " access.\nFind a server and hack it for higher level access");
                    }
                }
            }
            else
            {
                hackingDevice.ResetScreen();
            }
        }

        if (Input.GetMouseButtonDown(1))
        {
            hackingDevice.GetComponent <Animator>().SetBool("Holding", !hackingDevice.GetComponent <Animator>().GetBool("Holding"));
            hackerDeviceActive = !hackerDeviceActive;
            hackingDevice.ResetScreen();
        }
    }