internal override void OnMouseOver() { base.OnMouseOver(); if (Input.GetMouseButtonDown(0) && selectedProgram == this && !hackable.IsHacked()) { GenerateLineOfSightIndicators(); } }
//private GameObject instantiatedHackBar; private void Update() { Debug.DrawRay(transform.position, transform.forward * hackRange, Color.red); if (Input.GetButtonDown(hackButton)) { DetectCameraBox(); //if(currentlyHackedObject != null) //instantiatedHackBar = Instantiate(hackProgressBar, GameObject.Find("Canvas").transform); } if (Input.GetButton(hackButton)) { if (currentlyHackedObject != null && !currentlyHackedObject.IsHacked()) { currentlyHackedObject.HackCamera(hackSpeed * Time.deltaTime); } } if (Input.GetButtonUp(hackButton)) { if (currentlyHackedObject != null) { //if (instantiatedHackBar != null) { // Destroy(instantiatedHackBar); //} currentlyHackedObject.StopHacking(); currentlyHackedObject = null; } } }
internal void AttemptBreach(Hackable toHack) { if (!hasUsedAction && GetBreach() > 0 && !toHack.IsHacked()) { int breachRange = 1; if (GetKeywords().Contains("Remote")) { breachRange = GetRange(); } List <DungeonTile> tempPath = DungeonManager.instance.grid.FindPath(myTile, toHack.myTile, breachRange, true); if (tempPath[tempPath.Count - 1] == toHack.myTile) { Breach newBreach = Instantiate(myBreach, gameObject.transform.position, Quaternion.identity).GetComponent <Breach>(); newBreach.breach = GetBreach(); newBreach.SetCourse(tempPath, toHack); Program.isTargetingBreach = false; movesLeft = 0; hasUsedAction = true; } } }