public IDictionary <RawInput, TranslatedInput> RetrieveMappingsForRawInputs(IEnumerable <RawInput> inRawInputs)
        {
            // Multiple enumerations is fine, will usually fail on first if not saved and this is easier to follow
            if (inRawInputs == null || !inRawInputs.Any() || MappingsAreNotCustomised(inRawInputs))
            {
                return(DefaultMappings);
            }

            var inputTranslations = new Dictionary <RawInput, TranslatedInput>();

            foreach (var rawInput in inRawInputs)
            {
                var potentialEnum =
                    EnumExtensions.TryParse <EInputKey>(
                        _playerPlayerPrefsRepositoryInterface.GetValueForKey(rawInput.InputName));

                if (potentialEnum.IsSet())
                {
                    inputTranslations.Add(rawInput, new TranslatedInput(potentialEnum.Get(), rawInput.InputType));
                }
                else
                {
                    return(DefaultMappings);
                }
            }

            return(inputTranslations);
        }
Esempio n. 2
0
        private void InitialiseLanguage()
        {
            var languageSetting = EnumExtensions.TryParse <ELanguageOptions>(PlayerPrefsRepo.GetValueForKey(LocalisationComponentConstants.LanguageSettingKey));

            if (languageSetting.IsSet())
            {
                UpdateLanguageSetting(languageSetting.Get());
            }
        }