Beispiel #1
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (ToFloor != FloorManager.GetFloorIndex() || FloorManager.IsLevelStarted())
     {
         BlackScreen.FadeInOut(MyAnim.FrameTime * MyAnim.Sprites.Length);
         PlayerBase.LockControls(true);
         MyAnim.Play();
     }
 }
    private void Update()
    {
        if (Lock)
        {
            return;
        }

        if (FloorManager.GetFloorIndex() < FloorManager.GetFirstFloorIndex())
        {
            ChangeMusic(Intro);
        }
        else if (FloorManager.GetFloorIndex() > FloorManager.GetLastFloorIndex())
        {
            ChangeMusic(Outro);
        }
        else
        {
            ChangeMusic(Level);
        }
    }
Beispiel #3
0
    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);
                });
            }
        }
    }
Beispiel #4
0
    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();
        }
    }
 void ResetFloor()
 {
     FloorManager.SetFloor(FloorManager.GetFloorIndex());
 }