def _ShowPromotionNotification(promotion: _Promotion) -> None: notificationArguments = { "text": lambda *args, **kwargs: Language.CreateLocalizationString(promotion. Text) } if promotion.Link is not None: if promotion.LinkButton is not None: linkResponseText = lambda *args, **kwargs: Language.CreateLocalizationString( promotion.LinkButton) else: linkResponseText = PromotionDefaultButton.GetCallableLocalizationString( ) linkResponseCommand = collections.make_immutable_slots_class( ("command", "arguments")) linkResponseArguments = [ collections.make_immutable_slots_class(("arg_value", "arg_type")) ] linkResponseArguments[0] = linkResponseArguments[0]({ "arg_value": codecs.encode(bytearray(promotion.Link, "utf-8"), "hex").decode("utf-8"), "arg_type": ui_dialog.CommandArgType.ARG_TYPE_STRING }) linkResponseCommand = linkResponseCommand({ "command": This.Mod.Namespace.lower() + ".distribution.show_url", "arguments": linkResponseArguments }) linkResponse = ui_dialog.UiDialogResponse( text=linkResponseText, ui_request=ui_dialog.UiDialogResponse.UiDialogUiRequest. SEND_COMMAND, response_command=linkResponseCommand) notificationArguments["ui_responses"] = (linkResponse, ) if promotion.Title is not None: notificationArguments[ "title"] = lambda *args, **kwargs: Language.CreateLocalizationString( promotion.Title) else: notificationArguments[ "title"] = PromotionDefaultTitle.GetCallableLocalizationString() Notifications.ShowNotification(queue=True, **notificationArguments)
def BuildText( parts: typing.List[typing.Union[localization.LocalizedString, str, int, float]] ) -> localization.LocalizedString: """ Create new The Sims 4 localized strings by combining any localized string, string, int, or float together. :param parts: Parts to combined together to create the new localized string. :type parts: typing.List[typing.Union[localization.LocalizedString, str, int, float]] """ if not isinstance(parts, list): raise Exceptions.IncorrectTypeException(parts, "parts", (list, )) for partIndex in range(len(parts)): # type: int part = parts[ partIndex] # type: typing.Union[localization.LocalizedString, str, int, float] if not isinstance(part, (localization.LocalizedString, str, int, float)): raise Exceptions.IncorrectTypeException( part, "parts[%s]" % partIndex, (localization.LocalizedString, str, int, float)) if isinstance(part, (int, float)): parts[partIndex] = str(part) if len(parts) == 0: return Language.CreateLocalizationString("") lastString = None # type: typing.Optional[localization.LocalizedString] for part in reversed( parts ): # type: typing.Union[localization.LocalizedString, str, int, float] partString = _GetFormattingText() # type: localization.LocalizedString partStringTokens = (part, ) if lastString is not None: partStringTokens += (lastString, ) Language.AddTokens(partString, *partStringTokens) lastString = partString return lastString
def _GetDescriptionSettingText (self, setting: UISettingsShared.SettingWrapper) -> localization.LocalizedString: return Language.CreateLocalizationString("**")
def GetValueText (cls, value: typing.Any) -> localization.LocalizedString: return Language.CreateLocalizationString("**")
def GetDefaultText (cls) -> localization.LocalizedString: return Language.CreateLocalizationString("**")
def _GetRowListPathDescriptionText (self, listPath: str) -> localization.LocalizedString: return Language.CreateLocalizationString("")
def _GetTitleListPathText (self, listPath: str) -> localization.LocalizedString: return Language.CreateLocalizationString(listPath.rsplit(self.ListPathSeparator, 1)[-1])