void SetVictim() { victim = gm.GetRandomGuest(null); crimeLocation = gm.GetRandomProp(); NPC_Behavior victimAI = victim.GetComponent <NPC_Behavior>(); victimAI.SendToCrime(crimeLocation); Debug.Log(victim.name + " is gonna die!"); }
void pushing(GameObject objectHit) { if (objectHit != null) { if (objectHit.GetComponent <NPC_Behavior>()) { NPC_Behavior NPC = objectHit.GetComponent <NPC_Behavior>(); NPC.Push(directionV); // Pushing things } } }
void SetPerp() { perp = gm.GetRandomGuest(); if (perp == victim) { perp = gm.GetRandomGuest(victim); } NPC_Behavior perpAI = perp.GetComponent <NPC_Behavior>(); perpAI.SendToVictim(victim); perpAI.crime = this; Debug.Log(perp.name + " will kill " + victim.name + "..."); }
void Update() { if (!paused) { if (canMove) { if (Input.GetAxisRaw("Horizontal") < 0 && transform.position == pos) // Left { directionV = Vector2.left; if (CollisionCheck(directionV)) { GameObject objectHit = InteractCheck(directionV); pushing(objectHit); // Walk into wall sound effect } else { pos += 2 * Vector3.left; } } if (Input.GetAxisRaw("Horizontal") > 0 && transform.position == pos) // Right { directionV = Vector2.right; if (CollisionCheck(directionV)) { { GameObject objectHit = InteractCheck(directionV); pushing(objectHit); // Walk into wall sound effect } } else { pos += 2 * Vector3.right; } } if (Input.GetAxisRaw("Vertical") > 0 && transform.position == pos) // Up { directionV = Vector2.up; if (CollisionCheck(directionV)) { { GameObject objectHit = InteractCheck(directionV); pushing(objectHit); // Walk into wall sound effect } } else { pos += 2 * Vector3.up; } } if (Input.GetAxisRaw("Vertical") < 0 && transform.position == pos) // Down { directionV = Vector2.down; if (CollisionCheck(directionV)) { { GameObject objectHit = InteractCheck(directionV); pushing(objectHit); // Walk into wall sound effect } } else { pos += 2 * Vector3.down; } } } transform.position = Vector3.MoveTowards(transform.position, pos, Time.deltaTime * speed); // Moving to new pos } // User interaction with a delay of how quickly it can be done equal to interactDelay if (Input.GetAxisRaw("Interact") > 0 & Time.time >= timestamp) { timestamp = Time.time + interactDelay; GameObject objectHit = InteractCheck(directionV); if (objectHit != null) { // Interacting with person or object if (objectHit.GetComponent <NPC_Behavior>() && interacting == false) { NPC_Behavior NPC = objectHit.GetComponent <NPC_Behavior>(); UI_DialogueSystem.SetActive(true); interacting = true; canMove = false; StartCoroutine(NPC.Interact()); } // Interacting with savepoint if (objectHit.GetComponent <SaveCrystal>() && interacting == false) { //SaveCrystal saveCrystal = objectHit.GetComponent<SaveCrystal>(); UI_SaveCrystal.SetActive(true); interacting = true; canMove = false; //saveCrystal.save(); } // Interacting with door, teleporter or something similar if (objectHit.GetComponent <TransferPoint>() && interacting == false) { TransferPoint transferPoint = objectHit.GetComponent <TransferPoint>(); //interacting = true; //canMove = false; gameManagerUpdate(); transferPoint.transfer(); // Set to HYPERSPEED, WE'RE GOING PLACES. updatePos(); } // Interacting with enemy or something similar that starts an encounter immediately if (objectHit.GetComponent <hostileEncounter>() && interacting == false) { hostileEncounter hostileEncounter = objectHit.GetComponent <hostileEncounter>(); //interacting = true; //canMove = false; gameManagerUpdate(); hostileEncounter.startBattle(); // Starts the battle updatePos(); } } } // Pause, pause, pause everything please! bring up the menu make everything stop if (Input.GetAxisRaw("Pause") > 0) { pauseButtonDown = true; } else { pauseButtonDown = false; } if (pauseButtonDown == true && pauseButtonPrevious == false) { if (paused) { // Unpausing UI_PauseMenuRoot.SetActive(false); UI_PauseMenu.SetActive(false); UI_PauseMenuParty.SetActive(false); UI_PauseMenuJournal.SetActive(false); paused = false; } else { if (!UI_DialogueSystem.activeSelf) { // If the dialogue box is not open/active UI_PauseMenu.SetActive(true); UI_PauseMenuRoot.SetActive(true); paused = true; } } } // Abort! abort! you know, dialogue if (Input.GetAxisRaw("Back") > 0) { if (paused) { //Unpausing UI_PauseMenuRoot.SetActive(false); UI_PauseMenu.SetActive(false); paused = false; } if (UI_DialogueSystem.activeSelf) { UI_DialogueSystem.SetActive(false); canMove = true; interacting = false; } } pauseButtonPrevious = pauseButtonDown; }