Exemplo n.º 1
0
        public override void Paint(Level level)
        {
            base.Paint(level);

            Painter.Rect(level, this, 1, Tile.GrannyWall);
            Painter.Fill(level, this, 2, Tile.GrannyFloor);

            PaintTunnel(level, Tile.GrannyFloor, GetCenterRect(), false, false, false);

            var granny = new Granny();

            level.Area.Add(granny);
            granny.BottomCenter = new Vector2(Left + GetWidth() / 2 + 0.5f, Top + 3) * 16;

            var count = Math.Ceiling((GetWidth() - 6) / 2f);
            var pool  = Items.GeneratePool(Items.GetPool(ItemPool.Granny));

            for (var i = 0; i < count; i++)
            {
                var stand = new GrannyStand();
                level.Area.Add(stand);
                stand.Center = new Vector2(Left + 3.5f + i * 2, Top + 4.5f) * 16;

                stand.SetItem(Items.CreateAndAdd(Items.GenerateAndRemove(pool), level.Area), null);
            }
        }
Exemplo n.º 2
0
        static void AddHero(List <string> LineOfCharacters, List <string> GetDataFromEnum, string p)
        {
            if (p == "Grandfather")
            {
                Grandfather grandfather = new Grandfather();
                if (CheckQueue(LineOfCharacters, p))
                {
                    Console.WriteLine(grandfather.Name);
                    grandfather.Action();
                    LineOfCharacters.Add("Grandfather");
                }
                else
                {
                    Console.WriteLine("Дед уже тянет");
                    return;
                }
            }
            else if (p == "Granny")
            {
                if (CheckQueue(LineOfCharacters, p))
                {
                    Granny granny = new Granny();
                    granny.Action();
                    LineOfCharacters.Add("Granny");
                }

                else
                {
                    Console.WriteLine("Бабка уже тянет");
                    return;
                }
            }
            else if (p == "Granddaughet")
            {
                if (CheckQueue(LineOfCharacters, p))
                {
                    Granddaughter granddaughter = new Granddaughter();
                    Console.WriteLine(granddaughter.Name);
                    granddaughter.Action();
                    LineOfCharacters.Add("Granddaughet");
                }
                else
                {
                    Console.WriteLine("Внучка уже тянет");
                    return;
                }
            }
            else if (p == "Dog")
            {
                if (CheckQueue(LineOfCharacters, p))
                {
                    Dog dog = new Dog();
                    dog.Action();
                    LineOfCharacters.Add("Dog");
                }
                else
                {
                    Console.WriteLine("Жучка уже тянет");
                    return;
                }
            }
            else if (p == "Cat")
            {
                if (CheckQueue(LineOfCharacters, p))
                {
                    Cat cat = new Cat();
                    cat.Action();
                    LineOfCharacters.Add("Cat");
                }
                else
                {
                    Console.WriteLine("Кошка уже тянет");
                    return;
                }
            }
            else if (p == "Mouse")
            {
                if (CheckQueue(LineOfCharacters, p))
                {
                    Mouse mouse = new Mouse();
                    mouse.Action();
                    LineOfCharacters.Add("Mouse");
                }
                else
                {
                    Console.WriteLine("Мышка уже тянет");
                    return;
                }
            }
            else
            {
                Console.WriteLine("Точно не поможет");
                return;
            }
        }
