private void Update() { if (Lock) { return; } if (FloorManager.GetFloorIndex() < FloorManager.GetFirstFloorIndex()) { ChangeMusic(Intro); } else if (FloorManager.GetFloorIndex() > FloorManager.GetLastFloorIndex()) { ChangeMusic(Outro); } else { ChangeMusic(Level); } }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.tag == "Player") { StartCoroutine(DoorCloser()); IEnumerator DoorCloser() { if (ExitPos == null) { yield break; } PlayerBase.LockControls(true); MyAnim.SetBool("IsOpened", false); yield return(new WaitForSeconds(1f)); GameObject StartScreen = Resources.FindObjectsOfTypeAll <GameObject>() .Where((GameObject Obj) => Obj.name == "LevelStartScreen").First(); //Replace this shit BlackScreen.ShowScreen(StartScreen, 1, 3, () => { if (FloorManager.IsLevelCleared()) { FloorManager.SetFloor(FloorManager.GetFloorIndex() + 1); } else { FloorManager.SetFloor(FloorManager.GetFirstFloorIndex()); } collision.transform.position = ExitPos.position; VehicleTrigger.Closed = true; }, () => { PlayerBase.LockControls(false); }); } } }
public void ElevatorClosedOrOpened() { Debug.Log("Elevator working"); if (!IsElevatorClosed) { if (FloorManager.IsLevelStarted()) { //Проработать механику, подробнее в Tooltip int FloorToSet = FloorManager.GetFloorIndex() + 1; if (FloorToSet > FloorManager.GetLastFloorIndex()) { FloorToSet = FloorManager.GetFirstFloorIndex(); enabled = false; } FloorManager.SetFloor(FloorToSet); } else { FloorManager.SetFloor(ToFloor); } MyAnim.Sprites = MyAnim.Sprites.Reverse().ToArray(); IsElevatorClosed = true; Debug.Log("Elevator closed"); StartCoroutine(SlowPlayer()); } else { MyAnim.Sprites = MyAnim.Sprites.Reverse().ToArray(); PlayerBase.LockControls(false); IsElevatorClosed = false; Debug.Log("Elevator opened"); } IEnumerator SlowPlayer() { yield return(new WaitForSeconds(0.5f)); MyAnim.Play(); } }