public void MoveToLeftRightChamber(DoorBehaviour door) { Blink(false); StartCoroutine(InterpolatePositionChangingChamber(0.5f, door.nextDoor.playerPosition.position, door)); lastDoorPos = door.GetPosition(); //GetComponent<CapsuleCollider2D>().enabled = false; }
IEnumerator FadeOut(float time, bool transition, DoorBehaviour door) { Color c = blackScreen.GetComponent <Image>().color; Color initialColor = c; Color finalColor = new Color(0, 0, 0, 0); float elapsedTime = 0.0f; while (elapsedTime < time) { elapsedTime += Time.deltaTime; c = Color.Lerp(initialColor, finalColor, elapsedTime / time); blackScreen.GetComponent <Image>().color = c; yield return(null); } blackScreen.GetComponent <Image>().color = finalColor; if (transition) { player.GetComponent <PlayerPlatformController>().SetInputActivated(true); mainCamera.GetComponent <CameraBehaviour>().SetFollowTarget(true); if (door != null) { door.TurnOnTurnOff(); } } }
public void Interact() { Transform player = GameObject.FindGameObjectWithTag("Player").GetComponent <Transform>(); if (open) { Close(); Debug.Log("Close local"); if (linkedDoorActive != null) { Debug.Log("Linked not null: " + linkedDoorActive.ID); linkedDoorActive.Close(); } } else { clockwise = Vector3.Dot(player.position - transform.position, transform.right) > 0; linkedDoorActive = clockwise ? linkedDoorClockwise : linkedDoorAnticlockwise; Open(); if (linkedDoorActive != null) { linkedDoorActive.clockwise = clockwise; linkedDoorActive.linkedDoorActive = clockwise ? linkedDoorActive.linkedDoorClockwise : linkedDoorActive.linkedDoorAnticlockwise; linkedDoorActive.Open(); } } }
IEnumerator FadeIn(float time, bool transition, DoorBehaviour door) { Color c = blackScreen.GetComponent <Image>().color; Color initialColor = c; Color finalColor = new Color(0, 0, 0, 1); float elapsedTime = 0.0f; while (elapsedTime < time) { elapsedTime += Time.deltaTime; c = Color.Lerp(initialColor, finalColor, elapsedTime / time); blackScreen.GetComponent <Image>().color = c; yield return(null); } blackScreen.GetComponent <Image>().color = finalColor; if (transition) { player.GetComponent <PlayerPlatformController>().SetPosition(door.nextDoor.playerPosition.position); mainCamera.GetComponent <CameraBehaviour>().SetPosition(door.nextDoor.cameraPosition.position); if (door != null) { door.nextDoor.chamber.SetCameraSize(); } yield return(new WaitForSeconds(0.1f)); StartCoroutine(FadeOut(time, transition, door)); } }
//Retire l'ennemie qui vient d'être détruit de la liste public void RemoveFromList(GameObject toRemove) { //Retire l'ennemie de la liste remainingEnnemies.Remove(toRemove); //Si c'est le dernier ennemi qui a été détruit if (hasFinishedSpawning && remainingEnnemies.Count == 0) { //Change le numéro de la vague actuelle waveNumber++; //Si le joueur à terminer toutes les vagues if (waveNumber == waves.Length) { //Lance l'écran de victoire onFinishingAllWaves.Invoke(); } //Repasse le jeu en Parabellum musicManager.EndOfWave(); GameManager.Instance.onStateChange.Invoke(GameState.Parabellum); DoorBehaviour.DoorOpen(); //Mise en place de la musique et du temps d'antebellum pour la vague suivante MusicManager.levelMusic = (waves[waveNumber].music); GameManager.timerAntebellum = (waves[waveNumber].antebellumTime); //Permet au joueur de lancer la prochaine vague GameManager.canAntebellum = true; hasFinishedSpawning = false; } }
// Start is called before the first frame update void Start() { door = GameObject.Find("Door"); player = GameObject.Find("Player"); wall = GameObject.FindGameObjectsWithTag("wall"); db = door.GetComponent <DoorBehaviour>(); roof = GameObject.FindGameObjectWithTag("roof"); }
void OnTriggerEnter(Collider col) { if (col.tag == "Door") { Debug.Log("Enemy Open Door"); DoorBehaviour doorScript = col.GetComponent <DoorBehaviour>(); doorScript.interactDoor(); } }
public void MoveToDoor(Vector3 myTouch, Transform[] doorPoints, DoorBehaviour selectedDoor) { isMovingToDoor = true; currentDoor = selectedDoor; for (int i = 0; i < operatorList.Length; i++) { //operatorList[i].GetComponent<NavMeshAgent>().SetDestination(myTouch); operatorList[i].GetComponent <NavMeshAgent>().SetDestination(doorPoints[i].position); } }
public void Antebellum(InputAction.CallbackContext obj) { if (canAntebellum) { canAntebellum = false; //Passe en Antebellum activeState = GameState.Antebellum; onStateChange.Invoke(GameState.Antebellum); DoorBehaviour.DoorClose(); //Compte à rebours avant la partie Bellum StartCoroutine(CountdownAntebellum()); } }
// when the GameObjects collider arrange for this GameObject to travel to the left of the screen void OnTriggerEnter2D(Collider2D col) { if (col.gameObject.tag.Equals("Door")) { // It's a door! DoorBehaviour doorBehaviour = col.gameObject.GetComponent <DoorBehaviour>(); doorBehaviour.OpenScene(); } else { Debug.Log("Else: " + col.gameObject.tag); Debug.Log(col.gameObject.name); } }
public void Kicking(DoorBehaviour doorObject) { if (!_player.IsKicking && !_player.IsBreakingArm) { _currCollidedDoor = doorObject; _rigidbody2d.velocity = new Vector2(0, 0); _player.AllowMovement = false; _player.Speed = 0; _playerHorizontalInput = 0; _animator.SetFloat("Speed", _player.Speed); _player.IsKicking = true; _animator.SetBool("IsKicking", _player.IsKicking); } }
private void OnTriggerEnter(Collider col) { if (col.gameObject.CompareTag("Door")) { for (int i = 0; i < playerPickups.Keys.Count; i++) { Door = col.gameObject.GetComponentInParent <DoorBehaviour>(); if (playerPickups.Keys[i] == Door.requiredKey) { playerPickups.Keys.Remove(playerPickups.Keys[i]); Door.doorsLocked = false; return; } } } }
public void ChangingChamber(DoorBehaviour door) { if (player.GetComponent <PlayerPlatformController>().GetInputActivated()) { player.GetComponent <PlayerPlatformController>().SetInputActivated(false); //player.GetComponent<CapsuleCollider2D>().gameObject.SetActive(false); mainCamera.GetComponent <CameraBehaviour>().SetFollowTarget(false); //.GetComponent<CameraBehaviour>().SetBoundaries(door.nextChamber); if (door.doorType % 2 == 0) //Es front door o back door { StartCoroutine(FadeIn(0.5f, true, door)); } else { player.GetComponent <PlayerPlatformController>().MoveToLeftRightChamber(door); mainCamera.GetComponent <CameraBehaviour>().MoveToLeftRightChamber(door); } } }
private void Awake() { if (instance == null) { instance = this; //获取所有敌人Spawn Point GameObject[] spawnPointObj = GameObject.FindGameObjectsWithTag("enemy_spawn"); spawnPoints = new SpawnPointManager[spawnPointObj.Length]; for (int i = 0; i < spawnPointObj.Length; i++) { spawnPoints[i] = spawnPointObj[i].GetComponent <SpawnPointManager>(); if (spawnPoints[i] == null) { Debug.LogWarning(spawnPointObj[i].name + " is not a spawn point!"); } } //获取玩家SpawnPoint GameObject playerSpawnObj = GameObject.FindGameObjectWithTag("player_spawn"); if (playerSpawnObj != null) { playerSpawn = playerSpawnObj.GetComponent <SpawnPointManager>(); } else { Debug.LogWarning("This scene doesn't have player!"); } sceneChange = GetComponentInChildren <Change_Scene>(); door = GetComponentInChildren <DoorBehaviour>(); deathUI.SetActive(false); } else { Destroy(this); } }
public void Open() { if (LinkedDoor == null) { // Worst case scenario, we check all the neightbor rooms (4) and all their rooms (4) aka. 16 iterations. foreach (var neighbor in Room.Node.neighbors) { foreach (var door in neighbor.doors) { // There is probably a better way to do this.. honestly if (Vector3.Distance(door.transform.position, transform.position) < 3f) { //Debug.Log("Bingo."); LinkedDoor = door; } } } // Provide a reference to ourselves in the neighboring door LinkedDoor.LinkedDoor = this; } LinkedDoor.IsOpen = !IsOpen; IsOpen = !IsOpen; }
public void MoveToLeftRightChamber(DoorBehaviour door) { Vector3 finalPosition = new Vector3(door.nextDoor.cameraPosition.position.x, GetComponent <Transform>().position.y, GetComponent <Transform>().position.z); StartCoroutine(InterpolatePositionChangingChamber(finalPosition, door.nextDoor.chamber.GetCameraSize(), 0.5f)); }
void Start() { db = transform.parent.GetComponent <DoorBehaviour>(); }
public void ChangeRoom(DoorBehaviour door) { if (door.doorLocation == DoorLocation.Top) { GameObject _newRoom = null; //disable player script pB.enabled = false; //check if there's not already a room on top of this one bool _roomAlreadyThere = false; for (int i = 0; i < gm.spawnedRooms.Count; i++) { if (gm.spawnedRooms[i].transform.position == transform.position + new Vector3(0, 20, 0)) { _roomAlreadyThere = true; _newRoom = gm.spawnedRooms[i]; _newRoom.SetActive(true); RoomManager nrRM = _newRoom.GetComponent <RoomManager>(); nrRM.doorOn = false; nrRM.justEntered = true; nrRM.StartCoroutine(nrRM.doorCooldown()); } } //spawn room on top of this one with a bottom door if (!_roomAlreadyThere) { int randomRoomType = Random.Range(0, 8); GameObject[] randomRoomTypeArray = gm.topRooms[randomRoomType]; int randomRoom = Random.Range(0, randomRoomTypeArray.Length); _newRoom = Instantiate(randomRoomTypeArray[randomRoom], transform.position + new Vector3(0, 20, 0), Quaternion.identity, transform.parent); gm.spawnedRooms.Add(_newRoom); gm.AddNewGridGraph(transform.position + new Vector3(0, 20, 0)); } //update camera mainCamera.transform.position += new Vector3(0, 20, 0); //move player to bottom door of new room (with offset) pB.transform.position = _newRoom.GetComponent <RoomManager>().downEntrance.transform.position + new Vector3(0, 0.5f, 0); //enable player script pB.enabled = true; } else if (door.doorLocation == DoorLocation.Right) { GameObject _newRoom = null; //disable player script pB.enabled = false; //check if there's not already a room on top of this one bool _roomAlreadyThere = false; for (int i = 0; i < gm.spawnedRooms.Count; i++) { if (gm.spawnedRooms[i].transform.position == transform.position + new Vector3(13, 0, 0)) { _roomAlreadyThere = true; _newRoom = gm.spawnedRooms[i]; _newRoom.SetActive(true); RoomManager nrRM = _newRoom.GetComponent <RoomManager>(); nrRM.doorOn = false; nrRM.justEntered = true; nrRM.StartCoroutine(nrRM.doorCooldown()); } } //spawn room on top of this one with a bottom door if (!_roomAlreadyThere) { int randomRoomType = Random.Range(0, 8); GameObject[] randomRoomTypeArray = gm.rightRooms[randomRoomType]; int randomRoom = Random.Range(0, randomRoomTypeArray.Length); _newRoom = Instantiate(randomRoomTypeArray[randomRoom], transform.position + new Vector3(13, 0, 0), Quaternion.identity, transform.parent); gm.spawnedRooms.Add(_newRoom); gm.AddNewGridGraph(transform.position + new Vector3(13, 0, 0)); } //update camera mainCamera.transform.position += new Vector3(13, 0, 0); //move player to bottom door of new room (with offset) pB.transform.position = _newRoom.GetComponent <RoomManager>().leftEntrance.transform.position + new Vector3(0.5f, 0, 0); //enable player script pB.enabled = true; } else if (door.doorLocation == DoorLocation.Bottom) { GameObject _newRoom = null; //disable player script pB.enabled = false; //check if there's not already a room on top of this one bool _roomAlreadyThere = false; for (int i = 0; i < gm.spawnedRooms.Count; i++) { if (gm.spawnedRooms[i].transform.position == transform.position + new Vector3(0, -20, 0)) { _roomAlreadyThere = true; _newRoom = gm.spawnedRooms[i]; _newRoom.SetActive(true); RoomManager nrRM = _newRoom.GetComponent <RoomManager>(); nrRM.doorOn = false; nrRM.justEntered = true; nrRM.StartCoroutine(nrRM.doorCooldown()); } } //spawn room on top of this one with a bottom door if (!_roomAlreadyThere) { int randomRoomType = Random.Range(0, 8); GameObject[] randomRoomTypeArray = gm.bottomRooms[randomRoomType]; int randomRoom = Random.Range(0, randomRoomTypeArray.Length); _newRoom = Instantiate(randomRoomTypeArray[randomRoom], transform.position + new Vector3(0, -20, 0), Quaternion.identity, transform.parent); gm.spawnedRooms.Add(_newRoom); gm.AddNewGridGraph(transform.position + new Vector3(0, -20, 0)); } //update camera mainCamera.transform.position += new Vector3(0, -20, 0); //move player to bottom door of new room (with offset) pB.transform.position = _newRoom.GetComponent <RoomManager>().topEntrance.transform.position + new Vector3(0, -0.5f, 0); //enable player script pB.enabled = true; } else if (door.doorLocation == DoorLocation.Left) { GameObject _newRoom = null; //disable player script pB.enabled = false; //check if there's not already a room on top of this one bool _roomAlreadyThere = false; for (int i = 0; i < gm.spawnedRooms.Count; i++) { if (gm.spawnedRooms[i].transform.position == transform.position + new Vector3(-13, 0, 0)) { _roomAlreadyThere = true; _newRoom = gm.spawnedRooms[i]; _newRoom.SetActive(true); RoomManager nrRM = _newRoom.GetComponent <RoomManager>(); nrRM.doorOn = false; nrRM.justEntered = true; nrRM.StartCoroutine(nrRM.doorCooldown()); } } //spawn room on top of this one with a bottom door if (!_roomAlreadyThere) { int randomRoomType = Random.Range(0, 8); GameObject[] randomRoomTypeArray = gm.leftRooms[randomRoomType]; int randomRoom = Random.Range(0, randomRoomTypeArray.Length); _newRoom = Instantiate(randomRoomTypeArray[randomRoom], transform.position + new Vector3(-13, 0, 0), Quaternion.identity, transform.parent); gm.spawnedRooms.Add(_newRoom); gm.AddNewGridGraph(transform.position + new Vector3(-13, 0, 0)); } //update camera mainCamera.transform.position += new Vector3(-13, 0, 0); //move player to bottom door of new room (with offset) pB.transform.position = _newRoom.GetComponent <RoomManager>().rightEntrance.transform.position + new Vector3(-0.5f, 0, 0); //enable player script pB.enabled = true; } //gameObject.SetActive(false); }
// Use this for initialization void Start() { m_DoorBehaviour = transform.parent.gameObject.GetComponent <DoorBehaviour>(); }
IEnumerator InterpolatePositionChangingChamber(float time, Vector2 finalPosition, DoorBehaviour door) { float elapsedTime = 0.0f; Vector2 initialPosition = GetComponent <Transform>().position; while (elapsedTime < time) { elapsedTime += Time.deltaTime; GetComponent <Transform>().position = Vector2.Lerp(initialPosition, finalPosition, elapsedTime / time); yield return(null); } GetComponent <Transform>().position = finalPosition; Blink(true); GetComponent <CapsuleCollider2D>().enabled = true; SetInputActivated(true); door.TurnOnTurnOff(); }
//Set Animation Flags void AnimationControl() { //TESTE------------------------------------------------------------ if (Input.GetKeyDown(KeyCode.H)) { Alarm alarm_script = GameObject.Find("Alarm").GetComponent <Alarm>(); if (!alarm_script.alarmOn) { alarm_script.StartAlarm(); } else { alarm_script.StopAlarm(); } } //------------------------------------------------------------ //Open Door if (onDoor && Input.GetKeyDown(KeyCode.F)) { if (targetDoor.tag == "Door") { DoorBehaviour doorScript = targetDoor.GetComponent <DoorBehaviour>(); doorScript.interactDoor(); onDoor = false; } if (targetDoor.tag == "DoorTimer") { DoorBehaviour script; GameObject parent; parent = targetDoorButton.transform.parent.gameObject; script = parent.transform.Find("Door").GetComponent <DoorBehaviour>(); script.openDoor(); } } if (onButton && Input.GetKeyDown(KeyCode.F)) { DoorBehaviour script; GameObject parent; // Debug.Log(targetDoorButton.name); parent = targetDoorButton.transform.parent.gameObject; Debug.Log(parent.name); script = parent.transform.Find("Door").GetComponent <DoorBehaviour>(); script.pressButton(); } //Get Watch if (onWatch && Input.GetKeyDown(KeyCode.F)) { GameObject watch = GameObject.FindGameObjectWithTag("Watch"); Destroy(watch); onWatch = false; GameObject cont = GameObject.Find("GameController"); Controller script = cont.GetComponent <Controller>(); script.pickSatellite(); hasSatellite = true; } //Running Jump //if (controller.isGrounded) //{ // if (Input.GetKey(KeyCode.W) && Input.GetKey(KeyCode.LeftShift) && Input.GetKeyDown(KeyCode.Space)) // { // anim.SetTrigger("isRunningJump"); // translation.y = 1000; // //Debug.Log("Jumped"); // } //} //else if (!controller.isGrounded) //{ // //Debug.Log("Not on Ground"); //} //Crouch if (Input.GetKeyDown(KeyCode.LeftControl)) { // controller.height = 7; //controller.center = crouchCapsuleCenter; anim.SetBool("isCrouching", true); anim.SetBool("isCrouch", true); } else if (Input.GetKeyUp(KeyCode.LeftControl)) { controller.height = 12.5f; //controller.center = capsuleCenter; anim.SetBool("isCrouchWalking", false); anim.SetBool("isCrouching", false); anim.SetBool("isCrouch", false); } //Crouch Walking if (Input.GetKey(KeyCode.W) && Input.GetKey(KeyCode.LeftControl)) { anim.SetBool("isCrouchWalking", true); } else if (Input.GetKey(KeyCode.W) && Input.GetKeyUp(KeyCode.LeftControl)) { anim.SetBool("isCrouchWalking", false); anim.SetBool("isCrouching", false); anim.SetBool("isCrouch", false); } else if (Input.GetKeyUp(KeyCode.W) && Input.GetKey(KeyCode.LeftControl)) { anim.SetBool("isCrouchWalking", false); anim.SetBool("isCrouching", false); anim.SetBool("isCrouch", true); } //Walk if (translation.z != 0 && Input.GetKey(KeyCode.W)) { if (footsteps1_pressed) { footsteps1.Play(); footsteps1_pressed = false; } anim.SetBool("isWalking", true); speed = speedWalk; } else { footsteps1.Stop(); footsteps1_pressed = true; anim.SetBool("isWalking", false); } //Run if (translation.z != 0 && Input.GetKey(KeyCode.W) && Input.GetKey(KeyCode.LeftShift)) { if (footsteps_run1_pressed) { // footsteps1.clip = footsteps_run1_clip; footsteps1.Pause(); footsteps_run1.Play(); footsteps_run1_pressed = false; } anim.SetBool("isRunning", true); speed = speedRun; } else { footsteps_run1.Stop(); footsteps1.UnPause(); footsteps_run1_pressed = true; anim.SetBool("isRunning", false); } }
public void Init(DoorBehaviour doorBehaviour) { this.doorBehaviour = doorBehaviour; col = GetComponent <Collider2D>(); }
// Token: 0x060011C5 RID: 4549 RVA: 0x0000C573 File Offset: 0x0000A773 public void SetDoorLogic(DoorBehaviour logic) { this._doorLogic = logic; }
// Start is called before the first frame update void Start() { doorObj = GameObject.Find("DoorObj"); doorBehave = doorObj.GetComponent <DoorBehaviour>(); }
// Use this for initialization void Start() { door = GetComponentInChildren<DoorBehaviour> (); doorRb = GetComponentInChildren<Rigidbody2D> (); button = GetComponentInChildren<ButtonBehaviour> (); }
IEnumerator Tweening(DoorBehaviour front, DoorBehaviour back) { camera.GetComponent <CameraBehaviour>().target = back.gameObject; main_camera.GetComponent <CameraBehaviour>().target = front.gameObject; RoomScript frontRoom = front.GetComponentInParent <RoomScript>(); player.GetComponent <PlayerMovement>().enabled = false; player.GetComponent <PlayerInteractions>().enabled = false; float alpha = 0.0f; float offset = 0.0f; for (float i = 0.0f; i <= 1.0f; i += 0.025f) { alpha = i; if (!frontDoor) { alpha = 1 - i; } offset = alpha * frontRoom.depth; main_camera.GetComponent <CameraBehaviour>().ZOffset = offset; camera.GetComponent <CameraBehaviour>().ZOffset = offset - frontRoom.depth; tweenBehaviour.SetAlpha(alpha); yield return(null); } main_camera.GetComponent <CameraBehaviour>().target = player; main_camera.GetComponent <CameraBehaviour>().ZOffset = 0.0f; yield return(null); tweenBehaviour.SetAlpha(0.0f); player.GetComponent <PlayerMovement>().enabled = true; player.GetComponent <PlayerInteractions>().enabled = true; RoomScript oldRoom; RoomScript newRoom; if (frontDoor) { oldRoom = frontRoom; newRoom = back.GetComponentInParent <RoomScript>(); } else { oldRoom = back.GetComponentInParent <RoomScript>(); newRoom = frontRoom; } if (newRoom != GetComponentInParent <RoomScript>()) { foreach (Renderer renderer in oldRoom.GetComponentsInChildren <Renderer>()) { renderer.enabled = false; } } }