Exemplo n.º 3
0
    private void ShowTrainingStep(int step)
    {
        switch (step)
        {
            case 0:
                if (IsTrainingFinished())
                {
                    gameObject.SetActive(false);
                    return;
                }
                _benches = GameObject.Find("benches");
                _benches.SetActive(false);
                _isBonusDropEnabled = false;
                _doorsTimer.SetActive(false);
                _ticketsCounter.SetActive(false);
                _haresCounter.SetActive(false);
                _killedCounter.SetActive(false);
                _lifes.SetActive(false);
                _bonusSelectWindow.SetActive(false);
                _isPassengerClickAllowed = false;
                _centralWayout.SetActive(false);
                _centralWayoutSprite.SetActive(false);
                _bonusesUI.SetActive(false);
                _megabonusUI.SetActive(false);
                _bonusButton.SetVisible(false);
                Time.timeScale = 0;
                _doorsTimerController.SetMoveAndStopDuration(3, 1);
                _doorsTimerController.SetMovementLocked(true);
                _fullConductorWindow.DisplayText(StringResources.GetLocalizedString("Training1"), false);
                break;
            case 1:
                _fullConductorWindow.DisplayTextWithImage(StringResources.GetLocalizedString("Training2"), Resources.Load<Sprite>("Sprites/training/training1"), false);
                break;
            case 2:
                _fullConductorWindow.DisplayText(StringResources.GetLocalizedString("Training3"), true);
                break;
            case 3:
                Time.timeScale = 1;
                SpawnPassengerFromRandomDoor("gnome", Spawner.TicketAdditionMode.WithTicket);
                StartCoroutine(WaitAndMoveNext(2));
                break;
            case 4:
                Time.timeScale = 0;
                _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training4"), true);
                GameObject gnomeObject = GameObject.Find("gnome(Clone)");
                _gnomePassenger = gnomeObject.GetComponent<Gnome>();
                _gnomePassenger.SetAttackEnabled(false);
                _gnomePassenger.SetFlyAwayDenied(true);
                _gnomePassenger.SetDragDenied(true);
                DisplayArrowForPassenger(_gnomePassenger);
                _isPassengerClickAllowed = true;
                break;
            case 5:
                Time.timeScale = 1;
                _ticketsCounter.SetActive(true);
                break;
            case 6:
                Time.timeScale = 0;
                Destroy(_activeArrow);
                _doorsTimer.SetActive(true);
                _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training5"), true);
                break;
            case 7:
                Time.timeScale = 1;
                _doorsTimerController.SetMovementLocked(false);
                StartCoroutine(WaitAndMoveNext(2));
                break;
            case 8:
                SpawnPassengerFromRandomDoor("bird", Spawner.TicketAdditionMode.WithoutTicket);
                GameObject bird = GameObject.Find("bird(Clone)");
                _birdPassenger = bird.GetComponent<Bird>();
                _birdPassenger.SetFlyAwayDenied(true);
                _birdPassenger.SetAttackEnabled(false);
                _birdPassenger.SetRunawayDenied(true);
                DisplayArrowForPassenger(_birdPassenger);
                _doorsTimerController.SetMovementLocked(true);
                break;
            case 9:
                Time.timeScale = 0;
                Destroy(_activeArrow);
                _doorsTimer.SetActive(true);
                _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training6"), true);
                break;
            case 10:
                _centralWayout.SetActive(true);
                _centralWayoutSprite.SetActive(true);
                DisplayArrow(_centralWayout);
                Time.timeScale = 1;
                _floor.AddDragCenterListner(_birdPassenger.name);
                break;
            case 11:
                Time.timeScale = 0;
                Destroy(_activeArrow);
                _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training7"), true);
                break;
            case 12:
                Time.timeScale = 1;
                _birdPassenger.SetRunawayDenied(false);
                _birdPassenger.SetFlyAwayDenied(false);
                _birdPassenger.ActivateFlyAwayListener();
                _haresCounter.SetActive(true);
                break;
            case 13:
                Time.timeScale = 0;
                _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training8"), true);
                break;
            case 14:
                _doorsTimerController.SetMoveAndStopDuration(3, 5);
                Time.timeScale = 1;
                _doorsTimerController.SetMovementLocked(false);
                _goAwayDoorIndex = Randomizer.GetInRange(0, _doors.Length);
                _gnomePassenger.SetAlwaysStickForTraining();
                _gnomePassenger.StartGoAway();
                StartCoroutine(WaitAndMoveNext(2.9f));
                break;
            case 15:
                _doors[(_goAwayDoorIndex)].Open(false);
                break;
            case 16:
                Time.timeScale = 0;
                _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training9"), true);
                break;
            case 17:
                Time.timeScale = 1;
                break;
            case 18:
                Time.timeScale = 0;
                _shortConductorWindow.DisplayText(StringResources.GetLocalizedString(_isGnomeSurvived ? "Training10" : "Training11"), true);
                break;
            case 19:
                Time.timeScale = 1;
                _doors[(_goAwayDoorIndex)].Close();
                _doorsTimerController.Unstick();
                StartCoroutine(WaitAndMoveNext(_doorsTimerController.GetCurrentRemainingTime() + 3));
                break;
            case 20:
                _goAwayDoorIndex = Randomizer.GetInRange(0, _doors.Length);
                _doorsTimerController.OpenDoors();

                int index = Randomizer.GetInRange(0, _doors.Length);
                _doors[index].OpenAndSpawnByName("granny", Spawner.TicketAdditionMode.WithTicket);
                index = Randomizer.GetInRange(0, _doors.Length);
                _doors[index].OpenAndSpawnByName("cat", Spawner.TicketAdditionMode.WithoutTicket);
                StartCoroutine(WaitAndMoveNext(0.1f));
                break;
            case 21:
                _doorsTimerController.SetMovementLocked(true);
                GameObject grannyObject = GameObject.Find("granny(Clone)");
                _grannyPassenger = grannyObject.GetComponent<Granny>();
                GameObject catObject = GameObject.Find("cat(Clone)");

                _catPassenger = catObject.GetComponent<Cat>();
                _catPassenger.SetMaximumAttackProbabilityForTraining();
                _grannyPassenger.SetMaximumAttackProbabilityForTraining();
                _grannyPassenger.SetConductorAttackDenied(true);
                _catPassenger.SetConductorAttackDenied(true);
                _catPassenger.SetFlyAwayDenied(true);
                _grannyPassenger.SetFlyAwayDenied(true);
                _catPassenger.SetHalfImmortal(true);
                _grannyPassenger.SetHalfImmortal(true);
                _hero = GameObject.Find("hero").GetComponent<ConductorSM>();
                _hero.SetHalfImmortal(true);
                break;
            case 22:
                _grannyPassenger.DisableAttackListener();
                _catPassenger.DisableAttackListener();
                if (_attackedPassenger != null)
                {
                    DisplayArrowForPassenger((PassengerSM)_attackedPassenger);
                }
                break;
            case 23:
                Time.timeScale = 0;
                Destroy(_activeArrow);
                _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training12"), false);
                break;
            case 24:
                _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training13"), false);
                break;
            case 25:
                _grannyPassenger.SetDragListenerEnabled(true);
                _catPassenger.SetDragListenerEnabled(true);
                _killedCounter.SetActive(true);
                _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training14"), true);
                break;
            case 26:
                Time.timeScale = 1;
                _catPassenger.AttackTarget = _grannyPassenger;
                break;
            case 27:
                _grannyPassenger.SetDragListenerEnabled(false);
                _grannyPassenger.SetCounterAttackProbability(0);
                _catPassenger.SetDragListenerEnabled(false);
                _catPassenger.SetConductorAttackDenied(false);
                _catPassenger.SetPassengerAttackDenied(true);
                _hero.SetAttackListenerActivated();
                _catPassenger.AttackTarget = _hero;
                break;
            case 28:
                StartCoroutine(WaitAndMoveNext(1));
                break;
            case 29:
                Time.timeScale = 0;
                _lifes.SetActive(true);
                _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training15"), true);
                _catPassenger.SetFlyAwayDenied(false);
                _isBonusDropEnabled = true;
                _catPassenger.IncreaseBonusProbability();
                break;
            case 30:
                DisplayArrowForPassenger(_catPassenger);
                Time.timeScale = 1;
                break;
            case 31:
                Destroy(_activeArrow);
                _bonusTimer.ActivateDropListener();
                break;
            case 32:
                StartCoroutine(WaitAndMoveNext(1));
                break;
            case 33:
                Time.timeScale = 0;
                _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training16"), true);
                break;
            case 34:
                Time.timeScale = 1;
                _bonusTimer.ActivateDropListener();
                break;
            case 35:
                Time.timeScale = 0;
                _bonusesUI.SetActive(true);
                _megabonusUI.SetActive(true);
                _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training17"), false);
                break;
            case 36:
                _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training18"), true);
                break;
            case 37:
                Time.timeScale = 1;
                _doorsTimerController.SetMoveAndStopDuration(3, 7);
                _doorsTimerController.OpenDoors();
                _doorsTimerController.SetMovementLocked(false);
                _grannyPassenger.SetStickProbability(0);
                _grannyPassenger.StartGoAway();
                _grannyPassenger.IncreaseGoAwayVelocity();
                _grannyPassenger.SetDragDenied(true);
                _goAwayDoorIndex = Randomizer.GetInRange(0, _doors.Length);
                _doors[(_goAwayDoorIndex)].Open(false);
                _grannyPassenger.IncrementStationCount();
                StartCoroutine(WaitAndMoveNext(_doorsTimerController.GetCurrentRemainingTime() + 3));
                break;
            case 38:
                _doorsTimerController.OpenDoors();
                SpawnPassengerFromRandomDoor("alien", Spawner.TicketAdditionMode.WithTicket);
                SpawnPassengerFromRandomDoor("alien", Spawner.TicketAdditionMode.WithTicket);
                StartCoroutine(WaitAndMoveNext(1));
                break;
            case 39:
                _doorsTimerController.SetMovementLocked(true);
                Time.timeScale = 0;
                _benches.SetActive(true);
                DisplayArrow(_benches);
                _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training19"), true);
                break;
            case 40:
                Destroy(_activeArrow);
                Time.timeScale = 1;
                _benchArray = FindObjectsOfType<Bench>();
                foreach (var bench in _benchArray)
                {
                    bench.SetCheckState(false);
                }
                _aliens = FindObjectsOfType<Alien>();
                foreach (var alien in _aliens)
                {
                    alien.SetFlyAwayDenied(true);
                    alien.SetSitListenerActivated(true);
                }
                break;
            case 41:
                foreach (var alien in _aliens)
                {
                    alien.SetSitListenerActivated(false);
                }
                _hero.SetHalfImmortal(false);
                Time.timeScale = 0;
                _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training20"), true);
                foreach (var bench in _benchArray)
                {
                    bench.SetCheckState(true);
                }
                break;
            case 42:
                Time.timeScale = 1;
                _doorsTimerController.SetStationCountListener(3);
                _doorsTimerController.SetMovementLocked(false);
                _doorsTimerController.DisableTrainingMode();
                break;
            case 43:
                PassengerSM[] passengers = FindObjectsOfType<PassengerSM>();
                foreach (var passengerSm in passengers)
                {
                    passengerSm.StartGoAway();
                    passengerSm.IncreaseGoAwayVelocity();
                }
                _doorsTimerController.DisableSpawn();
                _doorsTimerController.SetStationCountListener(2);
                break;
            case 44:
                _shortConductorWindow.ForceHide();
                Time.timeScale = 0;
                _fullConductorWindow.DisplayTextWithImage(StringResources.GetLocalizedString("Training21"), Resources.Load<Sprite>("Sprites/training/training2"), false, true);
                break;
            case 45:
                PlayerPrefs.SetString(TrainingKey, TrainingKey);
                SceneManager.LoadSceneAsync("MainMenu");
                break;
        }
        _isRefreshInProgress = false;
    }
