Esempio n. 1
0
 /// <summary>
 /// Включает паузу. Меняет состояние isPause.
 /// </summary>
 public void ClickOnPause()
 {
     if (isPause == false)
     {
         for (int i = 0; i < Vault.instance.skeletonAnimationEnemies.Length; i++)
         {
             if (Vault.instance.skeletonAnimationEnemies[i].gameObject.activeInHierarchy == true)
             {
                 Vault.instance.skeletonAnimationEnemies[i].AnimationName = "Idle";
             }
         }
         Vault.instance.gameObjectVictoryBoard.SetActive(true);
         Vault.instance.gameObjectVictoryBoardRunLevel.SetActive(true);
         Vault.instance.gameObjectStarLeft.SetActive(false);
         Vault.instance.gameObjectStarCenter.SetActive(false);
         Vault.instance.gameObjectStarRight.SetActive(false);
         Vault.instance.spriteRendererTextVictoryBoard.sprite = LanguageController.ChangeLanguage(SpriteName.Pause);//Vault.instance.spritePauseRus;
         screenLock.SetActive(true);
     }
     else
     {
         screenLock.SetActive(false);
     }
     StartCoroutine(ChangeTransparent(isPause));
     isPause = !isPause;
 }
Esempio n. 2
0
    /// <summary>
    /// Изменяет язык, на указанный в аргументе.
    /// </summary>
    /// <param name="newLanguage">Название языка, на который требуется изменить</param>
    public static void SetLanguage(SystemLanguage newLanguage)
    {
        Vault.currentLanguage = newLanguage;
        Vault.instance.buttonUIRussian.GetComponent <Image>().color  = new Vector4(1f, 1f, 1f, 1f);
        Vault.instance.buttonUIEnglish.GetComponent <Image>().color  = new Vector4(1f, 1f, 1f, 1f);
        Vault.instance.buttonUIJapanese.GetComponent <Image>().color = new Vector4(1f, 1f, 1f, 1f);
        switch (newLanguage)
        {
        case SystemLanguage.Russian:
            Vault.instance.buttonUIRussian.GetComponent <Image>().color = new Vector4(96 / 255f, 216 / 255f, 1f, 1f);
            break;

        case SystemLanguage.English:
            Vault.instance.buttonUIEnglish.GetComponent <Image>().color = new Vector4(96 / 255f, 216 / 255f, 1f, 1f);
            break;

        case SystemLanguage.Japanese:
            Vault.instance.buttonUIJapanese.GetComponent <Image>().color = new Vector4(96 / 255f, 216 / 255f, 1f, 1f);
            break;
        }

        Vault.instance.spriteRendererTextVictoryBoard.sprite = LanguageController.ChangeLanguage(SpriteName.Excellent);
        Vault.instance.imageUIEvasionButton.sprite           = LanguageController.ChangeLanguage(SpriteName.EvasionMode);
        Vault.instance.imageUIThrowPower.sprite = LanguageController.ChangeLanguage(SpriteName.ThrowPower);
        if (Vault.startPosition < 2)
        {
            Vault.startPosition++;
        }
        else
        {
            Vault.instance.audioSourcePressButton.Play();
        }
    }
    private void GetLocale(ISN_Locale locale)
    {
        IOSNativeUtility.OnLocaleLoaded -= GetLocale;

        string savedLanguage  = PreferencesFactory.GetString("Language", useSecurePrefs: false);
        string systemLanguage = LanguageUtils.CountryCodeToLanguage(locale.CountryCode.ToLower());

        // user does not changed his language manual
        // and system language is different from previous auto-detected
        if (systemLanguage != savedLanguage)
        {
            LanguageController.ChangeLanguage(systemLanguage);
        }
    }
    void OnTriggerEnter2D(Collider2D enemySnowball)
    {
        if (enemySnowball.CompareTag("EnemySnowball"))
        {
            SoundThrow.Run(Vault.instance.audioSourceHit, Vault.instance.audioClipHit);
            enemySnowball.GetComponent <CircleCollider2D>().enabled = false;
            enemySnowball.GetComponent <SpriteRenderer>().color     = new Vector4(1, 1, 1, 0);
            for (int i = 0; i < Vault.instance.gameObjectsEnemySetParticleSystems.Length; i++)
            {
                if (Vault.instance.gameObjectsEnemySetParticleSystems[i].activeInHierarchy == false)
                {
                    Vault.instance.gameObjectsEnemySetParticleSystems[i].transform.position = enemySnowball.gameObject.transform.position;
                    Vault.instance.gameObjectsEnemySetParticleSystems[i].SetActive(true);
                    StartCoroutine(TurnOffParticles(Vault.instance.gameObjectsEnemySetParticleSystems[i]));

                    InitSettings.healthPoints--;
                    switch (InitSettings.healthPoints)
                    {
                    case 2:
                        Vault.instance.imageUIHearts[0].sprite        = Vault.instance.spriteBrokenHeart;
                        Vault.instance.spriteRendererStarRight.sprite = Vault.instance.spriteStarRightOff;
                        break;

                    case 1:
                        Vault.instance.imageUIHearts[1].sprite         = Vault.instance.spriteBrokenHeart;
                        Vault.instance.spriteRendererStarCenter.sprite = Vault.instance.spriteStarCenterOff;
                        break;

                    case 0:
                        Vault.instance.imageUIHearts[2].sprite = Vault.instance.spriteBrokenHeart;
                        PauseButtonController.instance.ClickOnPause();
                        Vault.instance.gameObjectVictoryBoard.SetActive(true);
                        Vault.instance.gameObjectVictoryBoardRunLevel.SetActive(false);
                        Vault.instance.gameObjectStarLeft.SetActive(true);
                        Vault.instance.gameObjectStarCenter.SetActive(true);
                        Vault.instance.gameObjectStarRight.SetActive(true);
                        Vault.instance.spriteRendererStarLeft.sprite         = Vault.instance.spriteStarLeftOff;
                        Vault.instance.spriteRendererTextVictoryBoard.sprite = LanguageController.ChangeLanguage(SpriteName.Fiasco);    //Vault.instance.spriteLivesEndedRus;
                        StartCoroutine(SoundWinFail.Run(Vault.instance.audioClipFail));
                        break;
                    }
                    break;
                }
            }
        }
    }
    void OnTriggerEnter2D(Collider2D hippoSnowball)
    {
        if (hippoSnowball.CompareTag("Snowball"))
        {
            SoundThrow.Run(Vault.instance.audioSourceHit, Vault.instance.audioClipHit);
            Vault.instance.particleSystemHippoSnowball.transform.position = hippoSnowball.gameObject.transform.position;
            hippoSnowball.GetComponent <Rigidbody2D>().constraints        = RigidbodyConstraints2D.FreezePosition;
            hippoSnowball.GetComponent <CircleCollider2D>().enabled       = false;
            hippoSnowball.GetComponent <SpriteRenderer>().color           = new Vector4(1, 1, 1, 0);
            Vault.instance.particleSystemHippoSnowball.gameObject.SetActive(true);
            StartCoroutine(TurnOffParticles());

            if (ScoreSetController.scorePlayer < Vault.instance.settings.pointsForVictory)
            {
                if (GetComponent <EnemyController>().isMoveOut == false)
                {
                    ScoreSetController.instance.RefreshPoints(points.enemyPoints);
                    StartCoroutine(MoveEnemy(transform, GetComponent <EnemyController>()));
                }
                else
                {
                    ScoreSetController.instance.RefreshPoints(bonusPoint);
                }
            }
            if (ScoreSetController.scorePlayer >= Vault.instance.settings.pointsForVictory)
            {
                PauseButtonController.instance.ClickOnPause();
                Vault.instance.gameObjectVictoryBoard.SetActive(true);
                Vault.instance.gameObjectVictoryBoardRunLevel.SetActive(false);
                Vault.instance.gameObjectStarLeft.SetActive(true);
                Vault.instance.gameObjectStarCenter.SetActive(true);
                Vault.instance.gameObjectStarRight.SetActive(true);
                Vault.instance.spriteRendererTextVictoryBoard.sprite = LanguageController.ChangeLanguage(SpriteName.Excellent);//Vault.instance.spriteExcellentRus;

                Vault.instance.particleSystemVictoryBoard.gravityModifier = gravityValue;

                StartCoroutine(SoundWinFail.Run(Vault.instance.audioClipWin));
            }
        }
    }
        public void ChangeLanguage_ShouldInvokeChangeLanguagePipeline(string newLanguage, string currentLanguage, string changeResult, ILanguageRepository languageRepository)
        {
            // Arrange
            var pipelineManager = new Mock <BaseCorePipelineManager>();

            pipelineManager.Setup(x => x.Run(LanguageController.ChangeLanguagePipeline, It.IsAny <ChangeLanguagePipelineArgs>(), It.IsAny <bool>()))
            .Callback((string pipeline, PipelineArgs args, bool flag) => args.CustomData.Add(changeResult, new object()));
            var controller = new LanguageController(languageRepository, pipelineManager.Object);

            // Act
            var result = controller.ChangeLanguage(newLanguage, currentLanguage);

            // Assert
            pipelineManager.VerifyAll();
            result.Should().BeOfType <JsonResult>();
            var jsonResult = (JsonResult)result;

            jsonResult.Data.Should().BeOfType <SafeDictionary <string, object> >();
            var data = (SafeDictionary <string, object>)jsonResult.Data;

            data[changeResult].Should().NotBeNull();
        }
    protected override void GameSetup()
    {
        // secure preferences
        PreferencesFactory.UseSecurePrefs = SecurePreferences;
        if (SecurePreferences)
        {
            if (string.IsNullOrEmpty(PreferencesPassPhrase))
            {
                Debug.LogWarning("You have not set a custom pass phrase in GameManager | Player Preferences. Please correct for improved security.");
            }
            else
            {
                PreferencesFactory.PassPhrase = PreferencesPassPhrase;
            }
            PreferencesFactory.AutoConvertUnsecurePrefs = AutoConvertUnsecurePrefs;
        }

        StartupLevels = NumberOfAutoCreatedLevels;

        int NumberOfAdditionalCreatedLevels = PreferencesFactory.GetInt(Constants.KeyNumberOfAdditionalCreatedLevels);

        NumberOfAutoCreatedLevels += NumberOfAdditionalCreatedLevels;

        string FirstAppStartDate = PreferencesFactory.GetString(Constants.KeyFirstAppStartDate, null);

        if (FirstAppStartDate == null)
        {
            PreferencesFactory.SetString(Constants.KeyFirstAppStartDate, UnbiasedTime.Instance.Now().ToString(CultureInfo.InvariantCulture));
        }

        PreferencesFactory.SetString(Constants.KeyLastAppStartDate, UnbiasedTime.Instance.Now().ToString(CultureInfo.InvariantCulture));

        int TimesAppStarted = PreferencesFactory.GetInt(Constants.KeyTimesAppStarted, 0);

        PreferencesFactory.SetInt(Constants.KeyTimesAppStarted, TimesAppStarted + 1);

        base.GameSetup();

        if (PlayerPrefs.GetInt("ManualChangedLanguage", 0) == 0)
        {
#if UNITY_ANDROID || UNITY_EDITOR
            string savedLanguage  = PreferencesFactory.GetString("Language", useSecurePrefs: false);
            string systemLanguage = DeviceLanguage();

            // user does not changed his language manual
            // and system language is different from previous auto-detected
            if (systemLanguage != savedLanguage)
            {
                LanguageController.ChangeLanguage(systemLanguage);
            }
#endif

#if UNITY_IOS
            IOSNativeUtility.OnLocaleLoaded += GetLocale;
            IOSNativeUtility.Instance.GetLocale();
#endif
        }

        Packs = new PackGameItemManager();

        if (LevelSetupMode == GameItemSetupMode.FromResources)
        {
            Packs.Load(1, NumberOfAutoCreatedPacks);
        }

        Ranks = new RankGameItemManager();

        if (LevelSetupMode == GameItemSetupMode.FromResources)
        {
            Ranks.Load(1, NumberOfAutoCreatedRanks);
        }

        Rank rank = Ranks.GetItem(1);

        if (!rank.IsUnlocked)
        {
            rank.IsUnlocked = true; // first rank is unlocked by default
            rank.UpdatePlayerPrefs();
        }

        Pack pack = Packs.GetItem(1);

        if (!pack.IsUnlocked)
        {
            pack.IsUnlocked = true; // first pack is unlocked by default
            pack.UpdatePlayerPrefs();
        }

        Level level = Levels.GetItem(1);

        if (!level.IsUnlocked)
        {
            level.IsUnlocked = true; // first level is unlocked by default
            level.UpdatePlayerPrefs();
        }

        GameManager.SafeAddListener <UserNotificationsChangedMessage>(UserNotificationsChangedHandler);
        GameManager.SafeAddListener <LocalisationChangedMessage>(LocalisationHandler);

        // bug fix in gameframework when user loose all his lives and start game again and Lives back to full
        if (FirstAppStartDate != null)
        { // but only after first start ever
            Player.Lives = Player.GetSettingInt("Lives", 0);
        }

        if (FirstAppStartDate == null)
        { // first start
            PreferencesFactory.SetInt(Constants.KeyNotificationsAllowed, 1);
        }

        //

        Advertisement.Initialize(Constants.UnityAdsGameId);

        if (BackGroundAudioVolume > Constants.DefaultAudioVolume)
        {
            BackGroundAudioVolume = Constants.DefaultAudioVolume;
        }

        if (EffectAudioVolume > Constants.DefaultAudioVolume)
        {
            EffectAudioVolume = Constants.DefaultAudioVolume;
        }

        _currentBackgroundSoundVolume = BackGroundAudioVolume;

        if (!SoundEnabled())
        {
            BackGroundAudioSource.Stop();
        }

#if UNITY_IPHONE
        SA.IOSNative.Core.AppController.Subscribe();

        SA.IOSNative.Core.AppController.OnApplicationDidReceiveMemoryWarning += OnApplicationDidReceiveMemoryWarning;
#endif

#if !UNITY_EDITOR
        CancelLocalNotifications();
        RegisterLocalNotifications();
#endif
    }