public bool tryEnterDoor(Player_EnterDoors sc) { if (reachedTarget) { enterDoor(sc); return(true); } return(false); }
void OnTriggerStay2D(Collider2D other) { if (other.CompareTag("NPC")) { Player_EnterDoors ped = this.GetComponentInParent <Player_EnterDoors>(); if (other.GetComponent <NPC_Movement>().tryEnterDoor(ped)) { this.gameObject.SetActive(false); } } }
Transform FinalRoom(Player_EnterDoors entranceDoor) { Transform room = (Transform)Instantiate(prefab_FinalRoom, transform.position, transform.rotation); numberOfRooms++; room.name = "Room " + numberOfRooms; /* * Player_EnterDoors doorAux = room.Find("InitialDoor").GetComponent<Player_EnterDoors>(); * doorAux.linkedDoor = entranceDoor; * doorAux.currentRoom = room; * doorAux.nextRoom = entranceDoor.currentRoom; * doorAux.Initialized (); */ room.SetParent(activeLevel); return(room); }
public Transform NewRoom(Player_EnterDoors entranceDoor) { Transform room = (Transform)Instantiate(prefab_Rooms.Find("Room " + pickRandomRoom()), transform.position, transform.rotation); numberOfRooms++; room.name = "Room " + numberOfRooms; /* * //Creating essential components * Player_EnterDoors doorAux = room.Find("InitialDoor").GetComponent<Player_EnterDoors>(); * doorAux.linkedDoor = entranceDoor; * doorAux.currentRoom = room; * doorAux.nextRoom = entranceDoor.currentRoom; * doorAux.Initialized (); */ room.SetParent(activeLevel); room.gameObject.SetActive(false); return(room); }
private void enterDoor(Player_EnterDoors sc) { sc.changeRoom(false); setVisibility(false); }
IEnumerator panCamera(Vector2 startPosition, float startTime, Vector2 finalPosition, float pan_duration, float stay_duration, Player_EnterDoors linkedDoor) { float alpha = (Time.realtimeSinceStartup - startTime) / pan_duration; float beta = (Time.realtimeSinceStartup - startTime - pan_duration) / stay_duration; while (alpha < 1) { alpha = (Time.realtimeSinceStartup - startTime) / pan_duration; this.transform.position = Vector2.Lerp(startPosition, finalPosition, alpha); yield return(null); } bool updated = false; while (beta < 1) { if (!updated && beta > 0.2f) { linkedDoor.isInCutscene = false; linkedDoor.checkLocks(); updated = true; } beta = (Time.realtimeSinceStartup - startTime - pan_duration) / stay_duration; yield return(null); } Time.timeScale = 1; inCutscene = false; }
public void newCutscene(Vector2 finalPosition, float pan_duration, float stay_duration, Player_EnterDoors linkedDoor) { VibrateController.vibrateControllerForXSeconds(pan_duration + stay_duration, 0, 0); Time.timeScale = 0; inCutscene = true; StartCoroutine(panCamera(this.transform.position, Time.realtimeSinceStartup, finalPosition, pan_duration, stay_duration, linkedDoor)); }