Exemplo n.º 4
0
 private void Grandmom_pressed(object sender, TappedRoutedEventArgs e)
 {
     Granny.Play();
 }
Exemplo n.º 5
0
    private void ShowTrainingStep(int step)
    {
        switch (step)
        {
        case 0:
            if (IsTrainingFinished())
            {
                gameObject.SetActive(false);
                return;
            }
            _benches = GameObject.Find("benches");
            _benches.SetActive(false);
            _isBonusDropEnabled = false;
            _doorsTimer.SetActive(false);
            _ticketsCounter.SetActive(false);
            _haresCounter.SetActive(false);
            _killedCounter.SetActive(false);
            _lifes.SetActive(false);
            _bonusSelectWindow.SetActive(false);
            _isPassengerClickAllowed = false;
            _centralWayout.SetActive(false);
            _centralWayoutSprite.SetActive(false);
            _bonusesUI.SetActive(false);
            _megabonusUI.SetActive(false);
            _bonusButton.SetVisible(false);
            Time.timeScale = 0;
            _doorsTimerController.SetMoveAndStopDuration(3, 1);
            _doorsTimerController.SetMovementLocked(true);
            _fullConductorWindow.DisplayText(StringResources.GetLocalizedString("Training1"), false);
            break;

        case 1:
            _fullConductorWindow.DisplayTextWithImage(StringResources.GetLocalizedString("Training2"), Resources.Load <Sprite>("Sprites/training/training1"), false);
            break;

        case 2:
            _fullConductorWindow.DisplayText(StringResources.GetLocalizedString("Training3"), true);
            break;

        case 3:
            Time.timeScale = 1;
            SpawnPassengerFromRandomDoor("gnome", Spawner.TicketAdditionMode.WithTicket);
            StartCoroutine(WaitAndMoveNext(2));
            break;

        case 4:
            Time.timeScale = 0;
            _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training4"), true);
            GameObject gnomeObject = GameObject.Find("gnome(Clone)");
            _gnomePassenger = gnomeObject.GetComponent <Gnome>();
            _gnomePassenger.SetAttackEnabled(false);
            _gnomePassenger.SetFlyAwayDenied(true);
            _gnomePassenger.SetDragDenied(true);
            DisplayArrowForPassenger(_gnomePassenger);
            _isPassengerClickAllowed = true;
            break;

        case 5:
            Time.timeScale = 1;
            _ticketsCounter.SetActive(true);
            break;

        case 6:
            Time.timeScale = 0;
            Destroy(_activeArrow);
            _doorsTimer.SetActive(true);
            _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training5"), true);
            break;

        case 7:
            Time.timeScale = 1;
            _doorsTimerController.SetMovementLocked(false);
            StartCoroutine(WaitAndMoveNext(2));
            break;

        case 8:
            SpawnPassengerFromRandomDoor("bird", Spawner.TicketAdditionMode.WithoutTicket);
            GameObject bird = GameObject.Find("bird(Clone)");
            _birdPassenger = bird.GetComponent <Bird>();
            _birdPassenger.SetFlyAwayDenied(true);
            _birdPassenger.SetAttackEnabled(false);
            _birdPassenger.SetRunawayDenied(true);
            DisplayArrowForPassenger(_birdPassenger);
            _doorsTimerController.SetMovementLocked(true);
            break;

        case 9:
            Time.timeScale = 0;
            Destroy(_activeArrow);
            _doorsTimer.SetActive(true);
            _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training6"), true);
            break;

        case 10:
            _centralWayout.SetActive(true);
            _centralWayoutSprite.SetActive(true);
            DisplayArrow(_centralWayout);
            Time.timeScale = 1;
            _floor.AddDragCenterListner(_birdPassenger.name);
            break;

        case 11:
            Time.timeScale = 0;
            Destroy(_activeArrow);
            _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training7"), true);
            break;

        case 12:
            Time.timeScale = 1;
            _birdPassenger.SetRunawayDenied(false);
            _birdPassenger.SetFlyAwayDenied(false);
            _birdPassenger.ActivateFlyAwayListener();
            _haresCounter.SetActive(true);
            break;

        case 13:
            Time.timeScale = 0;
            _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training8"), true);
            break;

        case 14:
            _doorsTimerController.SetMoveAndStopDuration(3, 5);
            Time.timeScale = 1;
            _doorsTimerController.SetMovementLocked(false);
            _goAwayDoorIndex = Randomizer.GetInRange(0, _doors.Length);
            _gnomePassenger.SetAlwaysStickForTraining();
            _gnomePassenger.StartGoAway();
            StartCoroutine(WaitAndMoveNext(2.9f));
            break;

        case 15:
            _doors[(_goAwayDoorIndex)].Open(false);
            break;

        case 16:
            Time.timeScale = 0;
            _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training9"), true);
            break;

        case 17:
            Time.timeScale = 1;
            break;

        case 18:
            Time.timeScale = 0;
            _shortConductorWindow.DisplayText(StringResources.GetLocalizedString(_isGnomeSurvived ? "Training10" : "Training11"), true);
            break;

        case 19:
            Time.timeScale = 1;
            _doors[(_goAwayDoorIndex)].Close();
            _doorsTimerController.Unstick();
            StartCoroutine(WaitAndMoveNext(_doorsTimerController.GetCurrentRemainingTime() + 3));
            break;

        case 20:
            _goAwayDoorIndex = Randomizer.GetInRange(0, _doors.Length);
            _doorsTimerController.OpenDoors();

            int index = Randomizer.GetInRange(0, _doors.Length);
            _doors[index].OpenAndSpawnByName("granny", Spawner.TicketAdditionMode.WithTicket);
            index = Randomizer.GetInRange(0, _doors.Length);
            _doors[index].OpenAndSpawnByName("cat", Spawner.TicketAdditionMode.WithoutTicket);
            StartCoroutine(WaitAndMoveNext(0.1f));
            break;

        case 21:
            _doorsTimerController.SetMovementLocked(true);
            GameObject grannyObject = GameObject.Find("granny(Clone)");
            _grannyPassenger = grannyObject.GetComponent <Granny>();
            GameObject catObject = GameObject.Find("cat(Clone)");

            _catPassenger = catObject.GetComponent <Cat>();
            _catPassenger.SetMaximumAttackProbabilityForTraining();
            _grannyPassenger.SetMaximumAttackProbabilityForTraining();
            _grannyPassenger.SetConductorAttackDenied(true);
            _catPassenger.SetConductorAttackDenied(true);
            _catPassenger.SetFlyAwayDenied(true);
            _grannyPassenger.SetFlyAwayDenied(true);
            _catPassenger.SetHalfImmortal(true);
            _grannyPassenger.SetHalfImmortal(true);
            _hero = GameObject.Find("hero").GetComponent <ConductorSM>();
            _hero.SetHalfImmortal(true);
            break;

        case 22:
            _grannyPassenger.DisableAttackListener();
            _catPassenger.DisableAttackListener();
            if (_attackedPassenger != null)
            {
                DisplayArrowForPassenger((PassengerSM)_attackedPassenger);
            }
            break;

        case 23:
            Time.timeScale = 0;
            Destroy(_activeArrow);
            _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training12"), false);
            break;

        case 24:
            _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training13"), false);
            break;

        case 25:
            _grannyPassenger.SetDragListenerEnabled(true);
            _catPassenger.SetDragListenerEnabled(true);
            _killedCounter.SetActive(true);
            _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training14"), true);
            break;

        case 26:
            Time.timeScale             = 1;
            _catPassenger.AttackTarget = _grannyPassenger;
            break;

        case 27:
            _grannyPassenger.SetDragListenerEnabled(false);
            _grannyPassenger.SetCounterAttackProbability(0);
            _catPassenger.SetDragListenerEnabled(false);
            _catPassenger.SetConductorAttackDenied(false);
            _catPassenger.SetPassengerAttackDenied(true);
            _hero.SetAttackListenerActivated();
            _catPassenger.AttackTarget = _hero;
            break;

        case 28:
            StartCoroutine(WaitAndMoveNext(1));
            break;

        case 29:
            Time.timeScale = 0;
            _lifes.SetActive(true);
            _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training15"), true);
            _catPassenger.SetFlyAwayDenied(false);
            _isBonusDropEnabled = true;
            _catPassenger.IncreaseBonusProbability();
            break;

        case 30:
            DisplayArrowForPassenger(_catPassenger);
            Time.timeScale = 1;
            break;

        case 31:
            Destroy(_activeArrow);
            _bonusTimer.ActivateDropListener();
            break;

        case 32:
            StartCoroutine(WaitAndMoveNext(1));
            break;

        case 33:
            Time.timeScale = 0;
            _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training16"), true);
            break;

        case 34:
            Time.timeScale = 1;
            _bonusTimer.ActivateDropListener();
            break;

        case 35:
            Time.timeScale = 0;
            _bonusesUI.SetActive(true);
            _megabonusUI.SetActive(true);
            _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training17"), false);
            break;

        case 36:
            _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training18"), true);
            break;

        case 37:
            Time.timeScale = 1;
            _doorsTimerController.SetMoveAndStopDuration(3, 7);
            _doorsTimerController.OpenDoors();
            _doorsTimerController.SetMovementLocked(false);
            _grannyPassenger.SetStickProbability(0);
            _grannyPassenger.StartGoAway();
            _grannyPassenger.IncreaseGoAwayVelocity();
            _grannyPassenger.SetDragDenied(true);
            _goAwayDoorIndex = Randomizer.GetInRange(0, _doors.Length);
            _doors[(_goAwayDoorIndex)].Open(false);
            _grannyPassenger.IncrementStationCount();
            StartCoroutine(WaitAndMoveNext(_doorsTimerController.GetCurrentRemainingTime() + 3));
            break;

        case 38:
            _doorsTimerController.OpenDoors();
            SpawnPassengerFromRandomDoor("alien", Spawner.TicketAdditionMode.WithTicket);
            SpawnPassengerFromRandomDoor("alien", Spawner.TicketAdditionMode.WithTicket);
            StartCoroutine(WaitAndMoveNext(1));
            break;

        case 39:
            _doorsTimerController.SetMovementLocked(true);
            Time.timeScale = 0;
            _benches.SetActive(true);
            DisplayArrow(_benches);
            _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training19"), true);
            break;

        case 40:
            Destroy(_activeArrow);
            Time.timeScale = 1;
            _benchArray    = FindObjectsOfType <Bench>();
            foreach (var bench in _benchArray)
            {
                bench.SetCheckState(false);
            }
            _aliens = FindObjectsOfType <Alien>();
            foreach (var alien in _aliens)
            {
                alien.SetFlyAwayDenied(true);
                alien.SetSitListenerActivated(true);
            }
            break;

        case 41:
            foreach (var alien in _aliens)
            {
                alien.SetSitListenerActivated(false);
            }
            _hero.SetHalfImmortal(false);
            Time.timeScale = 0;
            _shortConductorWindow.DisplayText(StringResources.GetLocalizedString("Training20"), true);
            foreach (var bench in _benchArray)
            {
                bench.SetCheckState(true);
            }
            break;

        case 42:
            Time.timeScale = 1;
            _doorsTimerController.SetStationCountListener(3);
            _doorsTimerController.SetMovementLocked(false);
            _doorsTimerController.DisableTrainingMode();
            break;

        case 43:
            PassengerSM[] passengers = FindObjectsOfType <PassengerSM>();
            foreach (var passengerSm in passengers)
            {
                passengerSm.StartGoAway();
                passengerSm.IncreaseGoAwayVelocity();
            }
            _doorsTimerController.DisableSpawn();
            _doorsTimerController.SetStationCountListener(2);
            break;

        case 44:
            _shortConductorWindow.ForceHide();
            Time.timeScale = 0;
            _fullConductorWindow.DisplayTextWithImage(StringResources.GetLocalizedString("Training21"), Resources.Load <Sprite>("Sprites/training/training2"), false, true);
            break;

        case 45:
            PlayerPrefs.SetString(TrainingKey, TrainingKey);
            SceneManager.LoadSceneAsync("MainMenu");
            break;
        }
        _isRefreshInProgress = false;
    }