private void OnTriggerExit(Collider other) { CameraBlock camBlock = other.GetComponent <CameraBlock>(); if (camBlock != null) { if (currentCameraBlock == camBlock) { currentCameraBlock = null; } return; } if (other.GetComponent <SpatialSas>() != null) { currentSpatialSas = null; float zOffset = Mathf.Infinity; foreach (SpatialLine sl in currentSpatialRoom._spatialLines) { if (sl.begin.position.x <= transform.position.x && sl.end.position.x >= transform.position.x) { float offset = Mathf.Abs(sl.begin.position.z - transform.position.z); if (offset < zOffset) { zOffset = offset; currentSpatialLine = sl; isChangingSpatialLine = true; changingLineDirection = (sl.begin.position.z - transform.position.z) > 0 ? 1 : -1; } } } return; } if (other.CompareTag("Hideout")) { isHidden = false; } else if (other.CompareTag("Metal_Casier")) { overrideSurface = false; } else if (other.CompareTag("NeedsCentering")) { needsCentering = false; } else if (other.CompareTag("Elevator")) { Elevator elevator = other.GetComponent <Elevator>(); if (elevator != null) { isInElevator = false; elevator.isPlayerOnBoard = false; } } else if (other.CompareTag("DetectZone")) { Enemy e = other.GetComponentInParent <Enemy>(); e.DetectPlayer(false); } }
private void OnTriggerEnter(Collider other) { CameraBlock cameraBlock = other.GetComponent <CameraBlock>(); if (cameraBlock != null) { if (cameraBlock == currentCameraBlock) { return; } if (currentCameraBlock != null) { StartCoroutine(CameraBlockChangesCoroutine()); } currentCameraBlock = cameraBlock; CameraBlockChanges(); return; } SpatialSas spatialSas = other.GetComponent <SpatialSas>(); if (spatialSas != null) { currentSpatialSas = spatialSas; currentSpatialLine = spatialSas.spatialLine; isChangingSpatialLine = true; changingLineDirection = 1; return; } SpatialRoom spatialRoom = other.GetComponent <SpatialRoom>(); if (spatialRoom != null) { currentSpatialRoom = spatialRoom; if (currentSpatialSas == null) { chooseNearestSpatialLine(); } return; } else if (other.CompareTag("TriggerBipede")) { if (!triggerBipede) { triggerBipede = true; AkSoundEngine.PostEvent(GameManager.instance.triggerBipede1Sound, GameManager.instance.gameObject); } } else if (other.CompareTag("TriggerPorte")) { other.GetComponent <TriggerPorte>().SetSpeed(); } else if (other.CompareTag("Metal_Casier")) { overrideSurface = true; } else if (other.CompareTag("Hideout")) { isHidden = true; } else if (other.CompareTag("DetectZone")) { Enemy e = other.GetComponentInParent <Enemy>(); //e.DetectPlayer(true); //print("COLLISION ARAIGNEE"); } else if (other.CompareTag("Finish")) { AkSoundEngine.PostEvent("Stop_Random_Track1", GameManager.instance.gameObject); GameManager.instance.camHandler.DestroyTarget(); UIManager.instance.FadeInEnd(); } else if (other.CompareTag("Elevator")) { Elevator elevator = other.GetComponent <Elevator>(); if (elevator != null) { elevator.isPlayerOnBoard = true; elevator.StartMoving(); animator.SetBool("IsMoving", false); isInElevator = true; //print("elevator starts moving"); } } else if (other.CompareTag("NeedsCentering")) { needsCentering = true; } }