public static void GetCustomUseText(ref string __result, Seaglide __instance) { if (__instance == null || __instance.gameObject == null || __instance.gameObject.GetComponent <PowerglideBehaviour>() == null) { return; } string sprintText = LanguageCache.GetButtonFormat(Language.main.Get("HoverbikeBoostDisplay") + "({0})", GameInput.Button.Sprint);; if (string.IsNullOrEmpty(customUseText) || cachedUseText != sprintText) { if (Language.main != null) { customUseText = __result + ", " + sprintText; cachedUseText = sprintText; typeof(Seaglide).GetField("customUseCachedString", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(__instance, customUseText); } else { //Log.LogDebug("Language.main is not available"); } } //__result = customUseText; //__instance.customUseCachedString = customUseText; }
private static ILanguageCache SetUp(Mock <ILanguageRepository> repository) { var memoryCache = new MemoryCache(new MemoryCacheOptions()); var cache = new LanguageCache(repository.Object, memoryCache); return(cache); }
private void UpdateActiveTarget(bool canPickup, bool canDrill) { GameObject targetObject = null; ObjectType objectType = ObjectType.None; if (canPickup || canDrill) { Targeting.GetTarget(gameObject, 4.8f, out targetObject, out float num); } if (targetObject) { GameObject rootObject = UWE.Utils.GetEntityRoot(targetObject); rootObject = (!(rootObject != null)) ? targetObject : rootObject; if (rootObject.GetComponentProfiled <Pickupable>()) { if (rootObject.GetComponent <Pickupable>().isPickupable) { targetObject = rootObject; objectType = ObjectType.Pickupable; } else { targetObject = null; } } else if (rootObject.GetComponentProfiled <Drillable>()) { targetObject = rootObject; objectType = ObjectType.Drillable; } else { targetObject = null; } } activeTarget = targetObject; if (activeTarget && currentSelectedArm != SeaTruckArm.None) { if (canDrill && objectType == ObjectType.Drillable && GetSelectedArmTechType() == SeaTruckDrillArm_Prefab.TechTypeID) { GUIHand component = Player.main.GetComponent <GUIHand>(); GUIHand.Send(activeTarget, HandTargetEventType.Hover, component); } else if (canPickup && objectType == ObjectType.Pickupable && GetSelectedArmTechType() == SeaTruckClawArm_Prefab.TechTypeID) { Pickupable pickupable = activeTarget.GetComponent <Pickupable>(); TechType techType = pickupable.GetTechType(); HandReticle.main.SetText(HandReticle.TextType.Hand, LanguageCache.GetPickupText(techType), false, GameInput.Button.LeftHand); HandReticle.main.SetIcon(HandReticle.IconType.Hand, 1f); } } }
//===================================================================== // UpdateText // // Sets tooltip text //===================================================================== private void UpdateText() { string buttonFormat = LanguageCache.GetButtonFormat("ConstructFormat", GameInput.Button.LeftHand); string buttonFormat2 = LanguageCache.GetButtonFormat("DeconstructFormat", GameInput.Button.Deconstruct); this.constructText = Language.main.GetFormat <string, string>("ConstructDeconstructFormat", buttonFormat, buttonFormat2); this.deconstructText = buttonFormat2; }
public static string GetInputForSlot(int slotID) { if (slotID < Player.quickSlotButtonsCount) { string inputName = GameInput.GetBindingName(GameInput.Button.Slot1 + slotID, GameInput.BindingSet.Primary); string input = LanguageCache.GetButtonFormat("{0}", GameInput.Button.Slot1 + slotID); return(string.IsNullOrEmpty(inputName) ? "" : input); } return(slotID < 0 || slotID >= MaxSlots ? "???" : keys[slotID]); }
private void UpdateActiveTarget(bool canPickup, bool canDrill) { GameObject targetObject = null; TargetObjectType objectType = TargetObjectType.None; if (canPickup || canDrill) { Targeting.GetTarget(seamoth.gameObject, 4.8f, out targetObject, out float num, null); } if (targetObject) { GameObject rootObject = UWE.Utils.GetEntityRoot(targetObject); rootObject = (!(rootObject != null)) ? targetObject : rootObject; if (rootObject.GetComponentProfiled <Pickupable>()) { targetObject = rootObject; objectType = TargetObjectType.Pickupable; } else if (rootObject.GetComponentProfiled <Drillable>()) { targetObject = rootObject; objectType = TargetObjectType.Drillable; } else { targetObject = null; } } activeTarget = targetObject; if (activeTarget && currentSelectedArm != SeamothArm.None) { if (canDrill && objectType == TargetObjectType.Drillable && GetSelectedArm().HasDrill()) { GUIHand component = Player.main.GetComponent <GUIHand>(); GUIHand.Send(activeTarget, HandTargetEventType.Hover, component); } else if (canPickup && objectType == TargetObjectType.Pickupable && GetSelectedArm().HasClaw()) { Pickupable pickupable = activeTarget.GetComponent <Pickupable>(); TechType techType = pickupable.GetTechType(); HandReticle.main.SetInteractText(LanguageCache.GetPickupText(techType), false, HandReticle.Hand.Left); HandReticle.main.SetIcon(HandReticle.IconType.Hand, 1f); } } }
public static List <Language> GetLanguageList() { var cachedResult = LanguageCache.CheckInCacheLanguageList(); if (cachedResult != null) { return(cachedResult); } var languageList = LoadLanguageList(); LanguageCache.AddToCacheLanguageList(languageList); return(languageList); }
public static Language GetDefaultLanguage() { var cachedResult = LanguageCache.CheckInCacheDefaultLanguage(); if (cachedResult != null) { return(cachedResult); } var languageList = GetLanguageList(); var language = languageList.FirstOrDefault(item => item.IsDefault); LanguageCache.AddToCacheDefaultLanguage(language); return(language); }
void onPlayerModeChanged(Player.Mode playerMode) { if (playerMode == Player.Mode.LockedPiloting) { checkEnabled(); if (enabled && Main.config.showHotkeyMessage) { LanguageCache.GetButtonFormat(L10n.str("ids_enterVehicleMessage"), Main.config.hotkey).onScreen(); } } else if (playerMode == Player.Mode.Normal) { enabled = false; } }
public static string GetInputForSlot(int slotID, GameInput.BindingSet binding = GameInput.BindingSet.Primary) { if (slotID < Player.quickSlotButtonsCount) { string inputName = GameInput.GetBindingName(GameInput.Button.Slot1 + slotID, binding); string input = LanguageCache.GetButtonFormat("{0}", GameInput.Button.Slot1 + slotID); return(string.IsNullOrEmpty(inputName) ? string.Empty : input); } if (slotID < 0 || slotID >= Mod.config.SlotCount) { return(string.Empty); } var key = Mod.config.Slots[slotID.ToString()][(int)binding]; return(key); }
protected virtual async Task <LanguageConfig> GetLanguageListAsync(IDocumentStore store, Project project, string version) { async Task <LanguageConfig> GetLanguagesAsync() { return(await store.GetLanguageListAsync(project, version)); } return(await LanguageCache.GetOrAddAsync( project.ShortName, GetLanguagesAsync, () => new DistributedCacheEntryOptions { AbsoluteExpirationRelativeToNow = TimeSpan.FromHours(24) } )); }
static bool Prefix(uGUI_CameraCyclops __instance) { string rightHand = uGUI.FormatButton(GameInput.Button.RightHand, false, " / ", false); string leftHand = uGUI.FormatButton(GameInput.Button.LeftHand, false, " / ", false); string slot1 = uGUI.FormatButton(GameInput.Button.Slot1, false, " / ", false); string slot2 = uGUI.FormatButton(GameInput.Button.Slot2, false, " / ", false); string slot3 = uGUI.FormatButton(GameInput.Button.Slot3, false, " / ", false); var exitText = LanguageCache.GetButtonFormat("PressToExit", GameInput.Button.Exit); var onLightText = "Lights On (" + rightHand + ")"; var offLightText = "Lights Off (" + leftHand + ")"; var selectCamera = "Select Camera (" + slot1 + "/" + slot2 + "/" + slot3 + ")"; __instance.stringControls = "\n" + exitText + "\n" + offLightText + " / " + onLightText + "\n" + selectCamera; return(false); }
private LanguageCache GetLanguageCache() { var cache = cacheWrapper.Get <LanguageCache>("CachingLanguageGatewayDecorator_" + masterKey); if (cache == null) { cache = new LanguageCache { LanguageCodes = new Dictionary <string, ILanguage>(), LanguageItems = new Dictionary <int, ILanguage>() }; cacheWrapper.Add("CachingLanguageGatewayDecorator_" + masterKey, cache, new CacheOptions { SlidingExpiration = slidingExpiration }); } return(cache); }
private static bool Prefix(PlayerTool __instance, ref string __result) { if (__instance is Seaglide) { var seaglide = __instance as Seaglide; string altKey = GameInput.GetBindingName(GameInput.Button.AltTool, GameInput.BindingSet.Primary); bool mapShowing = seaglide.toggleLights.lightState != 2; __result = string.Format("{0} Map (<color=#ADF8FFFF>{1}</color>)", mapShowing ? "Hide" : "Show", altKey); return(false); } else if (Mod.config.FixScannerToolTextBug && __instance is ScannerTool) { __result = LanguageCache.GetButtonFormat("ScannerSelfScanFormat", GameInput.Button.AltTool); return(false); } return(true); }
public static Language GetLanguage(int id) { var cachedResult = LanguageCache.CheckInCacheLanguageId(id); if (cachedResult != null) { return(cachedResult); } var languageList = GetLanguageList(); var language = languageList.FirstOrDefault(item => item.Id == id); if (language == null) { language = GetDefaultLanguage(); } LanguageCache.AddToCacheLanguageId(id, language); return(language); }
private static bool Prefix(PlayerTool __instance, ref string __result) { if (__instance is Seaglide) { var seaglide = __instance as Seaglide; bool mapShowing = seaglide.toggleLights.lightState != 2; string command = mapShowing ? "Hide Map (<color=#ADF8FFFF>{0}</color>)" : "Show Map (<color=#ADF8FFFF>{0}</color>)"; __result = LanguageCache.GetButtonFormat(command, GameInput.Button.AltTool); return(false); } else if (Mod.config.FixScannerToolTextBug && __instance is ScannerTool) { __result = LanguageCache.GetButtonFormat("ScannerSelfScanFormat", GameInput.Button.AltTool); return(false); } return(true); }
private static void Postfix(Exosuit __instance) { bool hasPropCannon = Exosuit_rightArm.GetValue(__instance) is ExosuitPropulsionArm || Exosuit_leftArm.GetValue(__instance) is ExosuitPropulsionArm; var toggleLights = __instance.GetComponent <ToggleLights>(); string lightsString = LanguageCache.GetButtonFormat((!toggleLights.lightsActive) ? "Lights On (<color=#ADF8FFFF>{0}</color>)" : "Lights Off (<color=#ADF8FFFF>{0}</color>)", lightsBinding); string exitString = string.Join("\n", ((string)Exosuit_uiStringPrimary.GetValue(__instance)).Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries).Take(1).ToArray()); var primaryString = string.Join("\n", ((string)Exosuit_uiStringPrimary.GetValue(__instance)).Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries).Skip(1).ToArray()) + System.Environment.NewLine + lightsString; var secondaryString = string.Empty; if (hasPropCannon) { lightsBinding = GameInput.Button.Deconstruct; secondaryString = exitString; } else { lightsBinding = GameInput.Button.AltTool; primaryString = primaryString + System.Environment.NewLine + exitString; } HandReticle.main.SetUseTextRaw(primaryString, secondaryString); }
private static void Postfix(SeaMoth __instance) { if (__instance.GetPilotingMode() && !Player.main.GetPDA().isInUse) { string button2 = LanguageCache.GetButtonFormat("Change Torpedo (<color=#ADF8FFFF>{0}</color>)", GameInput.Button.Deconstruct); string button3 = ""; var toggledSlots = (bool[])Vehicle_quickSlotToggled.GetValue(__instance); for (var i = 0; i < toggledSlots.Length; ++i) { if (toggledSlots[i] && __instance.GetSlotItem(i) != null && __instance.GetSlotItem(i).item.GetTechType() == TechType.SeamothTorpedoModule) { button3 = LanguageCache.GetButtonFormat("\nAccess Torpedo Storage (<color=#ADF8FFFF>{0}</color>)", GameInput.Button.AltTool); break; } } string buttonFormat = LanguageCache.GetButtonFormat("PressToExit", GameInput.Button.Exit); HandReticle.main.SetUseTextRaw(buttonFormat, button2 + button3); } }
private void UpdateUIText(bool hasPropCannon) { if (!hasInitStrings || lastHasPropCannon != hasPropCannon) { sb.Length = 0; sb.AppendLine(LanguageCache.GetButtonFormat("PressToExit", GameInput.Button.Exit)); if (hasPropCannon) { string[] splittedHint = LanguageCache.GetButtonFormat("PropulsionCannonToRelease", GameInput.Button.AltTool).Split(' '); sb.AppendLine($"{splittedHint[0]} {splittedHint.GetLast()}"); } lastHasPropCannon = hasPropCannon; uiStringPrimary = sb.ToString(); } HandReticle.main.SetTextRaw(HandReticle.TextType.Use, uiStringPrimary); hasInitStrings = true; }
public static void Set(string language, string key, string text) { if (string.IsNullOrEmpty(language)) { throw new ArgumentException("language is null or empty"); } if (string.IsNullOrEmpty(key)) { throw new ArgumentException("key is null or empty"); } if (string.IsNullOrEmpty(text)) { throw new ArgumentException("text is null or empty"); } if (!majorVocabulary.ContainsKey(language)) { throw new ArgumentException("language is invalid"); } majorVocabulary[language][key] = text; LanguageCache.OnLanguageChanged(); }
public static Language GetLanguage(string code) { if (string.IsNullOrWhiteSpace(code)) { return(GetDefaultLanguage()); } var cachedResult = LanguageCache.CheckInCacheLanguageCode(code); if (cachedResult != null) { return(cachedResult); } var languageList = GetLanguageList(); var language = languageList.FirstOrDefault(item => item.Code.ToLowerInvariant() == code.ToLowerInvariant()); if (language == null) { language = GetDefaultLanguage(); } LanguageCache.AddToCacheLanguageCode(code, language); return(language); }
public AddLanguageFilter(ILogger <AddLanguageFilter> logger, LanguageCache languageCache)//, IConfigurationRoot configuration) { _cache = languageCache; _defaultLanguage = "en-GB"; //TODO: Load from appsettings.json }
private LanguageCache GetLanguageCache() { var cache = cacheWrapper.Get<LanguageCache>("CachingLanguageGatewayDecorator_" + masterKey); if (cache == null) { cache = new LanguageCache { LanguageCodes = new Dictionary<string, ILanguage>(), LanguageItems = new Dictionary<int, ILanguage>() }; cacheWrapper.Add("CachingLanguageGatewayDecorator_" + masterKey, cache, new CacheOptions { SlidingExpiration = slidingExpiration }); } return cache; }
public static void Clear() { majorVocabulary.ForEach(x => x.Value.Clear()); LanguageCache.OnLanguageChanged(); }
public OpenApiOrganizationTranslatorTests() { SetupTypesCacheMock <PhoneNumberType>(typeof(PhoneNumberTypeEnum)); SetupTypesCacheMock <ServiceChargeType>(typeof(ServiceChargeTypeEnum)); SetupTypesCacheMock <AddressCharacter>(typeof(AddressCharacterEnum)); SetupTypesCacheMock <AddressType>(typeof(AddressTypeEnum)); SetupTypesCacheMock <OrganizationType>(typeof(OrganizationTypeEnum)); SetupTypesCacheMock <NameType>(typeof(NameTypeEnum)); SetupTypesCacheMock <ProvisionType>(typeof(ProvisionTypeEnum)); translators = new List <object>() { new OpenApiOrganizationTranslator(ResolveManager, TranslationPrimitives, CacheManager), new OrganizationTypeStringTranslator(ResolveManager, TranslationPrimitives), new OpenApiOrganizationNameTranslator(ResolveManager, TranslationPrimitives, CacheManager), new OpenApiOrganizationDisplayNameTypeTranslator(ResolveManager, TranslationPrimitives, CacheManager), new NameTypeCodeTranslator(ResolveManager, TranslationPrimitives), new PublishingStatusTypeTranslator(ResolveManager, TranslationPrimitives), new OpenApiOrganizationDescriptionTranslator(ResolveManager, TranslationPrimitives, CacheManager), new DescriptionTypeCodeTranslator(ResolveManager, TranslationPrimitives), new ServiceChargeTypeCodeTranslator(ResolveManager, TranslationPrimitives), new OpenApiOrganizationWebPageTranslator(ResolveManager, TranslationPrimitives, CacheManager), new WebPageTypeCodeTranslator(ResolveManager, TranslationPrimitives), new OpenApiOrganizationAddressTranslator(ResolveManager, TranslationPrimitives, CacheManager), new AddressTypeCodeTranslator(ResolveManager, TranslationPrimitives), new OpenApiStreetAddressTranslator(ResolveManager, TranslationPrimitives, CacheManager), new CountryCodeTranslator(ResolveManager, TranslationPrimitives), new DataAccess.Translators.OpenApi.Organizations.OpenApiOrganizationServiceTranslator(ResolveManager, TranslationPrimitives), new ProvisionTypeCodeTranslator(ResolveManager, TranslationPrimitives), new OpenApiOrganizationInTranslator(ResolveManager, TranslationPrimitives, CacheManager), new LanguageCodeTranslator(ResolveManager, TranslationPrimitives), new MunicipalityCodeTranslator(ResolveManager, TranslationPrimitives), new OpenApiBusinessTranslator(ResolveManager, TranslationPrimitives), new OpenApiWebPageTranslator(ResolveManager, TranslationPrimitives, CacheManager), new OpenApiAddressInTranslator(ResolveManager, TranslationPrimitives, CacheManager), new OpenApiPostalCodeTranslator(ResolveManager, TranslationPrimitives), new OpenApiServiceChannelAttachmentTranslator(ResolveManager, TranslationPrimitives), new PhoneNumberTypeCodeTranslator(ResolveManager, TranslationPrimitives), new OpenApiOrganizationPhoneTranslator(ResolveManager, TranslationPrimitives, CacheManager), new EmailTranslator(ResolveManager, TranslationPrimitives), new OrganizationEmailDataTranslator(ResolveManager, TranslationPrimitives), new OpenApiOrganizationEmailTranslator(ResolveManager, TranslationPrimitives), new OpenApiOrganizationEmailEmailTranslator(ResolveManager, TranslationPrimitives), new OpenApiEmailItemTranslator(ResolveManager, TranslationPrimitives, CacheManager), new OpenApiAddressDescriptionTranslator(ResolveManager, TranslationPrimitives, CacheManager), new OpenApiEmailTranslator(ResolveManager, TranslationPrimitives, CacheManager), new PhoneTranslator(ResolveManager, TranslationPrimitives, CacheManager.TypesCache), new OpenApiPhoneTranslator(ResolveManager, TranslationPrimitives, CacheManager), new OpenApiOrganizationAddressWithCoordinatesTranslator(ResolveManager, TranslationPrimitives, CacheManager), new OpenApiMunicipalityTranslator(ResolveManager, TranslationPrimitives), new OpenApiMunicipalityNameTranslator(ResolveManager, TranslationPrimitives, CacheManager), new OpenApiDialCodeTranslator(ResolveManager, TranslationPrimitives), new OpenApiWebPageWithOrderNumberTranslator(ResolveManager, TranslationPrimitives, CacheManager), new OpenApiPostalCodeNameTranslator(ResolveManager, TranslationPrimitives, CacheManager), new OpenApiOrganizationLanguageAvailabilityTranslator(ResolveManager, TranslationPrimitives, CacheManager), new OpenApiAddressTranslator(ResolveManager, TranslationPrimitives, CacheManager.TypesCache), new OpenApiPostOfficeBoxNameTranslator(ResolveManager, TranslationPrimitives, CacheManager), new OpenApiAddressPostOfficeBoxTranslator(ResolveManager, TranslationPrimitives), new OpenApiAddressStreetTranslator(ResolveManager, TranslationPrimitives, CacheManager), new OpenApiProducerOrganizationServiceTranslator(ResolveManager, TranslationPrimitives, CacheManager), new OpenApiServiceItemTranslator(ResolveManager, TranslationPrimitives, CacheManager), new OpenApiStreetInTranslator(ResolveManager, TranslationPrimitives), new OpenApiPostOfficeBoxTranslator(ResolveManager, TranslationPrimitives), new OpenApiAddressForeignTranslator(ResolveManager, TranslationPrimitives), new OpenApiAddressForeignTextNameTranslator(ResolveManager, TranslationPrimitives, CacheManager), new OpenApiPostOfficeBoxInTranslator(ResolveManager, TranslationPrimitives), new OpenApiStreetWithCoordinatesTranslator(ResolveManager, TranslationPrimitives, CacheManager.TypesCache) }; fiId = LanguageCache.Get(LanguageCode.fi.ToString()); svId = LanguageCache.Get(LanguageCode.sv.ToString()); }