- common/globals/platformstoredialogs.lua:2 --
ZO_Dialogs_RegisterCustomDialog("BUY_CROWNS_FROM_PLATFORM_STORE",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_OPEN_STORE_TO_BUY_CROWNS_TITLE,
},
mainText =
{
text = SI_OPEN_STORE_BUY_CROWNS_TEXT,
},
buttons =
{
{
text = function()
return zo_strformat(SI_OPEN_FIRST_PARTY_STORE_KEYBIND, ZO_GetPlatformStoreName())
end,
callback = function(dialog)
ShowPlatformESOCrownPacksUI()
end
},
{
text = SI_DIALOG_EXIT,
},
},
})
- common/zo_colorpicker/gamepad/zo_colorpicker_gamepad.lua:41 --
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_COLOR_PICKER",
{
customControl = control,
title =
{
text = SI_WINDOW_TITLE_COLOR_PICKER,
},
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.CUSTOM,
allowShowOnNextScene = true,
dontEndInWorldInteractions = true,
},
canQueue = true,
blockDialogReleaseOnPress = true,
blockDirectionalInput = true,
setup = function() self:OnDialogShowing() end,
finishedCallback = OnDialogReleased,
noChoiceCallback = OnDialogReleased,
buttons =
{
[1] =
{
keybind = "DIALOG_PRIMARY",
text = SI_DIALOG_ACCEPT,
clickSound = SOUNDS.DIALOG_ACCEPT,
alignment = KEYBIND_STRIP_ALIGN_CENTER,
callback = function() self:Confirm() end,
},
[2] =
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
clickSound = SOUNDS.DIALOG_DECLINE,
alignment = KEYBIND_STRIP_ALIGN_CENTER,
callback = function() self:Cancel() end,
},
}
})
- common/zo_colorpicker/keyboard/zo_colorpicker_keyboard.lua:45 --
ZO_Dialogs_RegisterCustomDialog("COLOR_PICKER",
{
customControl = control,
title =
{
text = SI_WINDOW_TITLE_COLOR_PICKER,
},
buttons =
{
{
control = control:GetNamedChild("Accept"),
text = SI_DIALOG_ACCEPT,
keybind = "DIALOG_PRIMARY",
callback = function() self:Confirm() end,
},
{
control = control:GetNamedChild("Cancel"),
text = SI_DIALOG_CANCEL,
keybind = "DIALOG_NEGATIVE",
callback = function() self:Cancel() end,
},
}
})
- ingame/achievements/gamepad/achievements_gamepad.lua:334 --
ZO_Dialogs_RegisterCustomDialog("ACHIEVEMENTS_OPTIONS_GAMEPAD",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
title =
{
text = SI_GAMEPAD_ACHIEVEMENTS_OPTIONS,
},
setup = function(dialog)
dialog:setupFunc()
end,
parametricList =
{
{
template = "ZO_GamepadMenuEntryTemplate",
header = SI_GAMEPAD_OPTIONS_MENU,
entryData = showAllAchievements,
},
{
template = "ZO_GamepadMenuEntryTemplate",
entryData = showEarnedAchievements,
},
{
template = "ZO_GamepadMenuEntryTemplate",
entryData = showUnearnedAchievements,
},
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local data = dialog.entryList:GetTargetData()
if data.callback then
data.callback(data)
end
end,
clickSound = SOUNDS.DIALOG_ACCEPT,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
},
}
})
- ingame/antiquities/antiquityjournaldialogs.lua:3 --
ZO_Dialogs_RegisterCustomDialog("CONFIRM_ABANDON_ANTIQUITY_SCRYING_PROGRESS",
{
canQueue = true,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_ANTIQUITY_CONFIRM_ABANDON_SCRYING_PROGRESS_TITLE,
},
mainText =
{
text = SI_ANTIQUITY_CONFIRM_ABANDON_SCRYING_PROGRESS_PROMPT,
},
buttons =
{
-- Confirm Button
{
keybind = "DIALOG_PRIMARY",
text = GetString(SI_DIALOG_CONFIRM),
callback = function(dialog)
local data = dialog.data
local antiquityId = data.antiquityId
RequestAbandonAntiquity(antiquityId)
end,
},
-- Cancel Button
{
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
},
},
})
- ingame/antiquities/gamepad/antiquityjournal_gamepad.lua:240 --
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_ANTIQUITY_CATEGORY_FILTER_OPTIONS",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
title =
{
text = SI_GAMEPAD_ANTIQUITY_CATEGORY_OPTIONS_HEADER
},
setup = function(dialog)
local parametricListEntries = dialog.info.parametricList
ZO_ClearNumericallyIndexedTable(parametricListEntries)
local filterDropdown =
{
template = "ZO_GamepadDropdownItem",
entryData = self:GetOrCreateFilterOptionsDropdownEntryData(),
}
table.insert(parametricListEntries, filterDropdown)
dialog.setupFunc(dialog)
end,
parametricList = {}, -- Generated Dynamically
blockDialogReleaseOnPress = true, -- We need to manually control when we release so we can use the select keybind to activate entries
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
local targetControl = dialog.entryList:GetTargetControl()
if targetData.dropdownEntry then
local dropdown = targetControl.dropdown
dropdown:Activate()
end
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_GAMEPAD_BACK_OPTION,
callback = function(dialog)
ZO_Dialogs_ReleaseDialogOnButtonPress("GAMEPAD_ANTIQUITY_CATEGORY_FILTER_OPTIONS")
end,
},
},
noChoiceCallback = function(dialog)
local parametricList = dialog.info.parametricList
for i, entry in ipairs(parametricList) do
if entry.entryData.action.isDropdown then
local control = dialog.entryList:GetControlFromData(entry.entryData)
if control then
control.dropdown:Deactivate()
end
end
end
end
})
- ingame/antiquities/gamepad/antiquityjournal_gamepad.lua:893 --
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_SCRYABLE_ANTIQUITY_OPTIONS",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
title =
{
text = SI_GAMEPAD_SCRYABLE_ANTIQUITY_OPTIONS_HEADER
},
setup = function(dialog, allActions)
local parametricList = dialog.info.parametricList
ZO_ClearNumericallyIndexedTable(parametricList)
for i, action in ipairs(allActions) do
local entryData = ZO_GamepadEntryData:New(action.text)
entryData.action = action
entryData.setup = action.setup or ZO_SharedGamepadEntry_OnSetup
entryData.callback = action.callback
local listItem =
{
template = action.template or "ZO_GamepadItemEntryTemplate",
entryData = entryData,
header = action.header,
}
table.insert(parametricList, listItem)
end
dialog:setupFunc()
end,
parametricList = {}, -- Generated Dynamically
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
if targetData and targetData.callback then
targetData.callback(dialog)
end
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_GAMEPAD_BACK_OPTION,
callback = function(dialog)
ZO_Dialogs_ReleaseDialogOnButtonPress("GAMEPAD_SCRYABLE_ANTIQUITY_OPTIONS")
end,
},
},
noChoiceCallback = function(dialog)
local parametricList = dialog.info.parametricList
for i, entry in ipairs(parametricList) do
if entry.entryData.action.isDropdown then
local control = dialog.entryList:GetControlFromData(entry.entryData)
if control then
control.dropdown:Deactivate()
end
end
end
end
})
- ingame/banking/gamepad/banking_gamepad.lua:638 --
ZO_Dialogs_RegisterCustomDialog("BUY_BANK_SPACE_GAMEPAD",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_PROMPT_TITLE_BUY_BANK_SPACE,
},
mainText =
{
text = zo_strformat(SI_BUY_BANK_SPACE, NUM_BANK_SLOTS_PER_UPGRADE),
},
buttons =
{
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_DECLINE,
callback = function() self:Hide() end
},
{
keybind = "DIALOG_PRIMARY",
text = function()
local costString = ZO_CurrencyControl_FormatCurrency(self.cost)
return zo_strformat(SI_GAMEPAD_BANK_UPGRADE_ACCEPT, costString, ZO_Currency_GetGamepadFormattedCurrencyIcon(CURT_MONEY))
end,
callback = function(dialog)
BuyBankSpace()
ZO_AlertNoSuppression(UI_ALERT_CATEGORY_ALERT, nil, GetString(SI_GAMEPAD_BANK_UPGRADED_ALERT))
self:Hide()
end,
}
}
})
- ingame/campaign/campaignbrowserdialogs.lua:43 --
ZO_Dialogs_RegisterCustomDialog(dialogName, dialogInfo)
- ingame/campaign/campaignbrowserdialogs.lua:550 --
ZO_Dialogs_RegisterCustomDialog(
"CAMPAIGN_QUEUE",
{
customControl = control,
setup = CampaignQueueDialogSetup,
title =
{
text = SI_CAMPAIGN_BROWSER_QUEUE_DIALOG_TITLE,
},
canQueue = true,
buttons =
{
{
control = control:GetNamedChild("Confirm"),
text = SI_DIALOG_ACCEPT,
callback = function(dialog)
local queueType = dialog.radioButtonGroup:GetClickedButton().queueType
CAMPAIGN_BROWSER_MANAGER:ContinueQueueForCampaignFlow(dialog.data.campaignData, ZO_CAMPAIGN_QUEUE_STEP_SELECT_QUEUE_TYPE, queueType)
end,
},
{
control = control:GetNamedChild("Cancel"),
text = SI_DIALOG_CANCEL,
},
},
}
)
- ingame/campaign/gamepad/campaignbrowserdialogs_gamepad.lua:14 --
ZO_Dialogs_RegisterCustomDialog(ZO_GAMEPAD_CAMPAIGN_QUEUE_DIALOG,
{
canQueue = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.PARAMETRIC
},
setup = function(dialog)
dialog.data.groupQueueResult = GetExpectedGroupQueueResult()
dialog:setupFunc()
end,
title =
{
text = SI_CAMPAIGN_BROWSER_QUEUE_DIALOG_TITLE,
},
mainText =
{
text = SI_CAMPAIGN_BROWSER_QUEUE_DIALOG_PROMPT,
},
parametricList =
{
{
template = "ZO_GamepadMenuEntryTemplate",
templateData = {
text = GetString(SI_CAMPAIGN_BROWSER_QUEUE_GROUP),
setup = function(control, data, ...)
data:SetEnabled(parametricDialog.data.groupQueueResult == QUEUE_FOR_CAMPAIGN_RESULT_SUCCESS)
return ZO_SharedGamepadEntry_OnSetup(control, data, ...)
end,
queueType = CAMPAIGN_QUEUE_TYPE_GROUP,
},
},
{
template = "ZO_GamepadMenuEntryTemplate",
templateData = {
text = GetString(SI_CAMPAIGN_BROWSER_QUEUE_SOLO),
setup = ZO_SharedGamepadEntry_OnSetup,
queueType = CAMPAIGN_QUEUE_TYPE_INDIVIDUAL,
},
},
},
parametricListOnSelectionChangedCallback = function(dialog, list, newSelectedData, oldSelectedData)
if newSelectedData and not newSelectedData:IsEnabled() then
local tooltipText = GetString("SI_QUEUEFORCAMPAIGNRESPONSETYPE", dialog.data.groupQueueResult)
GAMEPAD_TOOLTIPS:LayoutTextBlockTooltip(GAMEPAD_LEFT_DIALOG_TOOLTIP, tooltipText)
ZO_GenericGamepadDialog_ShowTooltip(dialog)
else
ZO_GenericGamepadDialog_HideTooltip(dialog)
end
end,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
if targetData then
local queueType = targetData.queueType
CAMPAIGN_BROWSER_MANAGER:ContinueQueueForCampaignFlow(dialog.data.campaignData, ZO_CAMPAIGN_QUEUE_STEP_SELECT_QUEUE_TYPE, queueType)
end
end,
enabled = function(dialog)
local targetData = dialog.entryList:GetTargetData()
return targetData and targetData:IsEnabled()
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
},
}
})
- ingame/campaign/gamepad/campaignbrowserdialogs_gamepad.lua:102 --
ZO_Dialogs_RegisterCustomDialog(ZO_GAMEPAD_CAMPAIGN_LOCKED_DIALOG,
{
canQueue = true,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
updateFn = function(dialog)
ZO_Dialogs_RefreshDialogText(ZO_GAMEPAD_CAMPAIGN_LOCKED_DIALOG, dialog)
--If the displayed cooldown reaches 0, automatically forward user to the now unlocked dialog they were trying to navigate to originally
if dialog.data.isAbandoning then
local timeLeft = GetCampaignUnassignCooldown()
if timeLeft <= 0 then
ZO_Dialogs_ShowGamepadDialog(ZO_GAMEPAD_CAMPAIGN_ABANDON_HOME_CONFIRM_DIALOG, { id = dialog.data.id }, { mainTextParams = screen:GetTextParamsForAbandonHomeDialog() })
ZO_Dialogs_ReleaseDialog("GAMEPAD_CAMPAIGN_LOCKED_DIALOG")
end
else
local timeLeft = GetCampaignReassignCooldown()
if timeLeft <= 0 then
ZO_Dialogs_ShowGamepadDialog(ZO_GAMEPAD_CAMPAIGN_SET_HOME_REVIEW_DIALOG, { id = dialog.data.id, campaignData = dialog.data.campaignData })
ZO_Dialogs_ReleaseDialog("GAMEPAD_CAMPAIGN_LOCKED_DIALOG")
end
end
end,
title =
{
text = SI_GAMEPAD_CAMPAIGN_LOCKED_DIALOG_TITLE,
},
mainText =
{
text = function(dialog)
if dialog.data.isAbandoning then
local timeleftStr = ZO_SELECTED_TEXT:Colorize(ZO_FormatTime(GetCampaignUnassignCooldown(), TIME_FORMAT_STYLE_COLONS, TIME_FORMAT_PRECISION_TWELVE_HOUR, TIME_FORMAT_DIRECTION_DESCENDING))
return zo_strformat(SI_ABANDON_HOME_CAMPAIGN_LOCKED_MESSAGE, timeleftStr)
else
local timeleftStr = ZO_SELECTED_TEXT:Colorize(ZO_FormatTime(GetCampaignReassignCooldown(), TIME_FORMAT_STYLE_COLONS, TIME_FORMAT_PRECISION_TWELVE_HOUR, TIME_FORMAT_DIRECTION_DESCENDING))
return zo_strformat(SI_SELECT_HOME_CAMPAIGN_LOCKED_MESSAGE, timeleftStr)
end
end,
},
buttons =
{
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
},
},
})
- ingame/campaign/gamepad/campaignbrowserdialogs_gamepad.lua:159 --
ZO_Dialogs_RegisterCustomDialog(ZO_GAMEPAD_CAMPAIGN_SET_HOME_REVIEW_DIALOG,
{
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.BASIC
},
canQueue = true,
onlyQueueOnce = true,
setup = function(dialog)
dialog:setupFunc()
end,
title =
{
text = SI_GAMEPAD_CAMPAIGN_BROWSER_CHOOSE_HOME_CAMPAIGN_DIALOG_TITLE,
},
mainText =
{
text = function(dialog)
local messages = {}
local data = dialog.data
local campaignData = data.campaignData
local campaignName = ZO_SELECTED_TEXT:Colorize(campaignData.name)
local initialCooldownString = ZO_SELECTED_TEXT:Colorize(ZO_FormatTime(GetCampaignReassignInitialCooldown(), TIME_FORMAT_STYLE_SHOW_LARGEST_UNIT, TIME_FORMAT_PRECISION_TWELVE_HOUR, TIME_FORMAT_DIRECTION_DESCENDING))
local campaignInfoMessage = ZO_CachedStrFormat(SI_SELECT_HOME_CAMPAIGN_QUERY, campaignName, initialCooldownString)
table.insert(messages, campaignInfoMessage)
if ZO_CampaignBrowserDialogs_ShouldShowAllianceLockWarning(campaignData) then
local playerAlliance = GetUnitAlliance("player")
local allianceString = ZO_SELECTED_TEXT:Colorize(ZO_CampaignBrowser_FormatPlatformAllianceIconAndName(playerAlliance))
local campaignEndCooldownString = ZO_SELECTED_TEXT:Colorize(ZO_FormatTime(data.secondsUntilCampaignEnd, TIME_FORMAT_STYLE_SHOW_LARGEST_TWO_UNITS, TIME_FORMAT_PRECISION_TWELVE_HOUR, TIME_FORMAT_DIRECTION_DESCENDING))
local allianceLockMessage = zo_strformat(SI_ABOUT_TO_ALLIANCE_LOCK_CAMPAIGN_WARNING, allianceString, campaignEndCooldownString)
table.insert(messages, allianceLockMessage)
end
local nowCost, endCost = ZO_SelectHomeCampaign_GetCost()
local isFree = nowCost == 0
local costMessage
if isFree then
costMessage = GetString(SI_SELECT_HOME_CAMPAIGN_FREE)
else
local numAlliancePoints = GetCurrencyAmount(CURT_ALLIANCE_POINTS, CURRENCY_LOCATION_CHARACTER)
local hasEnough = nowCost <= numAlliancePoints
local priceMessage = GAMEPAD_AVA_BROWSER:GetPriceMessage(nowCost, hasEnough)
costMessage = ZO_CachedStrFormat(SI_GAMEPAD_CAMPAIGN_BROWSER_CHOOSE_HOME_CAMPAIGN_COST, priceMessage)
end
table.insert(messages, costMessage)
return ZO_GenerateParagraphSeparatedList(messages)
end,
},
updateFn = function(dialog)
local campaignData = dialog.data.campaignData
if not ZO_CampaignBrowserDialogs_ShouldShowAllianceLockWarning(campaignData) then
-- no need to update
return
end
local _, secondsUntilCampaignEnd = GetSelectionCampaignTimes(campaignData.selectionIndex)
if dialog.data.secondsUntilCampaignEnd ~= secondsUntilCampaignEnd then
dialog.data.secondsUntilCampaignEnd = secondsUntilCampaignEnd
ZO_Dialogs_RefreshDialogText(ZO_GAMEPAD_CAMPAIGN_SET_HOME_REVIEW_DIALOG, dialog)
end
end,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_DIALOG_ACCEPT,
callback = function(dialog)
ZO_Dialogs_ShowGamepadDialog(ZO_GAMEPAD_CAMPAIGN_SET_HOME_CONFIRM_DIALOG, { id = dialog.data.id } )
end,
clickSound = SOUNDS.DIALOG_ACCEPT,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
},
}
})
- ingame/campaign/gamepad/campaignbrowserdialogs_gamepad.lua:262 --
ZO_Dialogs_RegisterCustomDialog(ZO_GAMEPAD_CAMPAIGN_SET_HOME_CONFIRM_DIALOG,
{
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.PARAMETRIC
},
canQueue = true,
setup = function(dialog)
local nowCost, endCost = ZO_SelectHomeCampaign_GetCost()
screen.nowCost = nowCost
screen.endCost = endCost
screen.isFree = screen.nowCost == 0
screen.numAlliancePoints = GetCurrencyAmount(CURT_ALLIANCE_POINTS, CURRENCY_LOCATION_CHARACTER)
screen.hasEnoughNow = screen.nowCost <= screen.numAlliancePoints
screen.hasEnoughEnd = screen.endCost <= screen.numAlliancePoints
dialog:setupFunc()
end,
title =
{
text = SI_GAMEPAD_CAMPAIGN_BROWSER_CONFIRM_HOME_CAMPAIGN_DIALOG_TITLE,
},
parametricList =
{
{
template = "ZO_CampaignBrowserDialogsGamepadMenuEntryNoIcon",
text = GetString(SI_GAMEPAD_CAMPAIGN_SELECT_HOME_NOW),
templateData = {
isNow = true,
showUnselectedSublabels = true,
subLabels = {
function(control)
if screen.isFree then
return ""
else
return GAMEPAD_AVA_BROWSER:GetPriceMessage(screen.nowCost, screen.hasEnoughNow)
end
end
},
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function(dialog)
AssignCampaignToPlayer(dialog.data.id, CAMPAIGN_REASSIGN_TYPE_IMMEDIATE)
end,
},
},
{
template = "ZO_CampaignBrowserDialogsGamepadMenuEntryNoIcon",
text = GetString(SI_GAMEPAD_CAMPAIGN_SELECT_HOME_ON_END),
templateData = {
showUnselectedSublabels = true,
subLabels = {
GetString(SI_GAMEPAD_CAMPAIGN_SELECT_HOME_ON_END_INFO),
function(control)
if screen.isFree then
return ""
else
return GAMEPAD_AVA_BROWSER:GetPriceMessage(screen.endCost, screen.hasEnoughEnd)
end
end
},
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function(dialog)
AssignCampaignToPlayer(dialog.data.id, CAMPAIGN_REASSIGN_TYPE_ON_END)
end,
visible = function()
return GetAssignedCampaignId() ~= 0
end,
},
},
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
visible = function(dialog)
return CanChange(dialog)
end,
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
if targetData and targetData.callback then
targetData.callback(dialog)
end
end,
clickSound = SOUNDS.DIALOG_ACCEPT,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
},
}
})
- ingame/campaign/gamepad/campaignbrowserdialogs_gamepad.lua:378 --
ZO_Dialogs_RegisterCustomDialog(ZO_GAMEPAD_CAMPAIGN_ABANDON_HOME_CONFIRM_DIALOG,
{
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.PARAMETRIC
},
canQueue = true,
onlyQueueOnce = true,
setup = function(dialog)
local alliancePointCost, goldCost = ZO_AbandonHomeCampaign_GetCost()
screen.alliancePointCost = alliancePointCost
screen.goldCost = goldCost
screen.numAlliancePoints = GetCurrencyAmount(CURT_ALLIANCE_POINTS, CURRENCY_LOCATION_CHARACTER)
screen.numGoldAvailable = GetCurrencyAmount(CURT_MONEY, CURRENCY_LOCATION_CHARACTER)
screen.hasEnoughAlliancePoints = screen.alliancePointCost <= screen.numAlliancePoints
screen.hasEnoughGold = screen.goldCost <= screen.numGoldAvailable
dialog:setupFunc()
end,
title =
{
text = SI_CAMPAIGN_BROWSER_ABANDON_CAMPAIGN,
},
mainText =
{
text = SI_GAMEPAD_CAMPAIGN_BROWSER_CHOOSE_HOME_CAMPAIGN_MESSAGE,
},
--Only show those options that are relevant to the current cost of abandoning campaign through visible function parameter
parametricList =
{
--Free Change: this option intentionally empty text, if the change is free then only this option will be allowed and the dialog is just an accept/confirm with no options
{
template = "ZO_CampaignBrowserDialogsGamepadMenuEntryNoIcon",
text = "",
templateData = {
useAlliancePoints = true,
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function()
UnassignCampaignForPlayer(CAMPAIGN_UNASSIGN_TYPE_HOME_USE_ALLIANCE_POINTS)
end,
visible = function()
return screen.alliancePointCost == 0
end,
},
},
--Use Alliance Points
{
template = "ZO_CampaignBrowserDialogsGamepadMenuEntryNoIcon",
text = GetString(SI_ABANDON_HOME_CAMPAIGN_USE_ALLIANCE_POINTS),
templateData = {
useAlliancePoints = true,
showUnselectedSublabels = true,
subLabels = {
function(control)
return GAMEPAD_AVA_BROWSER:GetPriceMessage(screen.alliancePointCost, screen.hasEnoughAlliancePoints)
end
},
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function()
UnassignCampaignForPlayer(CAMPAIGN_UNASSIGN_TYPE_HOME_USE_ALLIANCE_POINTS)
end,
visible = function()
return screen.alliancePointCost ~= 0
end,
},
},
--Use Gold
{
template = "ZO_CampaignBrowserDialogsGamepadMenuEntryNoIcon",
text = GetString(SI_ABANDON_HOME_CAMPAIGN_USE_GOLD),
templateData = {
showUnselectedSublabels = true,
subLabels = {
function(control)
local USE_GOLD = true
return GAMEPAD_AVA_BROWSER:GetPriceMessage(screen.goldCost, screen.hasEnoughGold, USE_GOLD)
end
},
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function()
UnassignCampaignForPlayer(CAMPAIGN_UNASSIGN_TYPE_HOME_USE_GOLD)
end,
visible = function()
return screen.goldCost ~= 0 and screen.alliancePointCost ~= 0
end,
},
},
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_DIALOG_ACCEPT,
visible = function()
return CanChange()
end,
callback = function()
local targetData = dialog.entryList:GetTargetData()
if targetData and targetData.callback then
targetData.callback()
end
end,
clickSound = SOUNDS.DIALOG_ACCEPT,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
},
}
})
- ingame/championperks/championperks.lua:221 --
ZO_Dialogs_RegisterCustomDialog("CHAMPION_CONFIRM_COST",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
customControl = customControl,
title =
{
text = SI_CHAMPION_DIALOG_CONFIRM_CHANGES_TITLE,
},
mainText =
{
text = zo_strformat(SI_CHAMPION_DIALOG_CONFIRM_POINT_COST),
},
setup = function(dialog)
if SCENE_MANAGER:IsCurrentSceneGamepad() then
local gamepadGoldIconMarkup = ZO_Currency_GetGamepadFormattedCurrencyIcon(CURT_MONEY)
gamepadData.data1.value = zo_strformat(SI_CHAMPION_RESPEC_CURRENCY_FORMAT, ZO_CommaDelimitNumber(GetCurrencyAmount(CURT_MONEY, CURRENCY_LOCATION_CHARACTER)), gamepadGoldIconMarkup)
gamepadData.data2.value = zo_strformat(SI_CHAMPION_RESPEC_CURRENCY_FORMAT, ZO_CommaDelimitNumber(GetChampionRespecCost()), gamepadGoldIconMarkup)
dialog.setupFunc(dialog, gamepadData)
else
ZO_CurrencyControl_SetSimpleCurrency(customControl:GetNamedChild("BalanceAmount"), CURT_MONEY, GetCurrencyAmount(CURT_MONEY, CURRENCY_LOCATION_CHARACTER))
ZO_CurrencyControl_SetSimpleCurrency(customControl:GetNamedChild("RespecCost"), CURT_MONEY, GetChampionRespecCost())
end
end,
buttons =
{
{
control = customControl:GetNamedChild("Confirm"),
text = SI_DIALOG_CONFIRM,
callback = function(dialog)
CHAMPION_PERKS:SpendPointsConfirmed(dialog.data.respecNeeded)
end,
},
{
control = customControl:GetNamedChild("Cancel"),
text = SI_DIALOG_CANCEL,
}
}
})
- ingame/chapterupgrade/gamepad/chapterupgrade_gamepad.lua:414 --
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_CHAPTER_UPGRADE_CHOOSE_EDITION",
{
canQueue = true,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
dialog:setupFunc()
end,
title =
{
text = SI_CHAPTER_UPGRADE_GAMEPAD_SELECT_EDITION_DIALOG_TITLE,
},
parametricList =
{
-- Collector's
{
template = "ZO_GamepadMenuEntryTemplate",
templateData =
{
text = GetString(SI_CHAPTER_UPGRADE_GAMEPAD_SELECT_EDITION_DIALOG_COLLECTORS_ENTRY),
setup = ZO_SharedGamepadEntry_OnSetup,
isCollectorsEdition = true,
},
},
-- Standard
{
template = "ZO_GamepadMenuEntryTemplate",
templateData =
{
text = GetString(SI_CHAPTER_UPGRADE_GAMEPAD_SELECT_EDITION_DIALOG_STANDARD_ENTRY),
setup = ZO_SharedGamepadEntry_OnSetup,
isCollectorsEdition = false,
},
},
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local entryData = dialog.entryList:GetTargetData()
if dialog.data.chapterUpgradeData:IsPreRelease() then
ZO_ShowChapterPrepurchasePlatformDialog(dialog.data.chapterUpgradeData:GetChapterUpgradeId(), entryData.isCollectorsEdition, CHAPTER_UPGRADE_SOURCE_IN_GAME)
else
ZO_ShowChapterUpgradePlatformDialog(entryData.isCollectorsEdition, CHAPTER_UPGRADE_SOURCE_IN_GAME)
end
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
},
}
})
- ingame/chatsystem/chatoptions.lua:61 --
ZO_Dialogs_RegisterCustomDialog("CHAT_OPTIONS_DIALOG",
{
customControl = control,
title =
{
text = SI_WINDOW_TITLE_CHAT_CHANNEL_OPTIONS,
},
setup = function(self) CHAT_OPTIONS:Initialize(control) end,
buttons =
{
{
control = GetControl(control, "Commit"),
text = SI_DIALOG_EXIT,
keybind = "DIALOG_NEGATIVE",
callback = function(dialog)
ZO_ChatOptions_OnCommitClicked()
end,
},
{
control = GetControl(control, "Reset"),
text = SI_OPTIONS_DEFAULTS,
keybind = "DIALOG_RESET",
callback = function(dialog)
ZO_ChatOptions_OnResetClicked()
end,
},
}
})
- ingame/collections/gamepad/collectionsbook_gamepad.lua:1268 --
ZO_Dialogs_RegisterCustomDialog(GAMEPAD_COLLECTIONS_ACTIONS_DIALOG_NAME,
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
canQueue = true,
setup = function(dialog)
dialog:setupFunc()
end,
title =
{
text = SI_GAMEPAD_INVENTORY_ACTION_LIST_KEYBIND,
},
parametricList =
{
-- Link In Chat
{
template = "ZO_GamepadMenuEntryTemplate",
templateData = {
text = GetString(SI_ITEM_ACTION_LINK_TO_CHAT),
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function(dialog)
local link = ZO_LinkHandler_CreateChatLink(GetCollectibleLink, dialog.data.collectibleId)
ZO_LinkHandler_InsertLinkAndSubmit(zo_strformat(SI_TOOLTIP_ITEM_NAME, link))
end,
visible = IsChatSystemAvailableForCurrentPlatform
},
},
-- Rename
{
template = "ZO_GamepadMenuEntryTemplate",
templateData = {
text = GetString(SI_COLLECTIBLE_ACTION_RENAME),
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function(dialog)
ZO_Dialogs_ShowGamepadDialog(GAMEPAD_COLLECTIONS_RENAME_COLLECTIBLE_DIALOG_NAME, { collectibleId = dialog.data.collectibleId, name = dialog.data.name })
end,
visible = function(dialog)
local collectibleData = ZO_COLLECTIBLE_DATA_MANAGER:GetCollectibleDataById(parametricDialog.data.collectibleId)
return collectibleData and collectibleData:IsRenameable()
end
},
},
-- Unlock Permanently (Purchase)
{
template = "ZO_GamepadMenuEntryTemplate",
templateData = {
text = GetString(SI_GAMEPAD_DLC_BOOK_ACTION_OPEN_CROWN_STORE),
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function(dialog)
local collectibleData = self:GetCurrentTargetData()
local searchTerm = zo_strformat(SI_CROWN_STORE_SEARCH_FORMAT_STRING, collectibleData:GetName())
ShowMarketAndSearch(searchTerm, MARKET_OPEN_OPERATION_COLLECTIONS_DLC)
end,
visible = function()
return self:CanPurchaseCurrentTarget()
end
},
},
-- Chapter Upgrade
{
template = "ZO_GamepadMenuEntryTemplate",
templateData = {
text = GetString(SI_DLC_BOOK_ACTION_CHAPTER_UPGRADE),
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function(dialog)
ZO_ShowChapterUpgradePlatformScreen(MARKET_OPEN_OPERATION_COLLECTIONS_DLC)
end,
visible = function()
return self:CanUpgradeCurrentTarget()
end
},
},
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_OK,
callback = function(dialog)
local data = dialog.entryList:GetTargetData()
data.callback(dialog)
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
},
}
})
- ingame/collections/gamepad/collectionsbook_gamepad.lua:1407 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
canQueue = true,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
dialog:setupFunc()
end,
title =
{
text = SI_COLLECTIONS_INVENTORY_DIALOG_RENAME_COLLECTIBLE_TITLE,
},
mainText =
{
text = SI_COLLECTIONS_INVENTORY_DIALOG_RENAME_COLLECTIBLE_MAIN,
},
parametricList =
{
-- user name
{
template = "ZO_GamepadTextFieldItem",
templateData = {
nameField = true,
textChangedCallback = function(control)
inputText = control:GetText()
UpdateSelectedName(inputText)
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.editBoxControl.textChangedCallback = data.textChangedCallback
control.editBoxControl:SetMaxInputChars(COLLECTIBLE_NAME_MAX_LENGTH)
data.control = control
if parametricDialog.data then
control.editBoxControl:SetText(zo_strformat(SI_COLLECTIBLE_NAME_FORMATTER, parametricDialog.data.name))
else
ZO_EditDefaultText_Initialize(control.editBoxControl, "")
end
end,
},
},
},
blockDialogReleaseOnPress = true,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local data = dialog.entryList:GetTargetData()
SetActiveEdit(data.control.editBoxControl)
end,
},
{
keybind = "DIALOG_SECONDARY",
text = SI_GAMEPAD_COLLECTIONS_SAVE_NAME_OPTION,
callback = function(dialog)
local collectibleId = dialog.data.collectibleId
RenameCollectible(collectibleId, inputText)
ReleaseDialog()
end,
visible = function()
return self.noViolations
end,
clickSound = SOUNDS.DIALOG_ACCEPT,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function(dialog)
ReleaseDialog()
end,
},
}
})
- ingame/contacts/gamepad/notifications_gamepad.lua:731 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
dialog:setupFunc()
end,
title =
{
text = SI_GAMEPAD_NOTIFICATIONS_DECLINE_INVITE,
},
mainText =
{
text = function(dialog)
return dialog.data.mainText()
end,
},
parametricList = parametricListOptions,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_OK,
callback = function(dialog)
local data = dialog.entryList:GetTargetData()
data.callback(dialog)
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
},
}
})
- ingame/contacts/gamepad/socialdialogs_gamepad.lua:75 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
dialog.info.parametricList = dialog.data.parametricList
finishedCallback = nil
dialog:setupFunc()
end,
finishedCallback = function(dialog)
if finishedCallback then
finishedCallback()
end
end,
title =
{
text = SI_GAMEPAD_CONTACTS_OPTIONS_TITLE,
},
blockDialogReleaseOnPress = true,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local data = dialog.entryList:GetTargetData()
if data.callback then
data.callback()
end
finishedCallback = data.finishedCallback
ReleaseDialog(dialogName)
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function()
ReleaseDialog(dialogName)
end,
},
}
})
- ingame/contacts/gamepad/socialdialogs_gamepad.lua:133 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
canQueue = true,
setup = function(dialog)
dialog:setupFunc()
end,
title =
{
text = SI_EDIT_NOTE_DIALOG_TITLE,
},
parametricList =
{
-- note
{
template = "ZO_Gamepad_GenericDialog_Parametric_TextFieldItem",
templateData = {
nameField = true,
textChangedCallback = function(control)
parametricDialog.data.note = control:GetText()
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.highlight:SetHidden(not selected)
control.editBoxControl.textChangedCallback = data.textChangedCallback
control.editBoxControl:SetMaxInputChars(254)
ZO_EditDefaultText_Initialize(control.editBoxControl, GetString(SI_EDIT_NOTE_DEFAULT_TEXT))
if parametricDialog.data.note then
control.editBoxControl:SetText(parametricDialog.data.note)
end
data.control = control
end,
callback = function(dialog)
SetActiveEdit(dialog)
end,
},
},
-- save
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData = {
text = GetString(SI_GAMEPAD_CONTACTS_EDIT_NOTE_CONFIRM),
setup = SetupRequestEntry,
callback = function(dialog)
if dialog.data.noteChangedCallback then
dialog.data.noteChangedCallback(dialog.data.displayName, dialog.data.note)
ZO_Alert(UI_ALERT_CATEGORY_ALERT, nil, SI_GAMEPAD_CONTACTS_NOTE_SAVED)
ReleaseDialog(dialogName)
end
end,
},
},
},
blockDialogReleaseOnPress = true,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
PrimaryButtonCallback(dialog)
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function()
ReleaseDialog(dialogName)
end,
},
}
})
- ingame/contacts/gamepad/socialdialogs_gamepad.lua:324 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
canQueue = true,
setup = function(dialog)
if dialog.data then
nameText = dialog.data.displayName
else
nameText = ""
end
dialog:setupFunc()
end,
title =
{
text = SI_REQUEST_FRIEND_DIALOG_TITLE,
},
parametricList = friendParametricList,
blockDialogReleaseOnPress = true,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
PrimaryButtonCallback(dialog)
end,
enabled = function(dialog)
return IsButtonEnabled(dialog, SI_GAMEPAD_REQUEST_OPTION, nameText)
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function(dialog)
ReleaseAddFriendDialog()
end,
},
}
})
- ingame/contacts/gamepad/socialdialogs_gamepad.lua:383 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
canQueue = true,
setup = function(dialog)
dialog:setupFunc()
end,
title =
{
text = SI_PROMPT_TITLE_ADD_IGNORE,
},
parametricList =
{
-- user name
{
template = "ZO_Gamepad_GenericDialog_Parametric_TextFieldItem",
templateData = {
nameField = true,
textChangedCallback = function(control)
nameText = control:GetText()
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.highlight:SetHidden(not selected)
control.editBoxControl.textChangedCallback = data.textChangedCallback
data.control = control
if parametricDialog.data and data.nameField then
control.editBoxControl:SetText(parametricDialog.data.displayName)
else
local validInput = IsValidInput(nameText)
if validInput then
control.editBoxControl:SetText(nameText)
else
ZO_EditDefaultText_Initialize(control.editBoxControl, ZO_GetInviteInstructions())
end
end
end,
callback = function(dialog)
SetActiveEdit(dialog)
end,
},
},
-- ignore
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData = {
text = GetString(SI_FRIEND_MENU_IGNORE),
setup = SetupRequestEntry,
callback = function(dialog)
if IsValidInput(nameText) then
AddIgnore(nameText)
ReleaseDialog(dialogName)
end
end,
validInput = function()
return IsValidInput(nameText)
end,
}
},
},
blockDialogReleaseOnPress = true,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
PrimaryButtonCallback(dialog)
end,
enabled = function(dialog)
return IsButtonEnabled(dialog, SI_FRIEND_MENU_IGNORE, nameText)
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function(dialog)
ReleaseDialog(dialogName)
end,
},
}
})
- ingame/contacts/gamepad/socialdialogs_gamepad.lua:481 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
nameText = ""
dialog:setupFunc()
end,
title =
{
text = SI_PROMPT_TITLE_GUILD_INVITE,
},
parametricList =
{
-- user name
{
template = "ZO_Gamepad_GenericDialog_Parametric_TextFieldItem",
templateData = {
textChangedCallback = function(control)
nameText = control:GetText()
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.highlight:SetHidden(not selected)
control.editBoxControl.textChangedCallback = data.textChangedCallback
data.control = control
local validInput = IsValidInput(nameText)
if validInput then
control.editBoxControl:SetText(nameText)
else
ZO_EditDefaultText_Initialize(control.editBoxControl, ZO_GetInviteInstructions())
end
end,
callback = function(dialog)
SetActiveEdit(dialog)
end,
},
},
-- add
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData = {
text = GetString(SI_GAMEPAD_REQUEST_OPTION),
setup = SetupRequestEntry,
callback = function(dialog)
if IsValidInput(nameText) then
local guildId = dialog.data.guildId
ZO_TryGuildInvite(guildId, ZO_FormatManualNameEntry(nameText))
ReleaseDialog(dialogName)
end
end,
validInput = function()
return IsValidInput(nameText)
end,
}
},
},
blockDialogReleaseOnPress = true,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
PrimaryButtonCallback(dialog)
end,
enabled = function(dialog)
return IsButtonEnabled(dialog, SI_GAMEPAD_REQUEST_OPTION, nameText)
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function(dialog)
ReleaseDialog(dialogName)
end,
},
}
})
- ingame/contacts/gamepad/socialdialogs_gamepad.lua:575 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
nameText = ""
dialog:setupFunc()
end,
title =
{
text = SI_GROUP_WINDOW_INVITE_PLAYER,
},
parametricList =
{
-- user name
{
template = "ZO_Gamepad_GenericDialog_Parametric_TextFieldItem",
templateData = {
textChangedCallback = function(control)
nameText = control:GetText()
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.highlight:SetHidden(not selected)
control.editBoxControl.textChangedCallback = data.textChangedCallback
data.control = control
local validInput = IsValidInput(nameText)
if validInput then
control.editBoxControl:SetText(nameText)
else
ZO_EditDefaultText_Initialize(control.editBoxControl, ZO_GetInviteInstructions())
end
end,
callback = function(dialog)
SetActiveEdit(dialog)
end,
},
},
-- invite
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData = {
text = GetString(SI_GAMEPAD_REQUEST_OPTION),
setup = SetupRequestEntry,
callback = function(dialog)
if IsValidInput(nameText) then
local NOT_SENT_FROM_CHAT = false
local DISPLAY_INVITED_MESSAGE = true
TryGroupInviteByName(ZO_FormatManualNameEntry(nameText), NOT_SENT_FROM_CHAT, DISPLAY_INVITED_MESSAGE)
ReleaseDialog(dialogName)
end
end,
validInput = function()
return IsValidInput(nameText)
end,
}
},
},
blockDialogReleaseOnPress = true,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
PrimaryButtonCallback(dialog)
end,
enabled = function(dialog)
return IsButtonEnabled(dialog, SI_GAMEPAD_REQUEST_OPTION, nameText)
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function(dialog)
ReleaseDialog(dialogName)
end,
},
}
})
- ingame/contacts/keyboard/socialdialogs_keyboard.lua:14 --
ZO_Dialogs_RegisterCustomDialog("REQUEST_FRIEND",
{
customControl = self,
setup = RequestFriendDialogSetup,
title =
{
text = SI_REQUEST_FRIEND_DIALOG_TITLE,
},
buttons =
{
[1] =
{
control = GetControl(self, "Request"),
text = SI_REQUEST_FRIEND_DIALOG_REQUEST,
callback = function(dialog)
local name = GetControl(dialog, "NameEdit"):GetText()
local message = GetControl(dialog, "MessageEdit"):GetText()
if(name ~= "") then
RequestFriend(name, message)
end
end,
},
[2] =
{
control = GetControl(self, "Cancel"),
text = SI_DIALOG_CANCEL,
}
}
})
- ingame/contacts/keyboard/socialdialogs_keyboard.lua:60 --
ZO_Dialogs_RegisterCustomDialog("EDIT_NOTE",
{
customControl = self,
setup = EditNoteDialogSetup,
title =
{
text = SI_EDIT_NOTE_DIALOG_TITLE,
},
buttons =
{
[1] =
{
control = GetControl(self, "Save"),
text = SI_SAVE,
callback = function(dialog)
local data = dialog.data
local note = GetControl(dialog, "NoteEdit"):GetText()
if(note ~= data.note) then
data.changedCallback(data.displayName, note)
end
end,
},
[2] =
{
control = GetControl(self, "Cancel"),
text = SI_DIALOG_CANCEL,
}
}
})
- ingame/contacts/keyboard/socialdialogs_keyboard.lua:110 --
ZO_Dialogs_RegisterCustomDialog("CREATE_GUILD",
{
title =
{
text = SI_PROMPT_TITLE_GUILD_CREATE,
},
customControl = self,
setup = CreateGuildDialogSetup,
buttons =
{
[1] =
{
control = GetControl(self, "Create"),
text = SI_DIALOG_CREATE,
callback = function(dialog)
local guildName = dialog.nameEdit:GetText()
if(guildName and guildName ~= "") then
GuildCreate(guildName, dialog.selectedAlliance)
end
end,
},
[2] =
{
control = GetControl(self, "Cancel"),
text = SI_DIALOG_CANCEL,
}
}
})
- ingame/crafting/gamepad/smithingresearch_gamepad.lua:241 --
ZO_Dialogs_RegisterCustomDialog(ZO_GAMEPAD_CONFIRM_CANCEL_RESEARCH_DIALOG,
{
blockDialogReleaseOnPress = true,
canQueue = true,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
allowRightStickPassThrough = true,
},
setup = function(dialog)
self.destroyConfirmText = nil
dialog:setupFunc()
end,
title =
{
text = SI_CRAFTING_CONFIRM_CANCEL_RESEARCH_TITLE,
},
mainText =
{
text = SI_GAMEPAD_CRAFTING_CONFIRM_CANCEL_RESEARCH_DESCRIPTION,
},
buttons =
{
{
onShowCooldown = 2000,
keybind = "DIALOG_PRIMARY",
text = GetString(SI_YES),
callback = function(dialog)
local data = dialog.data
CancelSmithingTraitResearch(data.craftingType, data.researchLineIndex, data.traitIndex)
ReleaseDialog()
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_NO),
callback = function()
ReleaseDialog()
end,
},
}
})
- ingame/crafting/keyboard/craftingresults_keyboard.lua:33 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
customControl = control,
setup = SetupEnchantDialog,
title =
{
text = SI_ENCHANTING_TRANSLATION_LEARNED_DIALOG_TITLE,
},
buttons =
{
{
keybind = "DIALOG_NEGATIVE",
control = control:GetNamedChild("Exit"),
text = SI_EXIT_BUTTON,
},
}
})
- ingame/crafting/keyboard/craftingresults_keyboard.lua:161 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
customControl = control,
setup = SetupAlchemyDialog,
title =
{
text = SI_ALCHEMY_REAGENT_TRAIT_LEARNED_DIALOG_TITLE,
},
buttons =
{
{
keybind = "DIALOG_NEGATIVE",
control = control:GetNamedChild("Exit"),
text = SI_EXIT_BUTTON,
},
}
})
- ingame/crafting/keyboard/smithingresearch_keyboard.lua:177 --
ZO_Dialogs_RegisterCustomDialog("SMITHING_RESEARCH_SELECT",
{
customControl = function() return ZO_InventorySlot_GetItemListDialog():GetControl() end,
setup = function(dialog, data) self:SetupDialog(data.craftingType, data.researchLineIndex, data.traitIndex) end,
title =
{
text = SI_SMITHING_RESEARCH_DIALOG_TITLE,
},
buttons =
{
{
control = ZO_InventorySlot_GetItemListDialog():GetButton(1),
text = SI_SMITHING_RESEARCH_DIALOG_CONFIRM,
clickSound = SOUNDS.SMITHING_START_RESEARCH,
callback = function()
local selectedData = ZO_InventorySlot_GetItemListDialog():GetSelectedItem()
if selectedData then
ResearchSmithingTrait(selectedData.bag, selectedData.index)
end
end,
},
{
control = ZO_InventorySlot_GetItemListDialog():GetButton(2),
text = SI_DIALOG_CANCEL,
}
}
})
- ingame/enchanting/keyboard/applyenchant_keyboard.lua:42 --
ZO_Dialogs_RegisterCustomDialog("ENCHANTING",
{
customControl = function() return ZO_InventorySlot_GetItemListDialog():GetControl() end,
setup = function(dialog, data) self:SetupDialog(data.bag, data.index) end,
canQueue = true,
title =
{
text = SI_ENCHANT_TITLE,
},
buttons =
{
{
control = ZO_InventorySlot_GetItemListDialog():GetButton(1),
text = SI_ENCHANT_CONFIRM,
clickSound = SOUNDS.INVENTORY_ITEM_APPLY_ENCHANT,
callback = PerformEnchant,
},
{
control = ZO_InventorySlot_GetItemListDialog():GetButton(2),
text = SI_DIALOG_CANCEL,
}
}
})
- ingame/giftinventory/gamepad/giftinventorydialogs_gamepad.lua:35 --
ZO_Dialogs_RegisterCustomDialog("CONFIRM_CLAIM_GIFT_GAMEPAD",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
dialog:setupFunc()
end,
title =
{
text = SI_CONFIRM_CLAIM_GIFT_TITLE,
},
mainText =
{
text = function(dialog)
return zo_strformat(SI_CONFIRM_CLAIM_GIFT_NOTE_ENTRY_HEADER, ZO_WHITE:Colorize(dialog.data.gift:GetUserFacingPlayerName()))
end,
},
blockDialogReleaseOnPress = true, -- We'll handle Dialog Releases ourselves since we don't want DIALOG_PRIMARY to release the dialog on press.
canQueue = true,
parametricList =
{
-- Thank You message
{
template = "ZO_Gamepad_GenericDialog_Parametric_TextFieldItem_Multiline",
entryData = CreateGiftMessageEntryData(),
},
-- Confirm
{
template = "ZO_GamepadTextFieldSubmitItem",
entryData = CreateConfirmationEntryData(),
},
},
buttons =
{
-- Cancel Button
{
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
callback = function(dialog)
ZO_Dialogs_ReleaseDialogOnButtonPress("CONFIRM_CLAIM_GIFT_GAMEPAD")
end,
},
-- Select Button (used for entering name)
{
keybind = "DIALOG_PRIMARY",
text = GetString(SI_GAMEPAD_SELECT_OPTION),
enabled = function(dialog)
local platform = GetUIPlatform()
if platform == UI_PLATFORM_PS4 or platform == UI_PLATFORM_XBOX then
local targetData = dialog.entryList:GetTargetData()
if targetData.messageEntry then
if IsConsoleCommunicationRestricted() then
return false, GetString(SI_CONSOLE_COMMUNICATION_PERMISSION_ERROR_GLOBALLY_RESTRICTED)
end
end
end
return true
end,
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
local targetControl = dialog.entryList:GetTargetControl()
if targetData.messageEntry and targetControl then
targetControl.editBoxControl:TakeFocus()
elseif targetData.confirmEntry then
local note = dialog.data.giftMessage
dialog.data.gift:TakeGift(note)
end
end,
clickSound = SOUNDS.GIFT_INVENTORY_ACTION_CLAIM,
},
-- Random note
{
keybind = "DIALOG_SECONDARY",
text = SI_GAMEPAD_GENERATE_RANDOM_NOTE,
visible = function(dialog)
local targetData = dialog.entryList:GetTargetData()
return targetData.messageEntry == true
end,
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
local targetControl = dialog.entryList:GetTargetControl()
if targetData.messageEntry and targetControl then
targetControl.editBoxControl:SetText(GetRandomGiftThankYouNoteText())
end
end,
},
},
noChoiceCallback = function(dialog)
ZO_Dialogs_ReleaseDialogOnButtonPress("CONFIRM_CLAIM_GIFT_GAMEPAD")
end,
})
- ingame/giftinventory/gamepad/giftinventorydialogs_gamepad.lua:138 --
ZO_Dialogs_RegisterCustomDialog("CONFIRM_RETURN_GIFT_GAMEPAD",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
dialog:setupFunc()
end,
title =
{
text = SI_CONFIRM_RETURN_GIFT_TITLE,
},
blockDialogReleaseOnPress = true, -- We'll handle Dialog Releases ourselves since we don't want DIALOG_PRIMARY to release the dialog on press.
parametricList =
{
-- Return message
{
template = "ZO_Gamepad_GenericDialog_Parametric_TextFieldItem_Multiline",
entryData = CreateGiftMessageEntryData(),
},
-- Confirm
{
template = "ZO_GamepadTextFieldSubmitItem",
entryData = CreateConfirmationEntryData(),
},
},
buttons =
{
-- Cancel Button
{
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
callback = function(dialog)
ZO_Dialogs_ReleaseDialogOnButtonPress("CONFIRM_RETURN_GIFT_GAMEPAD")
end,
},
-- Select Button (used for entering name)
{
keybind = "DIALOG_PRIMARY",
text = GetString(SI_GAMEPAD_SELECT_OPTION),
enabled = function(dialog)
local platform = GetUIPlatform()
if platform == UI_PLATFORM_PS4 or platform == UI_PLATFORM_XBOX then
local targetData = dialog.entryList:GetTargetData()
if targetData.messageEntry then
if IsConsoleCommunicationRestricted() then
return false, GetString(SI_CONSOLE_COMMUNICATION_PERMISSION_ERROR_GLOBALLY_RESTRICTED)
end
end
end
return true
end,
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
local targetControl = dialog.entryList:GetTargetControl()
if targetData.messageEntry and targetControl then
targetControl.editBoxControl:TakeFocus()
elseif targetData.confirmEntry then
local note = dialog.data.giftMessage
dialog.data.gift:ReturnGift(note)
end
end,
},
},
noChoiceCallback = function(dialog)
ZO_Dialogs_ReleaseDialogOnButtonPress("CONFIRM_RETURN_GIFT_GAMEPAD")
end,
})
- ingame/giftinventory/gamepad/giftinventorydialogs_gamepad.lua:215 --
ZO_Dialogs_RegisterCustomDialog("CONFIRM_DELETE_GIFT_GAMEPAD",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_CONFIRM_DELETE_GIFT_TITLE,
},
mainText =
{
text = SI_CONFIRM_DELETE_GIFT_PROMPT,
},
buttons =
{
-- Confirm Button
{
keybind = "DIALOG_PRIMARY",
text = GetString(SI_DIALOG_CONFIRM),
callback = function(dialog)
local gift = dialog.data.gift
gift:DeleteGift()
end,
},
-- Cancel Button
{
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
},
},
})
- ingame/giftinventory/gamepad/giftinventorydialogs_gamepad.lua:251 --
ZO_Dialogs_RegisterCustomDialog("CLAIM_GIFT_NOTICE_GAMEPAD",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_MARKET_PRODUCT_NAME_FORMATTER,
},
mainText =
{
text = SI_CLAIM_GIFT_NOTICE_BODY_FORMATTER,
},
buttons =
{
-- Continue Button
{
keybind = "DIALOG_PRIMARY",
text = GetString(SI_CLAIM_GIFT_NOTICE_CONTINUE_KEYBIND),
callback = function(dialog)
ZO_Dialogs_ShowGamepadDialog("CONFIRM_CLAIM_GIFT_GAMEPAD", { gift = dialog.data.gift })
end,
},
-- Cancel Button
{
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
},
-- More Info Button
{
keybind = "DIALOG_TERTIARY",
text = GetString(SI_CLAIM_GIFT_NOTICE_MORE_INFO_KEYBIND),
visible = function(dialog)
return dialog.data.helpCategoryIndex ~= nil
end,
callback = function(dialog)
local data = dialog.data
HELP_TUTORIALS_ENTRIES_GAMEPAD:Push(data.helpCategoryIndex, data.helpIndex)
end,
},
},
})
- ingame/giftinventory/keyboard/giftinventorydialogs_keyboard.lua:12 --
ZO_Dialogs_RegisterCustomDialog("CONFIRM_CLAIM_GIFT_KEYBOARD",
{
canQueue = true,
title =
{
text = SI_CONFIRM_CLAIM_GIFT_TITLE,
},
customControl = self,
setup = function(dialog, gift)
local noteHeaderLabel = dialog:GetNamedChild("NoteHeader")
noteHeaderLabel:SetText(zo_strformat(SI_CONFIRM_CLAIM_GIFT_NOTE_ENTRY_HEADER, ZO_WHITE:Colorize(gift:GetUserFacingPlayerName())))
dialog:GetNamedChild("NoteEdit"):SetText("")
end,
buttons =
{
-- Cancel Button
{
control = self:GetNamedChild("Cancel"),
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
},
-- Confirm Button
{
control = self:GetNamedChild("Confirm"),
keybind = "DIALOG_PRIMARY",
text = GetString(SI_DIALOG_CONFIRM),
callback = function(dialog)
local noteText = dialog:GetNamedChild("NoteEdit"):GetText()
dialog.data:TakeGift(noteText)
end,
clickSound = SOUNDS.GIFT_INVENTORY_ACTION_CLAIM,
},
},
})
- ingame/giftinventory/keyboard/giftinventorydialogs_keyboard.lua:58 --
ZO_Dialogs_RegisterCustomDialog("CONFIRM_RETURN_GIFT_KEYBOARD",
{
title =
{
text = SI_CONFIRM_RETURN_GIFT_TITLE,
},
customControl = self,
setup = function(dialog, gift)
dialog:GetNamedChild("NoteEdit"):SetText("")
end,
buttons =
{
-- Cancel Button
{
control = self:GetNamedChild("Cancel"),
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
},
-- Confirm Button
{
control = self:GetNamedChild("Confirm"),
keybind = "DIALOG_PRIMARY",
text = GetString(SI_DIALOG_CONFIRM),
callback = function(dialog)
local noteText = dialog:GetNamedChild("NoteEdit"):GetText()
dialog.data:ReturnGift(noteText)
end,
},
},
})
- ingame/giftinventory/keyboard/giftinventorydialogs_keyboard.lua:95 --
ZO_Dialogs_RegisterCustomDialog("CONFIRM_DELETE_GIFT_KEYBOARD",
{
title =
{
text = SI_CONFIRM_DELETE_GIFT_TITLE,
},
mainText =
{
text = SI_CONFIRM_DELETE_GIFT_PROMPT,
},
buttons =
{
-- Confirm Button
{
keybind = "DIALOG_PRIMARY",
text = GetString(SI_DIALOG_CONFIRM),
callback = function(dialog)
local gift = dialog.data
gift:DeleteGift()
end,
},
-- Cancel Button
{
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
},
},
})
- ingame/giftinventory/keyboard/giftinventorydialogs_keyboard.lua:130 --
ZO_Dialogs_RegisterCustomDialog("CLAIM_GIFT_NOTICE_KEYBOARD",
{
customControl = control,
setup = function(dialog)
local data = dialog.data
helpButton:SetHidden(data.helpCategoryIndex == nil)
helpButton:SetHandler("OnClicked", function()
HELP:ShowSpecificHelp(data.helpCategoryIndex, data.helpIndex)
ZO_Dialogs_ReleaseDialog(dialog)
end)
end,
title =
{
text = SI_MARKET_PRODUCT_NAME_FORMATTER,
},
mainText =
{
text = SI_CLAIM_GIFT_NOTICE_BODY_FORMATTER,
},
buttons =
{
-- Continue Button
{
control = control:GetNamedChild("Continue"),
keybind = "DIALOG_PRIMARY",
text = GetString(SI_CLAIM_GIFT_NOTICE_CONTINUE_KEYBIND),
callback = function(dialog)
ZO_Dialogs_ShowDialog("CONFIRM_CLAIM_GIFT_KEYBOARD", dialog.data.gift)
end,
},
-- Cancel Button
{
control = control:GetNamedChild("Cancel"),
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
}
},
})
- ingame/guild/guildheraldry_shared.lua:496 --
ZO_Dialogs_RegisterCustomDialog(self:GetPurchaseDialogName(),
{
customControl = control,
setup = SetupHeraldryDialog,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_GUILD_HERALDRY_DIALOG_PURCHASE_TITLE,
},
mainText =
{
text = SI_GUILD_HERALDRY_DIALOG_PURCHASE_DESCRIPTION,
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
control = control and GetControl(control, "Accept"),
text = SI_DIALOG_ACCEPT,
callback = function(dialog)
ApplyPendingHeraldryChanges()
dialog.data.owner.pendingTransaction = true
end,
},
{
keybind = "DIALOG_NEGATIVE",
control = control and GetControl(control, "Cancel"),
text = SI_DIALOG_CANCEL,
callback = function(dialog)
-- Do nothing
end,
},
}
})
- ingame/guild/guildheraldry_shared.lua:540 --
ZO_Dialogs_RegisterCustomDialog(self:GetApplyChangesDialogName(),
{
customControl = control,
setup = SetupHeraldryDialog,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_GUILD_HERALDRY_DIALOG_APPLY_CHANGES_TITLE,
},
mainText =
{
text = function()
local textValue
if self:IsPendingExit() then
textValue = SI_GUILD_HERALDRY_DIALOG_APPLY_CHANGES_PENDING_EXIT_DESCRIPTION
else
textValue = SI_GUILD_HERALDRY_DIALOG_APPLY_CHANGES_DESCRIPTION
end
return textValue
end,
},
noChoiceCallback = function()
if self:IsPendingExit() then
self:NoChoiceExitCallback()
end
end,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
control = control and GetControl(control, "Accept"),
text = SI_GUILD_HERALDRY_DIALOG_ACCEPT,
callback = function(dialog)
ApplyPendingHeraldryChanges()
dialog.data.owner.pendingTransaction = true
if self:IsPendingExit() then
self:ConfirmExit()
end
end,
},
{
keybind = "DIALOG_NEGATIVE",
control = control and GetControl(control, "Cancel"),
text = SI_GUILD_HERALDRY_DIALOG_CANCEL,
callback = function(dialog)
if self:IsPendingExit() then
self:ConfirmExit()
end
end,
},
{
keybind = "DIALOG_TERTIARY",
control = control and GetControl(control, "Return"),
text = SI_GAMEPAD_GUILD_HERALDRY_CANCEL_EXIT,
callback = function(dialog)
self:CancelExit()
end,
visible = function()
return IsInGamepadPreferredMode() and self:IsPendingExit()
end,
},
}
})
- ingame/guild/selectguilddialog.lua:40 --
ZO_Dialogs_RegisterCustomDialog(dialogName, self.dialogInfo)
- ingame/guild/zo_guildranks_shared.lua:279 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
setup = function(dialog)
dialog:GetNamedChild("NameEdit"):SetText("")
dialog.copyComboBox:ClearItems()
local noneEntry = dialog.copyComboBox:CreateItemEntry(GetString(SI_GUILD_RANKS_COPY_NONE), dialog.copyComboBox.OnRankSelected)
dialog.copyComboBox:AddItem(noneEntry)
--Skip Guild Master
for i = 2, #self.ranks do
local entry = dialog.copyComboBox:CreateItemEntry(self.ranks[i].name, dialog.copyComboBox.OnRankSelected)
entry.rankIndex = i
dialog.copyComboBox:AddItem(entry)
end
dialog.copyComboBox:SetSelectedItemText(GetString(SI_GUILD_RANKS_COPY_NONE))
dialog.copyComboBox.selectedRankIndex = nil
end,
customControl = control,
title =
{
text = SI_GUILD_RANKS_ADD_RANK,
},
buttons =
{
[1] =
{
control = GetControl(control, "Add"),
text = SI_DIALOG_CREATE,
callback = function(dialog)
local rankName = dialog:GetNamedChild("NameEdit"):GetText()
self:AddRank(rankName, dialog.copyComboBox.selectedRankIndex)
end,
},
[2] =
{
control = GetControl(control, "Cancel"),
text = SI_DIALOG_CANCEL,
callback = function()
self:CancelDialog()
end,
}
}
})
- ingame/guild/gamepad/guildroster_gamepad.lua:343 --
ZO_Dialogs_RegisterCustomDialog(ZO_GAMEPAD_CONFIRM_REMOVE_GUILD_MEMBER_DIALOG_NAME,
{
blockDialogReleaseOnPress = true,
canQueue = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
allowRightStickPassThrough = true,
},
setup = function(dialog)
self.canAddToBlacklist = DoesPlayerHaveGuildPermission(self.guildId, GUILD_PERMISSION_MANAGE_BLACKLIST)
self.addToBlacklist = false
self.blacklistNote = nil
GUILD_RECRUITMENT_MANAGER:RegisterCallback("GuildPermissionsChanged", OnGuildPermissionChangedCallback)
dialog:setupFunc()
-- Select Remove button if no blacklist permissions
if not DoesPlayerHaveGuildPermission(self.guildId, GUILD_PERMISSION_MANAGE_BLACKLIST) then
local REMOVE_ENTRY_INDEX = 2
dialog.entryList:SetSelectedIndex(REMOVE_ENTRY_INDEX)
end
end,
finishedCallback = function(dialog)
GUILD_RECRUITMENT_MANAGER:UnregisterCallback("GuildPermissionsChanged", OnGuildPermissionChangedCallback)
end,
title =
{
text = SI_PROMPT_TITLE_GUILD_REMOVE_MEMBER,
},
mainText =
{
text = SI_GUILD_REMOVE_MEMBER_WARNING,
},
parametricList =
{
-- Backlist checkbox
{
template = "ZO_CheckBoxTemplate_WithoutIndent_Gamepad",
templateData = {
text = GetString(SI_GUILD_RECRUITMENT_ADD_TO_BLACKLIST_ACTION),
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
data.enabled = self.canAddToBlacklist
ZO_SharedGamepadEntry_OnSetup(control, data, selected, reselectingDuringRebuild, enabled, active)
local checkboxControl = control.checkBox
if self.addToBlacklist then
ZO_CheckButton_SetChecked(checkboxControl)
else
ZO_CheckButton_SetUnchecked(checkboxControl)
end
if self.canAddToBlacklist then
ZO_CheckButton_Enable(checkboxControl)
else
ZO_CheckButton_Disable(checkboxControl)
if selected then
local NO_TOOLTIP_TITLE = nil
GAMEPAD_TOOLTIPS:LayoutTitleAndDescriptionTooltip(GAMEPAD_LEFT_TOOLTIP, NO_TOOLTIP_TITLE, GetString(SI_GUILD_RECRUITMENT_NO_BLACKLIST_PERMISSION))
else
GAMEPAD_TOOLTIPS:ClearLines(GAMEPAD_LEFT_TOOLTIP)
end
end
end,
callback = function(dialog)
local targetControl = dialog.entryList:GetTargetControl()
ZO_GamepadCheckBoxTemplate_OnClicked(targetControl)
self.addToBlacklist = ZO_GamepadCheckBoxTemplate_IsChecked(targetControl)
local RESELECT_ENTRY = true
ZO_GenericParametricListGamepadDialogTemplate_RebuildEntryList(dialog, nil, RESELECT_ENTRY)
end,
},
},
-- Blacklist Note
{
template = "ZO_Gamepad_GenericDialog_Parametric_TextFieldItem_Multiline",
templateData = {
textChangedCallback = function(control)
local blacklistNote = control:GetText()
self.blacklistNote = blacklistNote
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.highlight:SetHidden(not selected)
control.editBoxControl.textChangedCallback = data.textChangedCallback
data.control = control
ZO_EditDefaultText_Initialize(control.editBoxControl, GetString(SI_GUILD_RECRUITMENT_BLACKLIST_NOTE_DEFAULT_TEXT))
control.editBoxControl:SetMaxInputChars(MAX_GUILD_BLACKLIST_MESSAGE_LENGTH)
if self.blacklistNote then
control.editBoxControl:SetText(self.blacklistNote)
end
end,
visible = function()
return self.addToBlacklist
end,
callback = function(dialog)
local targetControl = dialog.entryList:GetTargetControl()
targetControl.editBoxControl:TakeFocus()
end,
},
},
-- Remove applicant
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData = {
text = GetString(SI_DIALOG_REMOVE),
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function(dialog)
if self.addToBlacklist then
local blacklistResult = AddToGuildBlacklistByDisplayName(dialog.data.guildId, dialog.data.displayName, self.blacklistNote)
if not ZO_GuildRecruitment_Manager.IsAddedToBlacklistSuccessful(blacklistResult) then
ZO_Dialogs_ShowPlatformDialog("GUILD_FINDER_BLACKLIST_FAILED", nil, { mainTextParams = { blacklistResult } })
end
else
GuildRemove(dialog.data.guildId, dialog.data.displayName)
end
ReleaseDialog()
end,
},
},
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local data = dialog.entryList:GetTargetData()
data.callback(dialog)
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function(dialog)
ReleaseDialog()
end,
},
}
})
- ingame/guild/gamepad/guildroster_gamepad.lua:514 --
ZO_Dialogs_RegisterCustomDialog("GUILD_SET_RANK_GAMEPAD",
{
canQueue = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog, data)
EVENT_MANAGER:RegisterForEvent("SetRankDialogGamepad", EVENT_GUILD_MEMBER_RANK_CHANGED, function(_, guildId, displayName)
if guildId == data.guildId and displayName == data.targetData.displayName or displayName == data.playerData.displayName then
ZO_Dialogs_ReleaseDialog("GUILD_SET_RANK_GAMEPAD")
end
end)
EVENT_MANAGER:RegisterForEvent("SetRankDialogGamepad", EVENT_GUILD_RANK_CHANGED, function(_, guildId)
if guildId == data.guildId then
ZO_Dialogs_ReleaseDialog("GUILD_SET_RANK_GAMEPAD")
end
end)
dialog.info.parametricList = {}
local targetRankIndex = data.targetData.rankIndex
local IS_GAMEPAD = true
local entries = ZO_GuildRosterManager.ComputeSetRankEntries(data.guildId, data.playerData.rankIndex, targetRankIndex, IS_GAMEPAD)
for rankIndex, entry in ipairs(entries) do
local rankEntry = ZO_GamepadEntryData:New(entry.rankName, entry.rankIcon)
rankEntry:SetEnabled(entry.enabled)
if rankIndex == targetRankIndex then
rankEntry:SetSelected(true)
end
rankEntry.rankIndex = rankIndex
rankEntry.setup = ZO_SharedGamepadEntry_OnSetup
rankEntry.callback = OnRankSelected
table.insert(dialog.info.parametricList,
{
template = "ZO_GamepadSubMenuEntryTemplateWithStatus",
entryData = rankEntry,
})
end
dialog:setupFunc()
dialog.entryList:SetSelectedIndexWithoutAnimation(targetRankIndex)
end,
finishedCallback = function(dialog)
EVENT_MANAGER:UnregisterForEvent("SetRankDialogGamepad", EVENT_GUILD_MEMBER_RANK_CHANGED)
EVENT_MANAGER:UnregisterForEvent("SetRankDialogGamepad", EVENT_GUILD_RANK_CHANGED)
end,
title =
{
text = SI_GUILD_SET_RANK_DIALOG_TITLE,
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
enabled = function(dialog)
local entry = dialog.entryList:GetTargetData()
return entry.enabled
end,
callback = function(dialog)
local entry = dialog.entryList:GetTargetData()
entry.callback(dialog, entry)
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
},
}
})
- ingame/guild/gamepad/zo_guildhub_gamepad.lua:200 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = SetupDialog,
blockDialogReleaseOnPress = true, -- We'll handle Dialog Releases ourselves since we don't want DIALOG_PRIMARY to release the dialog on press.
title =
{
text = SI_GAMEPAD_GUILD_INFO_CHANGE_MOTD,
},
parametricList =
{
-- motd edit box
{
template = "ZO_Gamepad_GenericDialog_Parametric_TextFieldItem_Multiline",
templateData = {
nameField = true,
textChangedCallback = function(control)
local newMotd = control:GetText()
UpdateSelectedMotd(newMotd)
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.highlight:SetHidden(not selected)
control.editBoxControl.textChangedCallback = data.textChangedCallback
ZO_EditDefaultText_Initialize(control.editBoxControl, GetString(SI_GAMEPAD_GUILD_MOTD_EMPTY_TEXT))
control.editBoxControl:SetMaxInputChars(MAX_GUILD_MOTD_LENGTH)
control.editBoxControl:SetText(self.selectedMotd)
end,
},
},
-- accept
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData = {
finishedSelector = true,
text = GetString(SI_DIALOG_ACCEPT),
setup = SetupRequestEntry,
validInput = function()
return self.selectedMotd and self.selectedMotd ~= ""
end,
}
},
},
buttons =
{
-- Cancel Button
{
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
callback = function()
ReleaseDialog()
end,
},
-- Select Button (used for entering name and selected alliance)
{
keybind = "DIALOG_PRIMARY",
text = GetString(SI_GAMEPAD_SELECT_OPTION),
callback = function(dialog)
local selectedData = dialog.entryList:GetTargetData()
local targetControl = dialog.entryList:GetTargetControl()
if selectedData.nameField and targetControl then
targetControl.editBoxControl:TakeFocus()
elseif selectedData.finishedSelector then
if self.selectedMotd and self.selectedMotd ~= "" then
SetGuildMotD(self.optionsGuildId, self.selectedMotd)
end
ReleaseDialog()
end
end,
enabled = function()
local selectedData = parametricDialog.entryList:GetTargetData()
local enabled = true
if selectedData.finishedSelector then
enabled = self.selectedMotd and self.selectedMotd ~= ""
end
return enabled
end,
},
},
noChoiceCallback = function(dialog)
ReleaseDialog()
end,
})
- ingame/guild/gamepad/zo_guildhub_gamepad.lua:319 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = SetupDialog,
blockDialogReleaseOnPress = true, -- We'll handle Dialog Releases ourselves since we don't want DIALOG_PRIMARY to release the dialog on press.
title =
{
text = SI_GAMEPAD_GUILD_INFO_CHANGE_ABOUT_US,
},
parametricList =
{
-- about us edit box
{
template = "ZO_Gamepad_GenericDialog_Parametric_TextFieldItem_Multiline",
templateData = {
nameField = true,
textChangedCallback = function(control)
local newAboutUs = control:GetText()
UpdateSelectedAboutUs(newAboutUs)
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.highlight:SetHidden(not selected)
control.editBoxControl.textChangedCallback = data.textChangedCallback
ZO_EditDefaultText_Initialize(control.editBoxControl, GetString(SI_GUILD_DESCRIPTION_HEADER))
control.editBoxControl:SetMaxInputChars(MAX_GUILD_DESCRIPTION_LENGTH)
control.editBoxControl:SetText(self.selectedAboutUs)
end,
},
},
-- accept
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData = {
finishedSelector = true,
text = GetString(SI_DIALOG_ACCEPT),
setup = SetupRequestEntry,
validInput = function()
return self.selectedAboutUs and self.selectedAboutUs ~= ""
end,
}
},
},
buttons =
{
-- Cancel Button
{
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
callback = function()
ReleaseDialog()
end,
},
-- Select Button (used for entering name and selected alliance)
{
keybind = "DIALOG_PRIMARY",
text = GetString(SI_GAMEPAD_SELECT_OPTION),
callback = function(dialog)
local selectedData = dialog.entryList:GetTargetData()
local targetControl = dialog.entryList:GetTargetControl()
if selectedData.nameField and targetControl then
targetControl.editBoxControl:TakeFocus()
elseif selectedData.finishedSelector then
if self.selectedAboutUs and self.selectedAboutUs ~= "" then
SetGuildDescription(self.optionsGuildId, self.selectedAboutUs)
end
ReleaseDialog()
end
end,
enabled = function()
local selectedData = parametricDialog.entryList:GetTargetData()
local enabled = true
if selectedData.finishedSelector then
enabled = self.selectedAboutUs and self.selectedAboutUs ~= ""
end
return enabled
end,
},
},
noChoiceCallback = function(dialog)
ReleaseDialog()
end,
})
- ingame/guild/gamepad/zo_guildhub_gamepad.lua:485 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = SetupDialog,
blockDialogReleaseOnPress = true, -- We'll handle Dialog Releases ourselves since we don't want DIALOG_PRIMARY to release the dialog on press.
title =
{
text = SI_PROMPT_TITLE_GUILD_CREATE,
},
parametricList =
{
-- alliance icon selector entry
{
header = GetString(SI_GAMEPAD_GUILD_CREATE_DIALOG_ALLIANCE_SELECTOR_HEADER),
template = "ZO_GamepadDropdownItem",
templateData = {
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
local dropDown = control.dropdown
self.allianceDropDown = dropDown
dropDown:SetSortsItems(false)
dropDown:ClearItems()
for i = 1, NUM_ALLIANCES do
local allianceText = zo_iconTextFormat(GetLargeAllianceSymbolIcon(i), 32, 32, GetAllianceName(i))
local entry = dropDown:CreateItemEntry(allianceText, OnAllianceSelected)
entry.allianceIndex = i
dropDown:AddItem(entry)
end
dropDown:SelectItemByIndex(self.selectedAllianceIndex)
dropDown:SetHighlightedItem(self.selectedAllianceIndex)
end,
callback = function()
self.allianceDropDown:Activate()
self.allianceDropDown:SetHighlightedItem(self.selectedAllianceIndex)
end
},
},
-- guild name edit box
{
template = "ZO_Gamepad_GenericDialog_Parametric_TextFieldItem",
templateData = {
textChangedCallback = function(control)
local newName = control:GetText()
UpdateSelectedName(newName)
if self.noViolations or self.selectedName == "" then
control:SetColor(ZO_SELECTED_TEXT:UnpackRGB())
else
control:SetColor(ZO_ERROR_COLOR:UnpackRGB())
end
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.editBoxControl.textChangedCallback = data.textChangedCallback
if self.selectedName == "" then
ZO_EditDefaultText_Initialize(control.editBoxControl, GetString(SI_GUILD_CREATE_DIALOG_NAME_DEFAULT_TEXT))
end
control.editBoxControl:SetMaxInputChars(MAX_GUILD_NAME_LENGTH)
control.editBoxControl:SetText(self.selectedName)
self.createGuildEditBoxSelected = selected
self.createGuildEditBox = control.editBoxControl
UpdateSelectedName(self.selectedName)
end,
callback = function(dialog)
local targetControl = dialog.entryList:GetTargetControl()
targetControl.editBoxControl:TakeFocus()
UpdateSelectedName(self.selectedName)
end
},
controlReset = function(control, pool)
control.editBoxControl:SetColor(ZO_SELECTED_TEXT:UnpackRGB())
end,
},
-- Finish
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData = {
text = GetString(SI_GAMEPAD_GUILD_CREATE_DIALOG_FINISH),
setup = SetupRequestEntry,
callback = function(dialog)
if self.noViolations then
if IsConsoleUI() then
PLAYER_CONSOLE_INFO_REQUEST_MANAGER:RequestNameValidation(self.selectedName, GuildNameValidationCallback)
else
GuildCreate(self.selectedName, self.selectedAllianceIndex)
end
ReleaseDialog(dialog)
end
end,
validInput = function()
return self.noViolations
end,
}
},
},
buttons =
{
-- Cancel Button
{
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
callback = function(dialog)
ReleaseDialog(dialog)
end,
},
-- Select Button (used for entering name and selected alliance)
{
keybind = "DIALOG_PRIMARY",
text = GetString(SI_GAMEPAD_SELECT_OPTION),
enabled = function(dialog)
local targetData = dialog.entryList:GetTargetData()
if targetData and targetData.validInput then
return targetData.validInput()
end
return true
end,
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
if targetData and targetData.callback then
targetData.callback(dialog)
end
end,
},
},
noChoiceCallback = function(dialog)
ReleaseDialog(dialog)
end,
})
- ingame/guild/gamepad/zo_guildranks_gamepad.lua:305 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
self.noViolations = nil
self.selectedRankIndex = nil
self.selectedName = nil
UpdateSelectedName("")
dialog:setupFunc()
end,
blockDialogReleaseOnPress = true, -- We'll handle Dialog Releases ourselves since we don't want DIALOG_PRIMARY to release the dialog on press.
title =
{
text = SI_GUILD_RANKS_ADD_RANK,
},
parametricList =
{
-- guild name edit box
{
template = "ZO_Gamepad_GenericDialog_Parametric_TextFieldItem",
templateData = {
nameField = true,
textChangedCallback = function(control)
local newName = control:GetText()
if self.selectedName ~= newName then
UpdateSelectedName(newName)
ZO_GenericParametricListGamepadDialogTemplate_RefreshVisibleEntries(parametricDialog)
end
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.highlight:SetHidden(not selected)
control.editBoxControl.textChangedCallback = data.textChangedCallback
if self.selectedName == "" then
ZO_EditDefaultText_Initialize(control.editBoxControl, GetString(SI_GAMEPAD_GUILD_RANK_DIALOG_DEFAULT_TEXT))
end
control.editBoxControl:SetMaxInputChars(MAX_GUILD_RANK_NAME_LENGTH)
control.editBoxControl:SetText(self.selectedName)
KEYBIND_STRIP:UpdateCurrentKeybindButtonGroups()
end,
},
},
-- rank to copy entry
{
header = GetString(SI_GUILD_RANKS_COPY_HEADER),
template = "ZO_GamepadDropdownItem",
templateData = {
rankSelector = true,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.dropdown:SetSortsItems(false)
self:SetCurrentDropdown(control.dropdown)
control.dropdown:ClearItems()
local function UpdateDropdownSelection()
if(self.selectedRankIndex) then
control.dropdown:SetSelectedItemText(self.ranks[self.selectedRankIndex].name)
else
control.dropdown:SetSelectedItemText(GetString(SI_GUILD_RANKS_COPY_NONE))
end
end
local function OnRankSelected(comboBox, entryText, entry)
UpdateSelectedRankIndex(entry.rankIndex)
end
local noneEntry = control.dropdown:CreateItemEntry(GetString(SI_GUILD_RANKS_COPY_NONE), OnRankSelected)
control.dropdown:AddItem(noneEntry)
--Skip Guild Master
for i = 2, #self.ranks do
local entry = control.dropdown:CreateItemEntry(self.ranks[i].name, OnRankSelected)
entry.rankIndex = i
control.dropdown:AddItem(entry)
end
control.dropdown:UpdateItems()
UpdateDropdownSelection()
end,
},
},
-- create
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData = {
finishedSelector = true,
text = GetString(SI_DIALOG_ACCEPT),
setup = SetupRequestEntry,
validInput = function()
return self.noViolations
end,
},
icon = ZO_GAMEPAD_SUBMIT_ENTRY_ICON,
},
},
buttons =
{
-- Cancel Button
{
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
callback = function()
ReleaseDialog()
end,
},
-- Select Button (used for entering name)
{
keybind = "DIALOG_PRIMARY",
text = GetString(SI_GAMEPAD_SELECT_OPTION),
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
local targetControl = dialog.entryList:GetTargetControl()
if targetData.nameField and targetControl then
targetControl.editBoxControl:TakeFocus()
elseif targetData.rankSelector then
self.currentDropdown:Activate()
local highlightIndex = 1
if self.selectedRankIndex ~= nil then
highlightIndex = self.selectedRankIndex
end
self.currentDropdown:SetHighlightedItem(highlightIndex)
elseif targetData.finishedSelector then
if self.noViolations then
self:AddRank(self.selectedName, self.selectedRankIndex)
self:RefreshScreen()
end
ReleaseDialog()
end
end,
enabled = function()
local targetData = parametricDialog.entryList:GetTargetData()
local enabled = true
if targetData.finishedSelector then
enabled = self.noViolations
end
return enabled
end,
},
},
noChoiceCallback = function(dialog)
ReleaseDialog()
end,
})
- ingame/guild/gamepad/zo_guildranks_gamepad.lua:482 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
self.noViolations = nil
self.selectedName = nil
UpdateSelectedName(self.selectedRank:GetName())
dialog:setupFunc()
end,
blockDialogReleaseOnPress = true, -- We'll handle Dialog Releases ourselves since we don't want DIALOG_PRIMARY to release the dialog on press.
title =
{
text = SI_GAMEPAD_GUILD_RANK_RENAME,
},
parametricList =
{
-- guild name edit box
{
template = "ZO_Gamepad_GenericDialog_Parametric_TextFieldItem",
templateData = {
nameField = true,
textChangedCallback = function(control)
local newName = control:GetText()
if self.selectedName ~= newName then
UpdateSelectedName(newName)
ZO_GenericParametricListGamepadDialogTemplate_RefreshVisibleEntries(parametricDialog)
end
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.highlight:SetHidden(not selected)
control.editBoxControl.textChangedCallback = data.textChangedCallback
if self.selectedName == "" then
ZO_EditDefaultText_Initialize(control.editBoxControl, GetString(SI_GAMEPAD_GUILD_RANK_DIALOG_DEFAULT_TEXT))
end
control.editBoxControl:SetMaxInputChars(MAX_GUILD_RANK_NAME_LENGTH)
control.editBoxControl:SetText(self.selectedName)
KEYBIND_STRIP:UpdateCurrentKeybindButtonGroups()
end,
},
},
-- confirm rename
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData = {
finishedSelector = true,
text = GetString(SI_DIALOG_ACCEPT),
setup = SetupRequestEntry,
validInput = function()
return self.noViolations
end,
},
icon = ZO_GAMEPAD_SUBMIT_ENTRY_ICON,
},
},
buttons =
{
-- Cancel Button
{
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
callback = function()
ReleaseDialog()
end,
},
-- Select Button (used for entering name)
{
keybind = "DIALOG_PRIMARY",
text = GetString(SI_GAMEPAD_SELECT_OPTION),
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
local targetControl = dialog.entryList:GetTargetControl()
if targetData.nameField and targetControl then
targetControl.editBoxControl:TakeFocus()
elseif targetData.finishedSelector then
if self.noViolations then
self.selectedRank:SetName(self.selectedName)
self:RefreshScreen()
end
ReleaseDialog()
end
end,
enabled = function()
local targetData = parametricDialog.entryList:GetTargetData()
local enabled = true
if targetData.finishedSelector then
enabled = self.noViolations
end
return enabled
end,
},
},
noChoiceCallback = function(dialog)
ReleaseDialog()
end,
})
- ingame/guild/gamepad/zo_guildranks_gamepad.lua:597 --
ZO_Dialogs_RegisterCustomDialog(GUILD_DELETE_RANK_GAMEPAD_DIALOG,
{
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = function()
return zo_strformat(SI_GAMEPAD_GUILD_RANK_DELETE_TITLE, self.selectedRank:GetName())
end,
},
mainText =
{
text = function()
return zo_strformat(SI_GUILD_RANK_DELETE_WARNING, self.selectedRank:GetName())
end,
},
setup = function()
g_deleteRankOnFinished = false
end,
finishedCallback = function(dialog)
if g_deleteRankOnFinished then
self:DeleteSelectedRank()
end
end,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_DIALOG_YES_BUTTON,
callback = function()
g_deleteRankOnFinished = true
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_GAMEPAD_DIALOG_NO_BUTTON,
callback = function()
self:RefreshScreen()
end,
},
}
})
- ingame/guild/keyboard/guildroster_keyboard.lua:371 --
ZO_Dialogs_RegisterCustomDialog("GUILD_SET_RANK_KEYBOARD",
{
title =
{
text = SI_GUILD_SET_RANK_DIALOG_TITLE,
},
mainText =
{
text = function(dialog)
return dialog.data.targetData.displayName
end
},
customControl = control,
setup = function(dialog, data)
EVENT_MANAGER:RegisterForEvent("SetRankDialogKeyboard", EVENT_GUILD_MEMBER_RANK_CHANGED, function(_, guildId, displayName)
if guildId == data.guildId and displayName == data.targetData.displayName or displayName == data.playerData.displayName then
ZO_Dialogs_ReleaseDialog("GUILD_SET_RANK_KEYBOARD")
end
end)
EVENT_MANAGER:RegisterForEvent("SetRankDialogKeyboard", EVENT_GUILD_RANK_CHANGED, function(_, guildId)
if guildId == data.guildId then
ZO_Dialogs_ReleaseDialog("GUILD_SET_RANK_KEYBOARD")
end
end)
self.setRankDialogRadioButtonGroup:Clear()
self.setRankDialogRankControlPool:ReleaseAllObjects()
local targetRankIndex = data.targetData.rankIndex
local IS_KEYBOARD = false
local entries = ZO_GuildRosterManager.ComputeSetRankEntries(data.guildId, data.playerData.rankIndex, targetRankIndex, IS_KEYBOARD)
local previousControl
local INHERIT_COLOR = true
for rankIndex, entry in ipairs(entries) do
local rank = self.setRankDialogRankControlPool:AcquireObject()
local rankButton = rank:GetNamedChild("Button")
rankButton.rankIndex = rankIndex
rankButton.label:SetText(zo_iconTextFormat(entry.rankIcon, "100%", "100%", entry.rankName, INHERIT_COLOR))
local rankBind = rank:GetNamedChild("Bind")
ZO_KeyMarkupLabel_SetCustomOffsets(rankBind, -5, 5, -2, 3)
local keyMarkup = ZO_Keybindings_GetBindingStringFromAction("SET_GUILD_RANK_"..rankIndex, KEYBIND_TEXT_OPTIONS_FULL_NAME, KEYBIND_TEXTURE_OPTIONS_EMBED_MARKUP)
rankBind:SetText(keyMarkup)
if previousControl then
rank:SetAnchor(TOPLEFT, previousControl, BOTTOMLEFT, 0, 5)
else
rank:SetAnchor(TOPLEFT, nil, TOPLEFT, 0, 0)
end
self.setRankDialogRadioButtonGroup:Add(rankButton)
self.setRankDialogRadioButtonGroup:SetButtonIsValidOption(rankButton, entry.enabled)
previousControl = rank
if rankIndex == targetRankIndex then
self.setRankDialogRadioButtonGroup:SetClickedButton(rankButton)
rankBind:SetAlpha(SELECTED_BIND_ALPHA)
else
rankBind:SetAlpha(DESELECTED_BIND_ALPHA)
end
end
end,
finishedCallback = function(dialog)
EVENT_MANAGER:UnregisterForEvent("SetRankDialogKeyboard", EVENT_GUILD_MEMBER_RANK_CHANGED)
EVENT_MANAGER:UnregisterForEvent("SetRankDialogKeyboard", EVENT_GUILD_RANK_CHANGED)
end,
buttons =
{
-- Confirm Button
{
control = control:GetNamedChild("Confirm"),
keybind = "DIALOG_PRIMARY",
text = GetString(SI_DIALOG_ACCEPT),
callback = function(dialog)
local data = dialog.data
local newRankIndex = self.setRankDialogRadioButtonGroup:GetClickedButton().rankIndex
if newRankIndex ~= data.targetData.rankIndex then
if newRankIndex == 1 then
self:ShowPromoteToGuildMasterDialog(data.guildId, data.targetData.rankIndex, data.targetData.displayName)
else
if newRankIndex < data.targetData.rankIndex then
PlaySound(SOUNDS.GUILD_ROSTER_PROMOTE)
else
PlaySound(SOUNDS.GUILD_ROSTER_DEMOTE)
end
GuildSetRank(data.guildId, data.targetData.displayName, newRankIndex)
end
end
end,
},
-- Cancel Button
{
control = control:GetNamedChild("Cancel"),
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
},
},
})
- ingame/guild/keyboard/guildroster_keyboard.lua:555 --
ZO_Dialogs_RegisterCustomDialog("GUILD_REMOVE_MEMBER_KEYBOARD",
{
title =
{
text = SI_PROMPT_TITLE_GUILD_REMOVE_MEMBER,
},
mainText =
{
text = SI_GUILD_REMOVE_MEMBER_WARNING,
},
canQueue = true,
customControl = self,
setup = function(dialog)
local checkboxControl = dialog:GetNamedChild("Check")
local blacklistMessageControl = dialog:GetNamedChild("BlacklistMessage")
local blacklistMessageEdit = blacklistMessageControl:GetNamedChild("Edit")
-- Setup checkbox
ZO_CheckButton_SetUnchecked(checkboxControl)
ZO_CheckButton_SetLabelText(checkboxControl, GetString(SI_GUILD_RECRUITMENT_ADD_TO_BLACKLIST_ACTION))
ZO_CheckButton_SetToggleFunction(checkboxControl, function() blacklistMessageControl:SetHidden(not ZO_CheckButton_IsChecked(checkboxControl)) end)
if DoesPlayerHaveGuildPermission(dialog.data.guildId, GUILD_PERMISSION_MANAGE_BLACKLIST) then
ZO_CheckButton_Enable(checkboxControl)
ZO_CheckButton_SetTooltipEnabledState(checkboxControl, false)
else
ZO_CheckButton_SetTooltipEnabledState(checkboxControl, true)
ZO_CheckButton_SetTooltipAnchor(checkboxControl, RIGHT, checkboxControl.label)
ZO_CheckButton_SetTooltipText(checkboxControl, GetString(SI_GUILD_RECRUITMENT_NO_BLACKLIST_PERMISSION))
ZO_CheckButton_Disable(checkboxControl)
end
-- Set to default values each time dialog is opened
blacklistMessageControl:SetHidden(true)
blacklistMessageEdit:SetText("")
end,
buttons =
{
-- Yes Button
{
control = self:GetNamedChild("Confirm"),
keybind = "DIALOG_PRIMARY",
text = GetString(SI_DIALOG_REMOVE),
callback = function(dialog)
local isChecked = ZO_CheckButton_IsChecked(dialog:GetNamedChild("Check"))
if isChecked then
local blacklistMessageControl = dialog:GetNamedChild("BlacklistMessageEdit")
local blacklistMessage = blacklistMessageControl:GetText()
local blacklistResult = AddToGuildBlacklistByDisplayName(dialog.data.guildId, dialog.data.displayName, blacklistMessage)
if not ZO_GuildRecruitment_Manager.IsAddedToBlacklistSuccessful(blacklistResult) then
ZO_Dialogs_ShowPlatformDialog("GUILD_FINDER_BLACKLIST_FAILED", nil, { mainTextParams = { blacklistResult } })
end
else
GuildRemove(dialog.data.guildId, dialog.data.displayName)
end
end,
},
-- No Button
{
control = self:GetNamedChild("Cancel"),
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
},
},
})
- ingame/guild/keyboard/guildweeklybidsdialog_keyboard.lua:23 --
ZO_Dialogs_RegisterCustomDialog("GUILD_WEEKLY_BIDS_KEYBOARD",
{
customControl = control,
setup = function(dialog, data)
self:DialogSetup(data)
EVENT_MANAGER:RegisterForEvent("ZO_GuildWeeklyBidsDialog_Keyboard", EVENT_GUILD_PLAYER_RANK_CHANGED, OnGuildPermissionChanged)
EVENT_MANAGER:RegisterForEvent("ZO_GuildWeeklyBidsDialog_Keyboard", EVENT_GUILD_SELF_LEFT_GUILD, OnGuildPermissionChanged)
end,
title =
{
text = SI_GUILD_WEEKLY_BIDS_TITLE,
},
finishedCallback = function(dialog)
EVENT_MANAGER:UnregisterForEvent("ZO_GuildWeeklyBidsDialog_Keyboard", EVENT_GUILD_PLAYER_RANK_CHANGED, OnGuildPermissionChanged)
EVENT_MANAGER:UnregisterForEvent("ZO_GuildWeeklyBidsDialog_Keyboard", EVENT_GUILD_SELF_LEFT_GUILD, OnGuildPermissionChanged)
end,
buttons =
{
{
control = control:GetNamedChild("Close"),
text = SI_DIALOG_CLOSE,
keybind = "DIALOG_NEGATIVE",
},
}
})
- ingame/guild/keyboard/zo_guildranks_keyboard.lua:617 --
ZO_Dialogs_RegisterCustomDialog("RankIconPicker",
{
title =
{
text = SI_GUILD_RANK_ICONS_DIALOG_HEADER,
},
mainText =
{
text = "",
},
setup = function()
self.rankIconPicker:RefreshGridList()
end,
customControl = self,
buttons =
{
[1] =
{
control = self:GetNamedChild("Close"),
text = SI_DIALOG_CLOSE,
},
}
})
- ingame/guildfinder/gamepad/guildbrowser_gamepad.lua:706 --
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_GUILD_BROWSER_FILTERS",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = setupFunction,
parametricList =
{
-- Has Trader
{
template = "ZO_CheckBoxTemplate_WithoutIndent_Gamepad",
text = GetString(SI_GAMEPAD_GUILD_BROWSER_FILTERS_HAS_GUILD_TRADER),
templateData =
{
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
ZO_GamepadCheckBoxTemplate_Setup(control, data, selected, reselectingDuringRebuild, enabled, active)
if self.hasGuildTrader then
ZO_CheckButton_SetChecked(control.checkBox)
else
ZO_CheckButton_SetUnchecked(control.checkBox)
end
end,
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
local targetControl = dialog.entryList:GetTargetControl()
ZO_GamepadCheckBoxTemplate_OnClicked(targetControl)
self.hasGuildTrader = ZO_GamepadCheckBoxTemplate_IsChecked(targetControl)
self.filterManager:SetFilterValueIsDefaultByAttributeType(GUILD_META_DATA_ATTRIBUTE_KIOSK, self.hasGuildTrader == self.filterManager:GetHasGuildTraderDefault())
end,
},
},
-- Activities
activitiesDropdownEntry,
-- Personalities
personalitiesDropdownEntry,
-- Roles
roleDropdownEntry,
-- Min Champion Points
{
template = "ZO_GuildBrowser_ChampionPoint_EditBox_Gamepad",
headerTemplate = "ZO_GamepadMenuEntryFullWidthHeaderTemplate",
header = GetString(SI_GUILD_BROWSER_CHAMPION_POINT_RANGE_HEADER),
templateData =
{
textChangedCallback = function(control)
local newCP = tonumber(control:GetText())
if self.minCP ~= newCP then
self.minCP = newCP
local maxAllowedValue = ZO_GuildFinder_Manager.GetMaxCPAllowedForInput()
if self.minCP == nil then
self.minCP = self.filterManager:GetMinCPDefault()
elseif self.minCP > self.maxCP then
self.minCP = self.maxCP
elseif self.minCP > maxAllowedValue then
self.minCP = maxAllowedValue
end
self.filterManager:SetFilterValueIsDefaultByAttributeType(GUILD_META_DATA_ATTRIBUTE_MINIMUM_CP, self.minCP == self.filterManager:GetMinCPDefault())
end
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.highlight:SetHidden(not selected)
control.editBoxControl.textChangedCallback = data.textChangedCallback
data.control = control
control.editBoxControl:SetText(self.minCP)
end,
callback = function(dialog)
local data = dialog.entryList:GetTargetData()
local edit = data.control.editBoxControl
edit:TakeFocus()
end,
},
},
-- Max Champion Points
{
template = "ZO_GuildBrowser_ChampionPoint_EditBox_Gamepad",
headerTemplate = "ZO_GamepadMenuEntryFullWidthHeaderTemplate",
header = GetString(SI_GAMEPAD_GUILD_BROWSER_MAX_CHAMPION_POINTS_FILTER),
templateData =
{
textChangedCallback = function(control)
local newCP = tonumber(control:GetText())
if self.maxCP ~= newCP then
self.maxCP = newCP
local maxAllowedValue = ZO_GuildFinder_Manager.GetMaxCPAllowedForInput()
if self.maxCP == nil then
self.maxCP = self.filterManager:GetMaxCPDefault()
elseif self.minCP > self.maxCP then
self.maxCP = self.minCP
elseif self.maxCP > maxAllowedValue then
self.maxCP = maxAllowedValue
end
self.filterManager:SetFilterValueIsDefaultByAttributeType(GUILD_META_DATA_ATTRIBUTE_MINIMUM_CP, self.maxCP == self.filterManager:GetMaxCPDefault())
end
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.highlight:SetHidden(not selected)
control.editBoxControl.textChangedCallback = data.textChangedCallback
data.control = control
control.editBoxControl:SetText(self.maxCP)
end,
callback = function(dialog)
local data = dialog.entryList:GetTargetData()
local edit = data.control.editBoxControl
edit:TakeFocus()
end,
},
},
-- Language
languageDropdownEntry,
-- Alliance
allianceDropdownEntry,
-- Size
sizeDropdownEntry,
-- Start Time
startTimeDropdownEntry,
-- End Time
endTimeDropdownEntry,
},
blockDialogReleaseOnPress = true,
buttons =
{
primaryButton,
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function(dialog)
ZO_Dialogs_ReleaseDialogOnButtonPress("GAMEPAD_GUILD_BROWSER_FILTERS")
end,
},
resetFilterButton,
},
OnHiddenCallback = onHiddenCallback,
noChoiceCallback = noChoiceCallback,
})
- ingame/guildfinder/gamepad/guildbrowser_gamepad.lua:869 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
ZO_GenericGamepadDialog_RefreshText(dialog, GetString(SI_GAMEPAD_GUILD_BROWSER_APPLICATION_MESSAGE_DIALOG_HEADER))
dialog.currentText = GUILD_BROWSER_MANAGER:GetSavedApplicationMessage()
dialog:setupFunc()
end,
finishedCallback = function(dialog)
self:ShowApplicationMessageTooltip()
end,
parametricList =
{
-- Edit Box
{
template = "ZO_Gamepad_GenericDialog_TextFieldItem_Multiline_Large",
templateData =
{
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.highlight:SetHidden(not selected)
local dialog = data.dialog
control.editBoxControl.textChangedCallback = function(control)
dialog.currentText = control:GetText()
end
data.control = control
local defaultEditString = GetString(SI_GUILD_BROWSER_APPLICATIONS_MESSAGE_EMPTY_TEXT)
ZO_EditDefaultText_Initialize(control.editBoxControl, defaultEditString)
control.editBoxControl:SetMaxInputChars(MAX_GUILD_APPLICATION_MESSAGE_LENGTH)
control.editBoxControl:SetText(dialog.currentText)
end,
callback = function(dialog)
local data = dialog.entryList:GetTargetData()
local edit = data.control.editBoxControl
edit:TakeFocus()
end,
}
},
-- Accept
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData =
{
text = GetString(SI_DIALOG_ACCEPT),
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function(dialog)
GUILD_BROWSER_MANAGER:SetSavedApplicationMessage(dialog.currentText)
ReleaseDialog()
end
}
},
},
blockDialogReleaseOnPress = true,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
if targetData and targetData.callback then
targetData.callback(dialog)
end
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function(dialog)
ReleaseDialog()
end,
},
},
})
- ingame/guildfinder/gamepad/guildbrowser_guildinfo_gamepad.lua:283 --
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_SUBMIT_GUILD_FINDER_APPLICATION",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
ZO_GenericGamepadDialog_RefreshText(dialog, GetString(SI_GUILD_BROWSER_SUBMIT_APPLICATION_DIALOG_TITLE))
self.applicationSubmissionText = GUILD_BROWSER_MANAGER:GetSavedApplicationMessage()
local ICON_SIZE = 32
local displayData =
{
data1 =
{
header = GetString(SI_GUILD_BROWSER_SUBMIT_APPLICATION_DIALOG_CHARACTER_LABEL),
value = zo_strformat(SI_GAMEPAD_GUILD_BROWSER_GUILD_LIST_CONTEXTUAL_INFO_FORMATTER, GetRawUnitName("player"))
},
data2 =
{
header = GetString(SI_GUILD_BROWSER_SUBMIT_APPLICATION_DIALOG_LEVEL_LABEL),
value = zo_strformat(SI_GAMEPAD_GUILD_BROWSER_GUILD_LIST_CONTEXTUAL_INFO_FORMATTER, GetLevelOrChampionPointsString(GetUnitLevel("player"), GetUnitChampionPoints("player"), ICON_SIZE))
},
data3 =
{
header = GetString(SI_GUILD_BROWSER_SUBMIT_APPLICATION_DIALOG_CLASS_LABEL),
value = zo_strformat(SI_GAMEPAD_GUILD_BROWSER_GUILD_LIST_CONTEXTUAL_INFO_FORMATTER, GetUnitClass("player"))
},
data4 =
{
header = GetString(SI_GUILD_BROWSER_SUBMIT_APPLICATION_DIALOG_ACHIEVEMENT_POINTS_LABEL),
value = zo_strformat(SI_GAMEPAD_GUILD_BROWSER_GUILD_LIST_CONTEXTUAL_INFO_FORMATTER, GetEarnedAchievementPoints())
},
}
local DONT_LIMIT_NUM_ENTRIES = nil
dialog:setupFunc(DONT_LIMIT_NUM_ENTRIES, displayData)
end,
parametricList =
{
-- Application Message
{
template = "ZO_Gamepad_GenericDialog_Parametric_TextFieldItem_Multiline",
header = GetString(SI_GUILD_BROWSER_SUBMIT_APPLICATION_DIALOG_MESSAGE_HEADER),
templateData =
{
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.highlight:SetHidden(not selected)
local dialog = data.dialog
control.editBoxControl:SetMaxInputChars(MAX_GUILD_APPLICATION_MESSAGE_LENGTH)
control.editBoxControl.textChangedCallback = function(control)
self.applicationSubmissionText = control:GetText()
end
data.control = control
if self.applicationSubmissionText == "" then
local defaultEditString = GetString(SI_GUILD_BROWSER_SUBMIT_APPLICATION_DIALOG_DEFAULT_EDIT_TEXT)
ZO_EditDefaultText_Initialize(control.editBoxControl, defaultEditString)
control.resetFunction = function()
control.editBoxControl.textChangedCallback = nil
control.editBoxControl:SetText("")
end
else
control.editBoxControl:SetText(self.applicationSubmissionText)
end
end,
callback = function(dialog)
local data = dialog.entryList:GetTargetData()
local edit = data.control.editBoxControl
edit:TakeFocus()
end,
},
},
-- Apply To Guild
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData =
{
text = GetString(SI_GUILD_BROWSER_GUILD_INFO_APPLY_TO_GUILD),
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function(dialog)
local applicationResult = SubmitGuildFinderApplication(self.currentGuildId, self.applicationSubmissionText)
if applicationResult ~= GUILD_APP_RESPONSE_APPLICATION_SENT then
ZO_Dialogs_ShowPlatformDialog("GUILD_FINDER_APPLICATION_FAILED", nil, { mainTextParams = { GetString("SI_GUILDAPPLICATIONRESPONSE", applicationResult) } })
end
ZO_Dialogs_ReleaseDialogOnButtonPress("GAMEPAD_SUBMIT_GUILD_FINDER_APPLICATION")
end,
}
},
},
blockDialogReleaseOnPress = true,
buttons =
{
-- Select
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
if targetData and targetData.callback then
targetData.callback(dialog)
end
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function(dialog)
ZO_Dialogs_ReleaseDialogOnButtonPress("GAMEPAD_SUBMIT_GUILD_FINDER_APPLICATION")
end,
},
},
})
- ingame/guildfinder/gamepad/guildrecruitment_applications_gamepad.lua:130 --
ZO_Dialogs_RegisterCustomDialog(ZO_GUILD_RECRUITMENT_GAMEPAD_CONFIRM_ACCEPT_DIALOG_NAME,
{
blockDialogReleaseOnPress = true,
canQueue = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.BASIC,
allowRightStickPassThrough = true,
},
setup = function(dialog)
self.acceptConfirmText = nil
self:RegisterPermissionRemovedDialogCallback(GUILD_PERMISSION_MANAGE_APPLICATIONS, ReleaseDialog)
dialog:setupFunc()
end,
finishedCallback = function(dialog)
self:UnregisterPermissionRemovedDialogCallback(GUILD_PERMISSION_MANAGE_APPLICATIONS)
end,
title =
{
text = SI_GUILD_RECRUITMENT_APPLICATION_ACCEPT_TITLE,
},
mainText =
{
text = SI_GUILD_RECRUITMENT_APPLICATION_ACCEPT_DESCRIPTION,
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_DIALOG_CONFIRM,
callback = function(dialog)
local acceptApplicationResult = AcceptGuildApplication(dialog.data.guildId, dialog.data.index)
if ZO_GuildFinder_Manager.IsFailedApplicationResult(acceptApplicationResult) then
ZO_Dialogs_ShowPlatformDialog("GUILD_FINDER_PROCESS_APPLICATION_FAILED", nil, { mainTextParams = { acceptApplicationResult } })
end
ReleaseDialog()
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function()
ReleaseDialog()
end,
},
}
})
- ingame/guildfinder/gamepad/guildrecruitment_applications_gamepad.lua:191 --
ZO_Dialogs_RegisterCustomDialog(ZO_GUILD_RECRUITMENT_GAMEPAD_CONFIRM_DECLINE_DIALOG_NAME,
{
blockDialogReleaseOnPress = true,
canQueue = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
allowRightStickPassThrough = true,
},
setup = function(dialog)
self.declineMessage = GUILD_RECRUITMENT_MANAGER:GetSavedApplicationsDefaultMessage(self.guildId)
self.addToBlacklist = false
self.blacklistNote = nil
self:RegisterPermissionRemovedDialogCallback(GUILD_PERMISSION_MANAGE_APPLICATIONS, ReleaseDialog)
dialog:setupFunc()
end,
finishedCallback = function(dialog)
self:UnregisterPermissionRemovedDialogCallback(GUILD_PERMISSION_MANAGE_APPLICATIONS)
end,
title =
{
text = SI_GUILD_RECRUITMENT_APPLICATION_DECLINE_TITLE,
},
mainText =
{
text = SI_GUILD_RECRUITMENT_APPLICATION_DECLINE_DESCRIPTION,
},
parametricList =
{
-- Text reply to applicant
{
template = "ZO_Gamepad_GenericDialog_Parametric_TextFieldItem_Multiline",
templateData = {
textChangedCallback = function(control)
local declineMessage = control:GetText()
self.declineMessage = declineMessage
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.highlight:SetHidden(not selected)
control.editBoxControl:SetMaxInputChars(MAX_GUILD_APPLICATION_DECLINE_MESSAGE_LENGTH)
control.editBoxControl.textChangedCallback = data.textChangedCallback
data.control = control
ZO_EditDefaultText_Initialize(control.editBoxControl, GetString(SI_GUILD_RECRUITMENT_APPLICATION_DECLINE_DEFAULT_RESPONSE))
control.editBoxControl:SetMaxInputChars(MAX_GUILD_APPLICATION_DECLINE_MESSAGE_LENGTH)
if self.declineMessage then
control.editBoxControl:SetText(self.declineMessage)
end
end,
callback = function(dialog)
local targetControl = dialog.entryList:GetTargetControl()
targetControl.editBoxControl:TakeFocus()
end,
},
},
-- Backlist checkbox
{
template = "ZO_CheckBoxTemplate_WithoutIndent_Gamepad",
templateData = {
text = GetString(SI_GUILD_RECRUITMENT_ADD_TO_BLACKLIST_ACTION),
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
local hasPermission = DoesPlayerHaveGuildPermission(self.guildId, GUILD_PERMISSION_MANAGE_BLACKLIST)
local blacklistFull = GetNumGuildBlacklistEntries(self.guildId) >= MAX_GUILD_BLACKLISTED_PLAYERS
enabled = hasPermission and not blacklistFull
data.enabled = enabled
ZO_SharedGamepadEntry_OnSetup(control, data, selected, reselectingDuringRebuild, enabled, active)
local checkboxControl = control.checkBox
if self.addToBlacklist then
ZO_CheckButton_SetChecked(checkboxControl)
else
ZO_CheckButton_SetUnchecked(checkboxControl)
end
if enabled then
ZO_CheckButton_Enable(checkboxControl)
else
ZO_CheckButton_Disable(checkboxControl)
if selected then
local NO_TOOLTIP_TITLE = nil
local tooltipText = ""
if not hasPermission then
tooltipText = GetString(SI_GUILD_RECRUITMENT_NO_BLACKLIST_PERMISSION)
elseif blacklistFull then
tooltipText = GetString("SI_GUILDBLACKLISTRESPONSE", GUILD_BLACKLIST_RESPONSE_BLACKLIST_FULL)
end
GAMEPAD_TOOLTIPS:LayoutTitleAndDescriptionTooltip(GAMEPAD_LEFT_TOOLTIP, NO_TOOLTIP_TITLE, tooltipText)
else
GAMEPAD_TOOLTIPS:ClearLines(GAMEPAD_LEFT_TOOLTIP)
end
end
end,
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
local targetControl = dialog.entryList:GetTargetControl()
ZO_GamepadCheckBoxTemplate_OnClicked(targetControl)
self.addToBlacklist = ZO_GamepadCheckBoxTemplate_IsChecked(targetControl)
local RESELECT_ENTRY = true
ZO_GenericParametricListGamepadDialogTemplate_RebuildEntryList(dialog, nil, RESELECT_ENTRY)
end,
},
},
-- Blacklist Note
{
template = "ZO_Gamepad_GenericDialog_Parametric_TextFieldItem_Multiline",
templateData = {
textChangedCallback = function(control)
local blacklistNote = control:GetText()
self.blacklistNote = blacklistNote
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.highlight:SetHidden(not selected)
control.editBoxControl.textChangedCallback = data.textChangedCallback
data.control = control
ZO_EditDefaultText_Initialize(control.editBoxControl, GetString(SI_GUILD_RECRUITMENT_BLACKLIST_NOTE_DEFAULT_TEXT))
control.editBoxControl:SetMaxInputChars(MAX_GUILD_BLACKLIST_MESSAGE_LENGTH)
if self.blacklistNote then
control.editBoxControl:SetText(self.blacklistNote)
end
end,
visible = function()
return self.addToBlacklist
end,
callback = function(dialog)
local targetControl = dialog.entryList:GetTargetControl()
targetControl.editBoxControl:TakeFocus()
end,
},
},
-- Decline applicant
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData = {
text = GetString(SI_GUILD_RECRUITMENT_APPLICATION_DECLINE),
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function(dialog)
local declineApplicationResult, blacklistResult = DeclineGuildApplication(dialog.data.guildId, dialog.data.index, self.declineMessage, self.addToBlacklist, self.blacklistNote)
ReleaseDialog()
if ZO_GuildFinder_Manager.IsFailedApplicationResult(declineApplicationResult) then
ZO_Dialogs_ShowPlatformDialog("GUILD_FINDER_APPLICATION_DECLINED_FAILED", nil, { mainTextParams = { GetString("SI_GUILDPROCESSAPPLICATIONRESPONSE", declineApplicationResult) } })
elseif self.addToBlacklist and not ZO_GuildRecruitment_Manager.IsAddedToBlacklistSuccessful(blacklistResult) then
ZO_Dialogs_ShowPlatformDialog("GUILD_FINDER_BLACKLIST_FAILED", nil, { mainTextParams = { blacklistResult } })
end
end,
},
},
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local data = dialog.entryList:GetTargetData()
data.callback(dialog)
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function(dialog)
ReleaseDialog()
end,
},
}
})
- ingame/guildfinder/gamepad/guildrecruitment_applications_gamepad.lua:376 --
ZO_Dialogs_RegisterCustomDialog(ZO_GUILD_RECRUITMENT_GAMEPAD_OPTIONS_DIALOG_NAME,
{
blockDialogReleaseOnPress = true,
canQueue = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
allowRightStickPassThrough = true,
},
setup = function(dialog)
self:RegisterPermissionRemovedDialogCallback(GUILD_PERMISSION_MANAGE_APPLICATIONS, ReleaseDialog)
dialog:setupFunc()
end,
finishedCallback = function(dialog)
self:UnregisterPermissionRemovedDialogCallback(GUILD_PERMISSION_MANAGE_APPLICATIONS)
end,
title =
{
text = SI_GAMEPAD_OPTIONS_MENU,
},
parametricList =
{
-- Send Mail
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData =
{
text = GetString(SI_SOCIAL_MENU_SEND_MAIL),
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function(dialog)
MAIL_MANAGER_GAMEPAD:GetSend():ComposeMailTo(ZO_FormatUserFacingCharacterOrDisplayName(dialog.data.name))
ReleaseDialog()
end,
},
},
-- Report
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData =
{
text = GetString(SI_GUILD_FINDER_REPORT_ACTION),
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function(dialog)
local selectedData = self:GetSelectedData()
if selectedData then
local function ReportCallback()
-- If the player was reported then decline their application
local NO_MESSAGE = ""
local BLACKLIST = true
local declineApplicationResult, blacklistResult = DeclineGuildApplication(selectedData.guildId, selectedData.index, NO_MESSAGE, BLACKLIST, NO_MESSAGE)
if ZO_GuildFinder_Manager.IsFailedApplicationResult(declineApplicationResult) then
ZO_Dialogs_ShowPlatformDialog("GUILD_FINDER_APPLICATION_DECLINED_FAILED", nil, { mainTextParams = { GetString("SI_GUILDPROCESSAPPLICATIONRESPONSE", declineApplicationResult) } })
elseif not ZO_GuildRecruitment_Manager.IsAddedToBlacklistSuccessful(blacklistResult) then
ZO_Dialogs_ShowPlatformDialog("GUILD_FINDER_BLACKLIST_FAILED", nil, { mainTextParams = { blacklistResult } })
end
end
ZO_HELP_GENERIC_TICKET_SUBMISSION_MANAGER:OpenReportPlayerTicketScene(dialog.data.name, ReportCallback)
end
ReleaseDialog()
end,
},
},
-- View Gamercard
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData =
{
text = GetString(GetGamerCardStringId()),
setup = ZO_SharedGamepadEntry_OnSetup,
visible = IsConsoleUI,
callback = function()
local selectedData = self:GetSelectedData()
if selectedData then
ZO_ShowGamerCardFromDisplayNameOrFallback(selectedData.name, ZO_ID_REQUEST_TYPE_GUILD_APPLICATION_INFO, selectedData.guildId, selectedData.index)
end
ReleaseDialog()
end,
}
},
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
if targetData and targetData.callback then
targetData.callback(dialog)
end
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function()
ReleaseDialog()
end,
},
}
})
- ingame/guildfinder/gamepad/guildrecruitment_blacklist_gamepad.lua:109 --
ZO_Dialogs_RegisterCustomDialog(ZO_GUILD_RECRUITMENT_GAMEPAD_BLACKLIST_PLAYER_DIALOG_NAME,
{
blockDialogReleaseOnPress = true,
canQueue = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
self:RegisterPermissionRemovedDialogCallback(GUILD_PERMISSION_MANAGE_BLACKLIST, ReleaseDialog)
dialog:setupFunc()
end,
finishedCallback = function(dialog)
self:UnregisterPermissionRemovedDialogCallback(GUILD_PERMISSION_MANAGE_BLACKLIST)
end,
title =
{
text = SI_GUILD_RECRUITMENT_BLACKLIST_PLAYER_ACTION_TEXT,
},
parametricList =
{
-- user name
{
template = "ZO_GamepadTextFieldItem",
templateData = {
nameField = true,
textChangedCallback = function(control)
parametricDialog.data.name = control:GetText()
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.highlight:SetHidden(not selected)
control.editBoxControl.textChangedCallback = data.textChangedCallback
local platform = ZO_GetPlatformAccountLabel()
local instructions = zo_strformat(SI_REQUEST_DISPLAY_NAME_INSTRUCTIONS, platform)
if parametricDialog.data.name then
control.editBoxControl:SetText(parametricDialog.data.name)
else
ZO_EditDefaultText_Initialize(control.editBoxControl, instructions)
end
end,
callback = function(dialog)
local targetControl = dialog.entryList:GetTargetControl()
targetControl.editBoxControl:TakeFocus()
end,
},
},
-- note
{
template = "ZO_GamepadTextFieldItem",
templateData = {
nameField = true,
textChangedCallback = function(control)
parametricDialog.data.note = control:GetText()
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.highlight:SetHidden(not selected)
control.editBoxControl:SetMaxInputChars(MAX_GUILD_BLACKLIST_MESSAGE_LENGTH)
control.editBoxControl.textChangedCallback = data.textChangedCallback
if parametricDialog.data.note then
control.editBoxControl:SetText(parametricDialog.data.note)
else
ZO_EditDefaultText_Initialize(control.editBoxControl, GetString(SI_GUILD_RECRUITMENT_BLACKLIST_DEFAULT_NOTE_TEXT))
end
end,
callback = function(dialog)
local targetControl = dialog.entryList:GetTargetControl()
targetControl.editBoxControl:TakeFocus()
end,
},
},
-- Add to Blacklist
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData = {
confirmEntry = true,
text = GetString(SI_GUILD_RECRUITMENT_ADD_TO_BLACKLIST_ACTION),
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function(dialog)
local blacklistResult = AddToGuildBlacklistByDisplayName(dialog.data.guildId, dialog.data.name, dialog.data.note)
if not ZO_GuildRecruitment_Manager.IsAddedToBlacklistSuccessful(blacklistResult) then
ZO_Dialogs_ShowPlatformDialog("GUILD_FINDER_BLACKLIST_FAILED", nil, { mainTextParams = { blacklistResult } })
end
ReleaseDialog()
end,
},
},
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = GetString(SI_GAMEPAD_SELECT_OPTION),
enabled = function(dialog)
local targetData = dialog.entryList:GetTargetData()
if targetData.messageEntry then
local platform = GetUIPlatform()
if platform == UI_PLATFORM_PS4 or platform == UI_PLATFORM_XBOX then
if IsConsoleCommunicationRestricted() then
return false, GetString(SI_CONSOLE_COMMUNICATION_PERMISSION_ERROR_GLOBALLY_RESTRICTED)
end
end
elseif targetData.confirmEntry then
local blacklistDisplayName = dialog.data.name or ""
local result = IsGuildBlacklistAccountNameValid(dialog.data.guildId, blacklistDisplayName)
if ZO_GuildRecruitment_Manager.IsBlacklistResultSuccessful(result) then
return true
else
local errorText = zo_strformat(GetString("SI_GUILDBLACKLISTRESPONSE", result), blacklistDisplayName)
return false, errorText
end
end
end,
callback = function(dialog)
local data = dialog.entryList:GetTargetData()
data.callback(dialog)
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
callback = function()
ReleaseDialog()
end,
},
}
})
- ingame/guildfinder/gamepad/guildrecruitment_blacklist_gamepad.lua:255 --
ZO_Dialogs_RegisterCustomDialog(ZO_GUILD_RECRUITMENT_GAMEPAD_SELECT_BLACKLIST_ENTRY_DIALOG_NAME,
{
blockDialogReleaseOnPress = true,
canQueue = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
allowRightStickPassThrough = true,
},
setup = function(dialog)
self:RegisterPermissionRemovedDialogCallback(GUILD_PERMISSION_MANAGE_BLACKLIST, ReleaseDialog)
dialog:setupFunc()
end,
finishedCallback = function(dialog)
self:UnregisterPermissionRemovedDialogCallback(GUILD_PERMISSION_MANAGE_BLACKLIST)
end,
title =
{
text = SI_GAMEPAD_OPTIONS_MENU,
},
parametricList =
{
-- Remove from Blacklist
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData = {
text = GetString(SI_GUILD_RECRUITMENT_BLACKLIST_REMOVE),
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function(dialog)
local blacklistResult = RemoveFromGuildBlacklist(dialog.data.guildId, dialog.data.index)
if not ZO_GuildRecruitment_Manager.IsBlacklistResultSuccessful(blacklistResult) then
ZO_Dialogs_ShowPlatformDialog("GUILD_FINDER_BLACKLIST_FAILED", nil, { mainTextParams = { blacklistResult } })
end
ReleaseDialog()
end,
},
},
-- Edit Note
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData = {
text = GetString(SI_SOCIAL_MENU_EDIT_NOTE),
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function(dialog)
local function NoteChangedCallback(displayName, note)
local blacklistResult = SetGuildBlacklistNote(self.guildId, dialog.data.index, note)
if not ZO_GuildRecruitment_Manager.IsBlacklistResultSuccessful(blacklistResult) then
ZO_Dialogs_ShowPlatformDialog("GUILD_FINDER_BLACKLIST_FAILED", nil, { mainTextParams = { blacklistResult } })
end
end
ReleaseDialog()
local data =
{
displayName = dialog.data.name,
index = dialog.data.index,
note = dialog.data.note,
noteChangedCallback = NoteChangedCallback,
}
ZO_Dialogs_ShowGamepadDialog("GAMEPAD_SOCIAL_EDIT_NOTE_DIALOG", data)
end,
},
},
-- View Gamercard
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData =
{
text = GetString(GetGamerCardStringId()),
setup = ZO_SharedGamepadEntry_OnSetup,
visible = IsConsoleUI,
callback = function(dialog)
ZO_ShowGamerCardFromDisplayNameOrFallback(dialog.data.name, ZO_ID_REQUEST_TYPE_GUILD_BLACKLIST_INFO, self.guildId, dialog.data.index)
ReleaseDialog()
end,
}
},
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local data = dialog.entryList:GetTargetData()
data.callback(dialog)
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function(dialog)
ReleaseDialog()
end,
},
}
})
- ingame/guildfinder/gamepad/guildrecruitment_gamepad.lua:329 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
ZO_GenericGamepadDialog_RefreshText(dialog, GetString(SI_GUILD_RECRUITMENT_DEFAULT_RESPONSE_HEADER))
dialog.currentText = GUILD_RECRUITMENT_MANAGER:GetSavedApplicationsDefaultMessage(self.guildId)
dialog:setupFunc()
end,
finishedCallback = function(dialog)
GUILD_RECRUITMENT_RESPONSE_MESSAGE_GAMEPAD:OnShowing()
end,
parametricList =
{
-- Edit Box
{
template = "ZO_Gamepad_GenericDialog_TextFieldItem_Multiline_Large",
templateData =
{
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.highlight:SetHidden(not selected)
local dialog = data.dialog
control.editBoxControl.textChangedCallback = function(control)
dialog.currentText = control:GetText()
end
data.control = control
local defaultEditString = GetString(SI_GUILD_RECRUITMENT_DEFAULT_RESPONSE_DEFAULT_TEXT)
ZO_EditDefaultText_Initialize(control.editBoxControl, defaultEditString)
control.editBoxControl:SetMaxInputChars(MAX_GUILD_APPLICATION_DECLINE_MESSAGE_LENGTH)
control.editBoxControl:SetText(dialog.currentText)
end,
callback = function(dialog)
local data = dialog.entryList:GetTargetData()
local edit = data.control.editBoxControl
edit:TakeFocus()
end,
}
},
-- Accept
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData =
{
text = GetString(SI_DIALOG_ACCEPT),
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function(dialog)
GUILD_RECRUITMENT_MANAGER:SetSavedApplicationsDefaultMessage(self.guildId, dialog.currentText)
ReleaseDialog()
end
}
},
},
blockDialogReleaseOnPress = true,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
if targetData and targetData.callback then
targetData.callback(dialog)
end
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function(dialog)
ReleaseDialog()
end,
},
},
})
- ingame/guildfinder/gamepad/guildrecruitment_guildlisting_gamepad.lua:265 --
ZO_Dialogs_RegisterCustomDialog(ZO_GUILD_RECRUITMENT_GUILD_LISTING_GAMEPAD_NOT_LISTED_DIALOG_NAME,
{
blockDialogReleaseOnPress = true,
canQueue = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.STATIC_LIST,
allowShowOnNextScene = true,
},
setup = function(dialog)
dialog:setupFunc()
end,
title =
{
text = SI_GUILD_RECRUITMENT_NOT_LISTED_DIALOG_TITLE,
},
mainText =
{
text = SI_GUILD_RECRUITMENT_NOT_LISTED_DIALOG_DESCRIPTION,
},
itemInfo = function(dialog)
local bulletListTable = {}
for i, attribute in ipairs(dialog.data) do
table.insert(bulletListTable,
{
icon = BULLET_ICON,
iconSize = BULLET_ICON_SIZE,
label = GetString("SI_GUILDMETADATAATTRIBUTE", attribute),
})
end
return bulletListTable
end,
buttons =
{
-- Exit Button
{
keybind = "DIALOG_NEGATIVE",
text = SI_GAMEPAD_BACK_OPTION,
callback = function(dialog)
ReleaseDialog()
end,
},
}
})
- ingame/guildfinder/gamepad/guildrecruitment_guildlisting_gamepad.lua:325 --
ZO_Dialogs_RegisterCustomDialog(ZO_GUILD_RECRUITMENT_GUILD_LISTING_GAMEPAD_UNLISTED_DIALOG_NAME,
{
blockDialogReleaseOnPress = true,
canQueue = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.STATIC_LIST,
allowShowOnNextScene = true,
},
setup = function(dialog)
dialog:setupFunc()
end,
title =
{
text = SI_GUILD_RECRUITMENT_LISTING_FAILED_DIALOG_TITLE,
},
mainText =
{
text = SI_GUILD_RECRUITMENT_LISTING_FAILED_DIALOG_DESCRIPTION,
},
itemInfo = function(dialog)
local bulletListTable = {}
for i, attribute in ipairs(dialog.data) do
table.insert(bulletListTable,
{
icon = BULLET_ICON,
iconSize = BULLET_ICON_SIZE,
label = GetString("SI_GUILDMETADATAATTRIBUTE", attribute),
})
end
return bulletListTable
end,
buttons =
{
-- Exit Button
{
keybind = "DIALOG_NEGATIVE",
text = SI_GAMEPAD_BACK_OPTION,
callback = function(dialog)
ReleaseDialog()
end,
},
}
})
- ingame/guildfinder/keyboard/guildbrowser_guildinfo_keyboard.lua:278 --
ZO_Dialogs_RegisterCustomDialog("SUBMIT_GUILD_FINDER_APPLICATION",
{
customControl = control,
setup = SubmitApplicationDialogSetup,
title =
{
text = SI_GUILD_BROWSER_SUBMIT_APPLICATION_DIALOG_TITLE,
},
buttons =
{
[1] =
{
control = control:GetNamedChild("Submit"),
text = GetString(SI_GUILD_BROWSER_SUBMIT_APPLICATION_DIALOG_BUTTON_SUBMIT),
callback = function(dialog)
local message = dialog:GetNamedChild("ApplicationMessageEdit"):GetText()
GUILD_BROWSER_GUILD_INFO_KEYBOARD:OnApplyToGuildSubmit(message)
end,
},
[2] =
{
control = control:GetNamedChild("Cancel"),
text = SI_DIALOG_CANCEL,
}
}
})
- ingame/guildfinder/keyboard/guildbrowser_guildlist_keyboard.lua:513 --
ZO_Dialogs_RegisterCustomDialog("GUILD_BROWSER_ADDITIONAL_FILTERS",
{
customControl = self,
canQueue = true,
title =
{
text = SI_GUILD_BROWSER_GUILD_LIST_ADDITIONAL_FILTERS,
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
control = self.confirmButton,
text = SI_DIALOG_CONFIRM,
callback = function(dialog)
GUILD_BROWSER_GUILD_LIST_KEYBOARD:OnAdditionalFiltersDialogClose()
end
},
{
keybind = "DIALOG_RESET",
control = self.resetButton,
text = SI_GUILD_BROWSER_RESET_FILTERS_KEYBIND,
noReleaseOnClick = true,
enabled = function(dialog)
return not GUILD_BROWSER_GUILD_LIST_KEYBOARD.filterManager:AreFiltersSetToDefault()
end,
callback = function(dialog)
GUILD_BROWSER_GUILD_LIST_KEYBOARD:ResetFilters()
end
},
},
})
- ingame/guildfinder/keyboard/guildrecruitment_applicationslist_keyboard.lua:192 --
ZO_Dialogs_RegisterCustomDialog("GUILD_DECLINE_APPLICATION_KEYBOARD",
{
title =
{
text = SI_GUILD_RECRUITMENT_APPLICATION_DECLINE_TITLE,
},
mainText =
{
text = SI_GUILD_RECRUITMENT_APPLICATION_DECLINE_DESCRIPTION,
},
canQueue = true,
customControl = self,
setup = function(dialog)
local declineMessageEdit = dialog:GetNamedChild("DeclineMessageEdit")
declineMessageEdit:SetMaxInputChars(MAX_GUILD_APPLICATION_DECLINE_MESSAGE_LENGTH)
local checkboxControl = dialog:GetNamedChild("Check")
local blacklistMessageControl = dialog:GetNamedChild("BlacklistMessage")
local blacklistMessageEdit = blacklistMessageControl:GetNamedChild("Edit")
-- Setup checkbox
ZO_CheckButton_SetUnchecked(checkboxControl)
ZO_CheckButton_SetLabelText(checkboxControl, GetString(SI_GUILD_RECRUITMENT_ADD_TO_BLACKLIST_ACTION))
ZO_CheckButton_SetToggleFunction(checkboxControl, function() blacklistMessageControl:SetHidden(not ZO_CheckButton_IsChecked(checkboxControl)) end)
local function DisableBlacklistCheckbox(tooltipString)
ZO_CheckButton_SetUnchecked(checkboxControl)
ZO_CheckButton_SetTooltipEnabledState(checkboxControl, true)
ZO_CheckButton_SetTooltipAnchor(checkboxControl, RIGHT, checkboxControl.label)
ZO_CheckButton_SetTooltipText(checkboxControl, tooltipString)
ZO_CheckButton_Disable(checkboxControl)
end
if DoesPlayerHaveGuildPermission(dialog.data.guildId, GUILD_PERMISSION_MANAGE_BLACKLIST) then
if GetNumGuildBlacklistEntries(dialog.data.guildId) >= MAX_GUILD_BLACKLISTED_PLAYERS then
DisableBlacklistCheckbox(GetString("SI_GUILDBLACKLISTRESPONSE", GUILD_BLACKLIST_RESPONSE_BLACKLIST_FULL))
else
ZO_CheckButton_Enable(checkboxControl)
ZO_CheckButton_SetTooltipEnabledState(checkboxControl, false)
end
else
DisableBlacklistCheckbox(GetString(SI_GUILD_RECRUITMENT_NO_BLACKLIST_PERMISSION))
end
-- Set to default values each time dialog is opened
declineMessageEdit:SetText(GUILD_RECRUITMENT_MANAGER:GetSavedApplicationsDefaultMessage(dialog.data.guildId) or "")
blacklistMessageControl:SetHidden(true)
blacklistMessageEdit:SetText("")
end,
buttons =
{
-- Confirm Button
{
control = self:GetNamedChild("Confirm"),
keybind = "DIALOG_PRIMARY",
text = SI_DIALOG_CONFIRM,
callback = function(dialog)
local declineMessageControl = dialog:GetNamedChild("DeclineMessageEdit")
local declineMessage = declineMessageControl:GetText()
local isChecked = ZO_CheckButton_IsChecked(dialog:GetNamedChild("Check"))
local blacklistMessageControl = dialog:GetNamedChild("BlacklistMessageEdit")
local blacklistMessage = blacklistMessageControl:GetText()
local declineApplicationResult, blacklistResult = DeclineGuildApplication(dialog.data.guildId, dialog.data.index, declineMessage, isChecked, blacklistMessage)
if ZO_GuildFinder_Manager.IsFailedApplicationResult(declineApplicationResult) then
ZO_Dialogs_ShowPlatformDialog("GUILD_FINDER_APPLICATION_DECLINED_FAILED", nil, { mainTextParams = { GetString("SI_GUILDPROCESSAPPLICATIONRESPONSE", declineApplicationResult) } })
elseif isChecked and not ZO_GuildRecruitment_Manager.IsAddedToBlacklistSuccessful(blacklistResult) then
ZO_Dialogs_ShowPlatformDialog("GUILD_FINDER_BLACKLIST_FAILED", nil, { mainTextParams = { blacklistResult } })
end
end,
},
-- Cancel Button
{
control = self:GetNamedChild("Cancel"),
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
},
},
})
- ingame/guildfinder/keyboard/guildrecruitment_blacklist_keyboard.lua:277 --
ZO_Dialogs_RegisterCustomDialog("GUILD_ADD_PLAYER_TO_BLACKLIST",
{
title =
{
text = SI_GUILD_RECRUITMENT_BLACKLIST_ADD_PLAYER_DIALOG_TITLE,
},
mainText =
{
text = SI_GUILD_RECRUITMENT_BLACKLIST_ADD_PLAYER_DIALOG_DESCRIPTION,
},
canQueue = true,
customControl = self,
setup = function(dialog)
local nameEditControl = dialog:GetNamedChild("NameEdit")
nameEditControl:SetText("")
dialog:GetNamedChild("NoteEdit"):SetText("")
UpdateAddRestrictions(nameEditControl)
end,
buttons =
{
-- Yes Button
{
control = self:GetNamedChild("Confirm"),
keybind = "DIALOG_PRIMARY",
text = GetString(SI_YES),
callback = function(dialog)
local nameControl = dialog:GetNamedChild("NameEdit")
local name = nameControl:GetText()
local noteControl = dialog:GetNamedChild("NoteEdit")
local note = noteControl:GetText()
local blacklistResult = AddToGuildBlacklistByDisplayName(dialog.data.guildId, name, note)
if not ZO_GuildRecruitment_Manager.IsAddedToBlacklistSuccessful(blacklistResult) then
ZO_Dialogs_ShowPlatformDialog("GUILD_FINDER_BLACKLIST_FAILED", nil, { mainTextParams = { blacklistResult } })
end
end,
},
-- No Button
{
control = self:GetNamedChild("Cancel"),
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_NO),
},
},
finishedCallback = function()
ClearTooltipImmediately(InformationTooltip)
end,
})
- ingame/guildfinder/keyboard/guildrecruitment_guildlisting_keyboard.lua:204 --
ZO_Dialogs_RegisterCustomDialog("GUILD_NOT_LISTED_KEYBOARD",
{
title =
{
text = SI_GUILD_RECRUITMENT_NOT_LISTED_DIALOG_TITLE,
},
mainText =
{
text = SI_GUILD_RECRUITMENT_NOT_LISTED_DIALOG_DESCRIPTION,
},
canQueue = true,
customControl = self,
setup = function(dialog)
if not dialog.bulletList then
dialog.bulletList = ZO_BulletList:New(dialog:GetNamedChild("BulletList"))
end
dialog.bulletList:Clear()
for i, attribute in ipairs(dialog.data) do
dialog.bulletList:AddLine(GetString("SI_GUILDMETADATAATTRIBUTE", attribute))
end
end,
buttons =
{
-- Exit Button
{
control = self:GetNamedChild("Exit"),
keybind = "DIALOG_NEGATIVE",
text = SI_EXIT_BUTTON,
},
},
})
- ingame/guildfinder/keyboard/guildrecruitment_guildlisting_keyboard.lua:240 --
ZO_Dialogs_RegisterCustomDialog("GUILD_UNLISTED_KEYBOARD",
{
title =
{
text = SI_GUILD_RECRUITMENT_LISTING_FAILED_DIALOG_TITLE,
},
mainText =
{
text = SI_GUILD_RECRUITMENT_LISTING_FAILED_DIALOG_DESCRIPTION,
},
canQueue = true,
customControl = self,
setup = function(dialog)
if not dialog.bulletList then
dialog.bulletList = ZO_BulletList:New(dialog:GetNamedChild("BulletList"))
end
dialog.bulletList:Clear()
for i, attribute in ipairs(dialog.data) do
dialog.bulletList:AddLine(GetString("SI_GUILDMETADATAATTRIBUTE", attribute))
end
end,
buttons =
{
-- Exit Button
{
control = self:GetNamedChild("Exit"),
keybind = "DIALOG_NEGATIVE",
text = SI_EXIT_BUTTON,
},
},
})
- ingame/guildkiosk/gamepad/guildkiosk_gamepad.lua:106 --
ZO_Dialogs_RegisterCustomDialog("PURCHASE_KIOSK_GAMEPAD",
{
setup = function(dialog, data) self:SetupDialogLabels(dialog, data) end,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_GAMEPAD_GUILD_KIOSK_DIALOG_TITLE,
},
mainText =
{
text = function()
return zo_strformat(SI_GAMEPAD_GUILD_KIOSK_DIALOG, ZO_SELECTED_TEXT:Colorize(self.guildName))
end
},
buttons =
{
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_DECLINE
},
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_GUILD_KIOSK_HIRE_KEYBIND,
callback = function()
GuildKioskPurchase(self.guildId)
PlaySound(SOUNDS.ITEM_MONEY_CHANGED)
SCENE_MANAGER:PopScenes(NUMBER_OF_KIOSK_SCENES)
end
}
},
noChoiceCallback = function()
SCENE_MANAGER:PopScenes(NUMBER_OF_KIOSK_SCENES)
end
})
- ingame/guildkiosk/gamepad/guildkiosk_gamepad.lua:466 --
ZO_Dialogs_RegisterCustomDialog("BID_KIOSK_GAMEPAD",
{
setup = function(dialog, data) self:SetupDialogLabels(dialog, data) end,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_GAMEPAD_GUILD_KIOSK_BID_DIALOG_TITLE,
},
mainText =
{
text = function()
return zo_strformat(SI_GAMEPAD_GUILD_KIOSK_BID_BODY, ZO_SELECTED_TEXT:Colorize(self.guildName))
end
},
buttons =
{
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_DECLINE
},
{
keybind = "DIALOG_PRIMARY",
text = function()
return ZO_GuildKiosk_Bid_Shared.GetBidActionText(self.hasBidOnThisTraderAlready)
end,
callback = function()
GuildKioskBid(self.guildId, self.bidAmount)
PlaySound(SOUNDS.ITEM_MONEY_CHANGED)
ZO_AlertNoSuppression(UI_ALERT_CATEGORY_ALERT, nil, SI_GAMEPAD_GUILD_KIOSK_BID_ALERT)
self.shouldPopScenes = true
end
}
},
finishedCallback = function(dialog)
if self.shouldPopScenes then
SCENE_MANAGER:PopScenes(NUMBER_OF_KIOSK_SCENES)
end
end,
noChoiceCallback = function()
SCENE_MANAGER:PopScenes(NUMBER_OF_KIOSK_SCENES)
end
})
- ingame/help/gamepad/help_root_gamepad.lua:130 --
ZO_Dialogs_RegisterCustomDialog(GAMEPAD_UNSTUCK_CONFIRM_DIALOG,
{
canQueue = true,
mustChoose = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_GAMEPAD_HELP_GET_ME_UNSTUCK,
},
mainText =
{
text = function()
local cost = zo_min(GetRecallCost(), GetCurrencyAmount(CURT_MONEY, CURRENCY_LOCATION_CHARACTER))
local goldIcon = ZO_Currency_GetGamepadFormattedCurrencyIcon(CURT_MONEY)
local primaryButtonMarkup = ZO_Keybindings_GenerateIconKeyMarkup(KEY_GAMEPAD_BUTTON_1)
local text
if DoesCurrentZoneHaveTelvarStoneBehavior() then
local telvarLossPercentage = zo_floor(GetTelvarStonePercentLossOnNonPvpDeath() * 100)
text = zo_strformat(SI_GAMEPAD_HELP_UNSTUCK_CONFIRM_STUCK_PROMPT_TELVAR, cost, goldIcon, primaryButtonMarkup, telvarLossPercentage)
elseif IsActiveWorldBattleground() then
text = GetString(SI_CUSTOMER_SERVICE_UNSTUCK_COST_PROMPT_IN_BATTLEGROUND)
else
text = zo_strformat(SI_GAMEPAD_HELP_UNSTUCK_CONFIRM_STUCK_PROMPT, cost, goldIcon, primaryButtonMarkup)
end
return text
end,
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_DIALOG_ACCEPT,
callback = function()
SendPlayerStuck()
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
},
}
})
- ingame/help/gamepad/help_root_gamepad.lua:183 --
ZO_Dialogs_RegisterCustomDialog(GAMEPAD_UNSTUCK_COOLDOWN_DIALOG,
{
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.COOLDOWN,
},
setup = function(dialog)
dialog:setupFunc()
end,
updateFn = function(dialog)
local cooldownTime = GetTimeUntilStuckAvailable()
if cooldownTime > 0 then
dialog.cooldownLabelControl:SetText(ZO_FormatTimeMilliseconds(cooldownTime, TIME_FORMAT_STYLE_DESCRIPTIVE_SHORT_SHOW_ZERO_SECS, TIME_FORMAT_PRECISION_SECONDS))
elseif not ZO_Dialogs_IsDialogHiding(GAMEPAD_UNSTUCK_COOLDOWN_DIALOG) then
ZO_Dialogs_ShowGamepadDialog(GAMEPAD_UNSTUCK_CONFIRM_DIALOG)
ZO_Dialogs_ReleaseDialogOnButtonPress(GAMEPAD_UNSTUCK_COOLDOWN_DIALOG)
end
end,
title =
{
text = GetString(SI_GAMEPAD_HELP_GET_ME_UNSTUCK),
},
mainText =
{
text = GetString(SI_GAMEPAD_HELP_UNSTUCK_COOLDOWN_HEADER),
},
buttons =
{
{
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_EXIT),
},
}
})
- ingame/help/gamepad/help_root_gamepad.lua:224 --
ZO_Dialogs_RegisterCustomDialog(GAMEPAD_UNSTUCK_LOADING_DIALOG,
{
canQueue = true,
blockDialogReleaseOnPress = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.COOLDOWN,
},
setup = function(dialog)
dialog:setupFunc()
end,
updateFn = function()
if self.stuckComplete then
ZO_Dialogs_ReleaseDialogOnButtonPress(GAMEPAD_UNSTUCK_LOADING_DIALOG)
self.stuckComplete = false
SCENE_MANAGER:ShowBaseScene()
end
end,
title =
{
text = GetString(SI_GAMEPAD_HELP_GET_ME_UNSTUCK),
},
loading =
{
text = GetString(SI_FIXING_STUCK_TEXT),
},
buttons =
{
},
mustChoose = true,
})
- ingame/help/gamepad/help_root_gamepad.lua:264 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
canQueue = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_GAMEPAD_HELP_GET_ME_UNSTUCK,
},
mainText =
{
text = dialogText,
},
buttons =
{
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_EXIT,
},
}
})
- ingame/help/gamepad/help_root_gamepad.lua:293 --
ZO_Dialogs_RegisterCustomDialog(GAMEPAD_CS_DISABLED_ON_PC_DIALOG,
{
canQueue = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = GetString(SI_GAMEPAD_HELP_CS_DISABLED_TITLE),
},
mainText =
{
text = GetString(SI_GAMEPAD_HELP_CS_DISABLED_TEXT),
},
buttons =
{
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_EXIT,
},
}
})
- ingame/help/keyboard/helpaskforhelp_keyboard.lua:167 --
ZO_Dialogs_RegisterCustomDialog("HELP_ASK_FOR_HELP_SUBMIT_TICKET_SUCCESSFUL_DIALOG",
{
canQueue = true,
mustChoose = true,
title =
{
text = GetString(SI_CUSTOMER_SERVICE_SUBMIT_CONFIRMATION),
},
mainText =
{
text = GetString(SI_CUSTOMER_SERVICE_ASK_FOR_HELP_SUBMIT_TICKET_CONFIRMATION),
},
buttons =
{
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_EXIT,
},
},
})
- ingame/help/keyboard/helpcustomerservice_keyboard.lua:45 --
ZO_Dialogs_RegisterCustomDialog("HELP_CUSTOMER_SERVICE_SUBMITTING_TICKET_DIALOG",
{
showLoadingIcon = true,
modal = false,
title =
{
text = GetString(SI_CUSTOMER_SERVICE_SUBMITTING_TICKET),
},
mainText =
{
text = GetString(SI_CUSTOMER_SERVICE_SUBMITTING),
align = TEXT_ALIGN_CENTER,
},
})
- ingame/housingeditor/housingpreview_shared.lua:56 --
ZO_Dialogs_RegisterCustomDialog(self.dialogName, self.dialogInfo)
- ingame/housingeditor/gamepad/housingfurnituresettings_gamepad.lua:717 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
SetupAddOrBanDialog(dialog, dialogName)
end,
parametricList =
{
-- user name
userNameData,
-- Preset Selector
presetSelectorData,
-- All Houses
allHousesData,
-- Confirm
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData =
{
text = GetString(SI_DIALOG_CONFIRM),
setup = SetupRequestEntry,
callback = function(dialog)
local nameText = ZO_FormatManualNameEntry(dialog.nameText)
if IsValidInput(nameText) then
local ALLOW_ACCESS = true
local data = dialog.data
local activePanel = data.activePanel
local userGroup = activePanel:GetUserGroup()
AddHousingPermission(data.currentHouse, userGroup, ALLOW_ACCESS, dialog.selectedPresetIndex, dialog.applyToAllHouses, nameText)
ZO_Dialogs_ReleaseDialogOnButtonPress(dialogName)
end
end,
validInput = function(dialog)
return IsValidInput(dialog.nameText)
end,
}
},
},
blockDialogReleaseOnPress = true,
buttons = individualDialogButtonData,
noChoiceCallback = NoChoiceCallback,
})
- ingame/housingeditor/gamepad/housingfurnituresettings_gamepad.lua:773 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
SetupAddOrBanDialog(dialog, dialogName)
end,
parametricList =
{
-- Guild Selector
guildSelectorData,
-- user name
userNameData,
-- Preset Selector
presetSelectorData,
-- All Houses
allHousesData,
-- Confirm
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData =
{
text = GetString(SI_DIALOG_CONFIRM),
setup = SetupRequestEntry,
callback = function(dialog)
local nameText
if dialog.selectedGuildIndex > GetNumGuilds() then
nameText = dialog.nameText
else
nameText = GetGuildName(dialog.selectedGuildId)
end
if IsValidInput(nameText) then
local ALLOW_ACCESS = true
local data = dialog.data
local activePanel = data.activePanel
local userGroup = activePanel:GetUserGroup()
AddHousingPermission(data.currentHouse, userGroup, ALLOW_ACCESS, dialog.selectedPresetIndex, dialog.applyToAllHouses, nameText)
ZO_Dialogs_ReleaseDialogOnButtonPress(dialogName)
end
end,
validInput = function(dialog)
return IsValidInput(dialog.nameText) or dialog.selectedGuildIndex <= GetNumGuilds()
end,
}
},
},
blockDialogReleaseOnPress = true,
buttons = buttonsData,
noChoiceCallback = NoChoiceCallback,
})
- ingame/housingeditor/gamepad/housingfurnituresettings_gamepad.lua:835 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
SetupAddOrBanDialog(dialog, dialogName)
end,
parametricList =
{
-- user name
userNameData,
-- All Houses
allHousesData,
-- Confirm
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData =
{
text = GetString(SI_DIALOG_CONFIRM),
setup = SetupRequestEntry,
callback = function(dialog)
local nameText = ZO_FormatManualNameEntry(dialog.nameText)
if IsValidInput(nameText) then
local DISALLOW_ACCESS = false
local CANNOT_EDIT = false
local data = dialog.data
local activePanel = data.activePanel
local userGroup = activePanel:GetUserGroup()
AddHousingPermission(data.currentHouse, userGroup, DISALLOW_ACCESS, HOUSE_PERMISSION_PRESET_SETTING_INVALID, dialog.applyToAllHouses, nameText)
ZO_Dialogs_ReleaseDialogOnButtonPress(dialogName)
end
end,
validInput = function(dialog)
return IsValidInput(dialog.nameText)
end,
}
},
},
blockDialogReleaseOnPress = true,
buttons = individualDialogButtonData,
})
- ingame/housingeditor/gamepad/housingfurnituresettings_gamepad.lua:888 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
SetupAddOrBanDialog(dialog, dialogName)
end,
parametricList =
{
-- Guild Selector
guildSelectorData,
-- user name
userNameData,
-- All Houses
allHousesData,
-- Confirm
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData =
{
text = GetString(SI_DIALOG_CONFIRM),
setup = SetupRequestEntry,
callback = function(dialog)
local nameText
if dialog.selectedGuildIndex > GetNumGuilds() then
nameText = dialog.nameText
else
nameText = GetGuildName(dialog.selectedGuildId)
end
if IsValidInput(nameText) then
local DISALLOW_ACCESS = false
local CANNOT_EDIT = false
local data = dialog.data
local activePanel = data.activePanel
local userGroup = activePanel:GetUserGroup()
AddHousingPermission(data.currentHouse, userGroup, DISALLOW_ACCESS, HOUSE_PERMISSION_PRESET_SETTING_INVALID, dialog.applyToAllHouses, nameText)
ZO_Dialogs_ReleaseDialogOnButtonPress(dialogName)
end
end,
validInput = function(dialog)
return IsValidInput(dialog.nameText) or dialog.selectedGuildIndex <= GetNumGuilds()
end,
}
},
},
blockDialogReleaseOnPress = true,
buttons = buttonsData,
noChoiceCallback = NoChoiceCallback,
})
- ingame/housingeditor/gamepad/housingfurnituresettings_gamepad.lua:950 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
canQueue = true,
setup = function(dialog)
SetupRemoveDialog(dialog, dialogName)
end,
parametricList =
{
-- All Houses
allHousesData,
-- Confirm
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData =
{
text = GetString(SI_DIALOG_CONFIRM),
setup = SetupRequestEntry,
callback = function(dialog)
local data = dialog.data
RemoveHousingPermission(data.currentHouse, data.userGroup, data.index, dialog.applyToAllHouses)
ZO_Dialogs_ReleaseDialogOnButtonPress(dialogName)
end,
}
},
},
blockDialogReleaseOnPress = true,
buttons = buttonsData,
})
- ingame/housingeditor/gamepad/housingfurnituresettings_gamepad.lua:989 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
canQueue = true,
setup = function(dialog)
SetupChangeDialog(dialog, dialogName)
end,
parametricList =
{
-- Preset Selector
presetSelectorData,
-- All Houses
allHousesData,
-- Confirm
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData =
{
text = GetString(SI_DIALOG_CONFIRM),
setup = SetupRequestEntry,
callback = function(dialog)
local data = dialog.data
SetHousingPermissionPreset(data.currentHouse, data.userGroup, data.index, dialog.selectedPresetIndex, dialog.applyToAllHouses)
ZO_Dialogs_ReleaseDialogOnButtonPress(dialogName)
end,
}
},
},
blockDialogReleaseOnPress = true,
buttons = buttonsData,
noChoiceCallback = NoChoiceCallback,
})
- ingame/housingeditor/gamepad/housingfurnituresettings_gamepad.lua:1032 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
allowShowOnNextScene = true
},
setup = function(dialog)
SetupCopyDialog(dialog, dialogName)
end,
parametricList =
{
-- House Selector
houseSelectorData,
-- Confirm
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData =
{
text = GetString(SI_DIALOG_CONFIRM),
setup = SetupRequestEntry,
callback = function(dialog)
local data = dialog.data
CopyHousePermissions(dialog.selectedHouseId, data.currentHouse)
ZO_Dialogs_ReleaseDialogOnButtonPress(dialogName)
end,
validInput = function(dialog)
return dialog.selectedHouseId > INVALID_HOUSE_ID
end,
},
},
},
blockDialogReleaseOnPress = true,
buttons = buttonsData,
noChoiceCallback = NoChoiceCallback,
})
- ingame/housingeditor/keyboard/housingfurnituresettings_keyboard.lua:374 --
ZO_Dialogs_RegisterCustomDialog("CHANGE_HOUSING_PERMISSIONS",
{
customControl = self,
setup = SetupChangePermissionsDialog,
canQueue = true,
title =
{
text = SI_DIALOG_TITLE_CHANGE_HOUSING_PERMISSION,
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
control = self:GetNamedChild("Confirm"),
text = SI_DIALOG_BUTTON_CHANGE_HOUSING_PERMISSION,
callback = function(dialog)
local editCheckBoxControl = dialog:GetNamedChild("AllHouses")
local isAllHousesChecked = ZO_CheckButton_IsChecked(editCheckBoxControl)
HOUSE_SETTINGS_MANAGER:SetApplyToAllHousesFlag(isAllHousesChecked)
local data = dialog.data
SetHousingPermissionPreset(data.currentHouse, data.userGroup, data.index, dialog.selectedPreset, isAllHousesChecked)
end
},
{
control = self:GetNamedChild("Cancel"),
text = SI_DIALOG_CANCEL,
},
},
})
- ingame/housingeditor/keyboard/housingfurnituresettings_keyboard.lua:417 --
ZO_Dialogs_RegisterCustomDialog("CONFIRM_REMOVE_PERMISSIONS",
{
customControl = self,
setup = SetupRemovePermissionsDialog,
buttons =
{
{
control = self:GetNamedChild("Confirm"),
text = SI_DIALOG_CONFIRM,
callback = function(dialog)
local data = dialog.data
local editCheckBoxControl = dialog:GetNamedChild("AllHouses")
local isAllHousesChecked = ZO_CheckButton_IsChecked(editCheckBoxControl)
HOUSE_SETTINGS_MANAGER:SetApplyToAllHousesFlag(isAllHousesChecked)
RemoveHousingPermission(data.currentHouse, data.userGroup, data.index, isAllHousesChecked)
end
},
{
control = self:GetNamedChild("Cancel"),
text = SI_DIALOG_CANCEL,
},
},
})
- ingame/housingeditor/keyboard/housingfurnituresettings_keyboard.lua:462 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
customControl = self,
setup = SetupAddOrBanUserGroupDialog,
buttons =
{
{
control = self:GetNamedChild("Confirm"),
text = SI_DIALOG_CONFIRM,
callback = function(dialog)
local data = dialog.data
local activePanel = data.activePanel
local userGroup = activePanel:GetUserGroup()
local editCheckBoxControl = dialog:GetNamedChild("AllHouses")
local isAllHousesChecked = ZO_CheckButton_IsChecked(editCheckBoxControl)
HOUSE_SETTINGS_MANAGER:SetApplyToAllHousesFlag(isAllHousesChecked)
local name = GetControl(dialog, "NameEdit"):GetText()
AddHousingPermission(data.currentHouse, userGroup, ALLOW_ACCESS, dialog.selectedPreset, isAllHousesChecked, name)
end
},
{
control = self:GetNamedChild("Cancel"),
text = SI_DIALOG_CANCEL,
},
},
})
- ingame/housingeditor/keyboard/housingfurnituresettings_keyboard.lua:498 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
customControl = self,
setup = SetupAddOrBanUserGroupDialog,
buttons =
{
{
control = self:GetNamedChild("Confirm"),
text = SI_DIALOG_CONFIRM,
callback = function(dialog)
local data = dialog.data
local activePanel = data.activePanel
local userGroup = activePanel:GetUserGroup()
local editCheckBoxControl = dialog:GetNamedChild("AllHouses")
local isAllHousesChecked = ZO_CheckButton_IsChecked(editCheckBoxControl)
HOUSE_SETTINGS_MANAGER:SetApplyToAllHousesFlag(isAllHousesChecked)
local name = GetControl(dialog, "NameEdit"):GetText()
AddHousingPermission(data.currentHouse, userGroup, not ALLOW_ACCESS, HOUSE_PERMISSION_PRESET_SETTING_INVALID, isAllHousesChecked, name)
end
},
{
control = self:GetNamedChild("Cancel"),
text = SI_DIALOG_CANCEL,
},
},
})
- ingame/housingeditor/keyboard/housingfurnituresettings_keyboard.lua:534 --
ZO_Dialogs_RegisterCustomDialog("COPY_HOUSING_PERMISSIONS",
{
customControl = self,
setup = SetupCopyPermissionsDialog,
canQueue = true,
title =
{
text = SI_DIALOG_COPY_HOUSING_PERMISSION_TITLE,
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
control = self.confirmButton,
text = SI_DIALOG_CONFIRM,
callback = function(dialog)
local data = dialog.data
CopyHousePermissions(dialog.selectedHouseId, data.currentHouse)
end
},
{
control = self:GetNamedChild("Cancel"),
text = SI_DIALOG_CANCEL,
},
},
})
- ingame/interactwindow/keepclaimdialog.lua:153 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_GUILD_RELEASE_KEEP_CONFIRM_TITLE,
},
mainText =
{
text = SI_GUILD_RELEASE_KEEP_CONFIRM_PROMPT,
},
noChoiceCallback = function()
INTERACT_WINDOW:EndInteraction(GUILD_KEEP_RELEASE_INTERACTION)
end,
buttons =
{
[1] =
{
keybind = "DIALOG_PRIMARY",
text = SI_GUILD_RELEASE_KEEP_ACCEPT,
callback = function(dialog)
dialog.data.release()
INTERACT_WINDOW:EndInteraction(GUILD_KEEP_RELEASE_INTERACTION)
end,
visible = function()
local keepId = dialogSingleton.data.keepId
local time = GetSecondsUntilKeepClaimAvailable(keepId, BGQUERY_LOCAL)
return time == 0
end,
},
[2] =
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function(dialog)
INTERACT_WINDOW:EndInteraction(GUILD_KEEP_RELEASE_INTERACTION)
end,
},
},
updateFn = function(dialog)
local keepId = dialog.data.keepId
local keepName = GetKeepName(keepId)
local cooldown = GetSecondsUntilKeepClaimAvailable(keepId, BGQUERY_LOCAL)
if cooldown == 0 then
dialog.info.mainText.text = SI_GUILD_RELEASE_KEEP_CONFIRM_PROMPT
ZO_Dialogs_RefreshDialogText(dialogName, dialog, { mainTextParams = { keepName } } )
ZO_GenericGamepadDialog_RefreshKeybinds(dialog)
else
dialog.info.mainText.text = SI_GUILD_RELEASE_KEEP_COOLDOWN
ZO_Dialogs_RefreshDialogText(dialogName, dialog, { mainTextParams = { keepName, ZO_FormatTime(cooldown, TIME_FORMAT_STYLE_COLONS, TIME_FORMAT_PRECISION_TWELVE_HOUR) } } )
end
KEYBIND_STRIP:UpdateCurrentKeybindButtonGroups()
end,
})
- ingame/interactwindow/keepclaimdialog.lua:262 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
self:RefreshGuildList()
self.noViolations = nil
UpdateSelectedGuildId(nil)
UpdateSelectedGuildIndex(nil)
dialog:setupFunc()
end,
blockDialogReleaseOnPress = true, -- We'll handle Dialog Releases ourselves since we don't want DIALOG_PRIMARY to release the dialog on press.
noChoiceCallback = DeinitDialog,
title =
{
text = GetString(SI_PROMPT_TITLE_SELECT_GUILD_KEEP_CLAIM),
},
mainText =
{
text = function()
local keepId = GetGuildClaimInteractionKeepId()
local keepName = GetKeepName(keepId)
local result = CheckGuildKeepClaim(self.selectedGuildId, keepId)
if result ~= CLAIM_KEEP_RESULT_TYPE_SUCCESS then
local cooldown = GetSecondsUntilKeepClaimAvailable(keepId, BGQUERY_LOCAL)
if cooldown > 0 then
return zo_strformat(SI_KEEP_CLAIM_ON_COOLDOWN, keepName, ZO_FormatTime(cooldown, TIME_FORMAT_STYLE_COLONS, TIME_FORMAT_PRECISION_TWELVE_HOUR))
else
return zo_strformat(GetString("SI_CLAIMKEEPRESULTTYPE", result), keepName)
end
else
return zo_strformat(SI_GAMEPAD_SELECT_GUILD_KEEP_CLAIM_INSTRUCTIONS, keepName)
end
end
},
updateFn = function(dialog)
local keepId = GetGuildClaimInteractionKeepId()
local isClaimAvailable = GetSecondsUntilKeepClaimAvailable(keepId, BGQUERY_LOCAL) == 0
if(isClaimAvailable and not dialog.wasClaimAvailableLastUpdate) then
dialog:setupFunc()
end
UpdateViolations()
ZO_Dialogs_RefreshDialogText(dialogName, dialog)
ZO_GenericGamepadDialog_RefreshKeybinds(dialog)
if self.noViolations and self.currentDropdown then
self.currentDropdown:SetSelectedColor(ZO_SELECTED_TEXT)
elseif self.currentDropdown then
self.currentDropdown:SetSelectedColor(ZO_DISABLED_TEXT)
end
dialog.wasClaimAvailableLastUpdate = isClaimAvailable
end,
parametricList =
{
-- guild select
{
header = SI_GAMEPAD_KEEP_CLAIM_SELECT_GUILD_HEADER,
template = "ZO_GamepadDropdownItem",
templateData = {
rankSelector = true,
visible = function()
return GetSecondsUntilKeepClaimAvailable(GetGuildClaimInteractionKeepId(), BGQUERY_LOCAL) == 0
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.dropdown:SetSortsItems(false)
control.dropdown:SetSelectedColor(ZO_SELECTED_TEXT)
self:SetCurrentDropdown(control.dropdown)
control.dropdown:ClearItems()
local function OnGuildSelected(comboBox, entryText, entry)
self.noViolations = entry.noViolations
UpdateSelectedGuildId(entry.guildId)
UpdateSelectedGuildIndex(entry.index)
if self.noViolations then
self.currentDropdown:SetSelectedColor(ZO_SELECTED_TEXT)
else
self.currentDropdown:SetSelectedColor(ZO_ERROR_COLOR)
end
end
local keepId = GetGuildClaimInteractionKeepId()
local count = 1
local selectedIndex = nil
for guildId, entry in pairs(self.entries) do
local newEntry = control.dropdown:CreateItemEntry(entry.guildText, OnGuildSelected)
newEntry.guildId = entry.guildId
newEntry.index = count
newEntry.guildText = entry.guildText
local result = CheckGuildKeepClaim(guildId, keepId)
newEntry.noViolations = result == CLAIM_KEEP_RESULT_TYPE_SUCCESS
if newEntry.noViolations then
newEntry.m_normalColor = ZO_DISABLED_TEXT
newEntry.m_highlightColor = ZO_SELECTED_TEXT
else
newEntry.m_normalColor = ZO_ERROR_COLOR
newEntry.m_highlightColor = ZO_ERROR_COLOR
end
control.dropdown:AddItem(newEntry)
if guildId == self.selectedGuildId then
selectedIndex = count
end
count = count + 1
end
if selectedIndex then
local IGNORE_CALLBACK = true
self.currentDropdown:SelectItemByIndex(selectedIndex, IGNORE_CALLBACK)
else
self.currentDropdown:SelectFirstItem()
end
control.dropdown:UpdateItems()
local function OnDropdownDeactivated()
KEYBIND_STRIP:PopKeybindGroupState()
end
control.dropdown:SetDeactivatedCallback(OnDropdownDeactivated)
end,
},
},
},
buttons =
{
-- Cancel Button
{
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
callback = function()
ReleaseDialog()
end,
},
-- Select Button (used for selecting guild)
{
keybind = "DIALOG_PRIMARY",
text = GetString(SI_GAMEPAD_SELECT_OPTION),
visible = function()
return GetSecondsUntilKeepClaimAvailable(GetGuildClaimInteractionKeepId(), BGQUERY_LOCAL) == 0
end,
callback = function()
KEYBIND_STRIP:PushKeybindGroupState() -- This is just to hide the keybinds (don't need to store the state)
self.currentDropdown:Activate()
UpdateDropdownHighlight()
end,
},
-- Claim Button
{
keybind = "DIALOG_SECONDARY",
text = GetString(SI_DIALOG_ACCEPT),
visible = function()
return self.noViolations
end,
callback = function()
if(self.noViolations) then
ClaimInteractionKeepForGuild(self.selectedGuildId)
end
ReleaseDialog()
end,
},
}
})
- ingame/inventory/inventory.lua:2006 --
ZO_Dialogs_RegisterCustomDialog(self.withdrawDialogName,
{
customControl = control,
title =
{
text = SI_BANK_WITHDRAW_CURRENCY,
},
setup = function(dialog)
self.withdrawMode = true
self.depositWithdrawButton:SetState(BSTATE_NORMAL, false) --reenable in case deposit disabled it and the user cancelled
local ON_CURRENCY_CHANGED_CALLBACK = nil
ZO_DefaultCurrencyInputField_Initialize(self.depositWithdrawCurrency, ON_CURRENCY_CHANGED_CALLBACK, self.currencyType)
self.withdrawDepositCurrencyHeaderLabel:SetText(GetString(SI_BANK_CURRENCY_VALUE_ENTRY_WITHDRAW_HEADER))
self:UpdateMoneyInputAndDisplay()
self:FocusInput()
end,
buttons =
{
{
control = self.depositWithdrawButton,
text = SI_BANK_WITHDRAW_BIND,
callback = function(dialog)
local amount = ZO_DefaultCurrencyInputField_GetCurrency(self.depositWithdrawCurrency)
if amount > 0 then
TransferCurrency(self.currencyType, amount, self.currencyBankLocation, GetCurrencyPlayerStoredLocation(self.currencyType))
end
end,
},
{
control = control:GetNamedChild("Cancel"),
text = SI_DIALOG_CANCEL,
}
}
})
- ingame/inventory/inventory.lua:2042 --
ZO_Dialogs_RegisterCustomDialog(self.depositDialogName,
{
customControl = control,
title =
{
text = SI_BANK_DEPOSIT_CURRENCY,
},
setup = function(dialog)
self.withdrawMode = false
ZO_DefaultCurrencyInputField_Initialize(self.depositWithdrawCurrency, function(_, amount) self:OnCurrencyInputAmountChanged(amount) end, self.currencyType)
self.withdrawDepositCurrencyHeaderLabel:SetText(GetString(SI_BANK_CURRENCY_VALUE_ENTRY_DEPOSIT_HEADER))
self:UpdateMoneyInputAndDisplay()
self:FocusInput()
end,
buttons =
{
{
control = self.depositWithdrawButton,
text = SI_BANK_DEPOSIT_BIND,
callback = function(dialog)
local amount = ZO_DefaultCurrencyInputField_GetCurrency(self.depositWithdrawCurrency)
if amount > 0 then
TransferCurrency(self.currencyType, amount, GetCurrencyPlayerStoredLocation(self.currencyType), self.currencyBankLocation)
end
end,
},
{
control = self.control:GetNamedChild("Cancel"),
text = SI_DIALOG_CANCEL,
}
}
})
- ingame/inventory/stack.lua:70 --
ZO_Dialogs_RegisterCustomDialog("SPLIT_STACK",
{
customControl = self,
setup = SetupStackSplit,
title =
{
text = SI_INVENTORY_SPLIT_STACK_TITLE,
},
buttons =
{
[1] =
{
control = GetControl(self, "Split"),
text = SI_INVENTORY_SPLIT_STACK,
callback = function(stackControl)
local bag, index = ZO_Inventory_GetBagAndIndex(stackControl.slotControl)
PickupInventoryItem(bag, index, stackControl.spinner:GetValue())
-- Auto-drop into whatever bag this came from
ZO_InventoryLandingArea_DropCursorInBag(bag)
end,
},
[2] =
{
control = GetControl(self, "Cancel"),
text = SI_DIALOG_CANCEL,
}
}
})
- ingame/inventory/gamepad/confirmcollectibleevolutiondialog_gamepad.lua:8 --
ZO_Dialogs_RegisterCustomDialog("CONFIRM_COLLECTIBLE_EVOLUTION_PROMPT_GAMEPAD",
{
customControl = control,
setup = function(dialog)
local data = dialog.data
local baseCollectibleData = ZO_COLLECTIBLE_DATA_MANAGER:GetCollectibleDataById(data.baseCollectibleId)
local evolvedCollectibleData = ZO_COLLECTIBLE_DATA_MANAGER:GetCollectibleDataById(data.evolvedCollectibleId)
baseCollectibleTextureControl:SetTexture(baseCollectibleData:GetIcon())
evolvedCollectibleTextureControl:SetTexture(evolvedCollectibleData:GetIcon())
dialog:setupFunc()
end,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.CUSTOM,
},
title =
{
text = SI_COLLECTIBLE_EVOLUTION_PROMPT_TITLE,
},
mainText =
{
text = SI_COLLECTIBLE_EVOLUTION_PROMPT_CONFIRMATION_TEXT,
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_DIALOG_YES,
callback = function(dialog)
dialog.data.acceptCallback()
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_NO,
callback = function(dialog)
dialog.data.declineCallback()
end,
}
},
noChoiceCallback = function(dialog)
dialog.data.declineCallback()
end,
})
- ingame/inventory/gamepad/gamepadinventory.lua:314 --
ZO_Dialogs_RegisterCustomDialog(ZO_GAMEPAD_CONFIRM_DESTROY_DIALOG,
{
blockDialogReleaseOnPress = true,
canQueue = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.BASIC,
allowRightStickPassThrough = true,
},
setup = function(dialog)
self.destroyConfirmText = nil
dialog:setupFunc()
end,
noChoiceCallback = function(dialog)
RespondToDestroyRequest(false)
end,
title =
{
text = SI_PROMPT_TITLE_DESTROY_ITEM_PROMPT,
},
mainText =
{
text = SI_DESTROY_ITEM_PROMPT,
},
buttons =
{
{
onShowCooldown = 2000,
keybind = "DIALOG_PRIMARY",
text = GetString(SI_YES),
callback = function()
ReleaseDialog(true)
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_NO),
callback = function()
ReleaseDialog()
end,
},
}
})
- ingame/inventory/gamepad/gamepadinventory.lua:366 --
ZO_Dialogs_RegisterCustomDialog(ZO_GAMEPAD_SPLIT_STACK_DIALOG,
{
canQueue = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.ITEM_SLIDER,
},
setup = function(dialog, data)
dialog:setupFunc()
end,
title =
{
text = SI_GAMEPAD_INVENTORY_SPLIT_STACK_TITLE,
},
mainText =
{
text = SI_GAMEPAD_INVENTORY_SPLIT_STACK_PROMPT,
},
OnSliderValueChanged = function(dialog, sliderControl, value)
dialog.sliderValue1:SetText(dialog.data.stackSize - value)
dialog.sliderValue2:SetText(value)
end,
buttons =
{
{
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
},
{
keybind = "DIALOG_PRIMARY",
text = GetString(SI_GAMEPAD_SELECT_OPTION),
callback = function(dialog)
local dialogData = dialog.data
local quantity = ZO_GenericGamepadItemSliderDialogTemplate_GetSliderValue(dialog)
PickupInventoryItem(dialogData.bagId, dialogData.slotIndex, quantity)
TryPlaceInventoryItemInEmptySlot(dialogData.bagId)
end,
},
}
})
- ingame/inventory/gamepad/itemtransferdialog_gamepad.lua:22 --
ZO_Dialogs_RegisterCustomDialog("ITEM_TRANSFER_ADD_TO_CRAFT_BAG_GAMEPAD",
{
canQueue = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.ITEM_SLIDER,
},
setup = setupFunc,
title =
{
text = SI_PROMPT_TITLE_ADD_ITEMS_TO_CRAFT_BAG,
},
buttons =
{
{
text = SI_ITEM_ACTION_ADD_ITEMS_TO_CRAFT_BAG,
callback = callbackFunc,
},
{
text = SI_DIALOG_CANCEL,
}
}
})
- ingame/inventory/gamepad/itemtransferdialog_gamepad.lua:45 --
ZO_Dialogs_RegisterCustomDialog("ITEM_TRANSFER_REMOVE_FROM_CRAFT_BAG_GAMEPAD",
{
canQueue = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.ITEM_SLIDER,
},
setup = setupFunc,
title =
{
text = SI_PROMPT_TITLE_REMOVE_ITEMS_FROM_CRAFT_BAG,
},
buttons =
{
{
text = SI_ITEM_ACTION_REMOVE_ITEMS_FROM_CRAFT_BAG,
callback = callbackFunc,
},
{
text = SI_DIALOG_CANCEL,
}
}
})
- ingame/inventory/keyboard/confirmcollectibleevolutiondialog_keyboard.lua:6 --
ZO_Dialogs_RegisterCustomDialog("CONFIRM_COLLECTIBLE_EVOLUTION_PROMPT_KEYBOARD",
{
customControl = control,
setup = function(dialog)
local data = dialog.data
local baseCollectibleData = ZO_COLLECTIBLE_DATA_MANAGER:GetCollectibleDataById(data.baseCollectibleId)
local evolvedCollectibleData = ZO_COLLECTIBLE_DATA_MANAGER:GetCollectibleDataById(data.evolvedCollectibleId)
baseCollectibleTextureControl:SetTexture(baseCollectibleData:GetIcon())
evolvedCollectibleTextureControl:SetTexture(evolvedCollectibleData:GetIcon())
end,
title =
{
text = SI_COLLECTIBLE_EVOLUTION_PROMPT_TITLE,
},
mainText =
{
text = SI_COLLECTIBLE_EVOLUTION_PROMPT_CONFIRMATION_TEXT,
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
control = control:GetNamedChild("Confirm"),
text = SI_DIALOG_CONFIRM,
callback = function(dialog)
dialog.data.acceptCallback()
end,
},
{
keybind = "DIALOG_NEGATIVE",
control = control:GetNamedChild("Cancel"),
text = SI_DIALOG_CANCEL,
callback = function(dialog)
dialog.data.declineCallback()
end,
}
},
noChoiceCallback = function(dialog)
dialog.data.declineCallback()
end,
})
- ingame/inventory/keyboard/itemtransferdialog_keyboard.lua:27 --
ZO_Dialogs_RegisterCustomDialog("ITEM_TRANSFER_ADD_TO_CRAFT_BAG_KEYBOARD",
{
canQueue = true,
customControl = control,
setup = setupFunc,
title =
{
text = SI_PROMPT_TITLE_ADD_ITEMS_TO_CRAFT_BAG,
},
buttons =
{
{
control = control:GetNamedChild("Transfer"),
text = SI_ITEM_ACTION_ADD_ITEMS_TO_CRAFT_BAG,
callback = callbackFunc,
},
{
control = control:GetNamedChild("Cancel"),
text = SI_DIALOG_CANCEL,
}
}
})
- ingame/inventory/keyboard/itemtransferdialog_keyboard.lua:51 --
ZO_Dialogs_RegisterCustomDialog("ITEM_TRANSFER_REMOVE_FROM_CRAFT_BAG_KEYBOARD",
{
customControl = control,
setup = setupFunc,
title =
{
text = SI_PROMPT_TITLE_REMOVE_ITEMS_FROM_CRAFT_BAG
},
buttons =
{
{
control = control:GetNamedChild("Transfer"),
text = SI_ITEM_ACTION_REMOVE_ITEMS_FROM_CRAFT_BAG,
callback = callbackFunc,
},
{
control = control:GetNamedChild("Cancel"),
text = SI_DIALOG_CANCEL,
}
}
})
- ingame/keybindings/keyboard/keybindings.lua:70 --
ZO_Dialogs_RegisterCustomDialog("BINDINGS", {
customControl = function() return control end,
setup = function(dialog, ...) self:SetupDialog(...) end,
title =
{
text = SI_KEYBINDINGS_BINDINGS,
},
buttons =
{
[1] =
{
control = GetControl(control, "Bind"),
text = SI_KEYBINDINGS_BIND_BUTTON,
keybind = false,
callback = function(dialog)
self:OnBindClicked()
end,
},
[2] =
{
control = GetControl(control, "Unbind"),
text = SI_KEYBINDINGS_UNBIND_BUTTON,
keybind = false,
callback = function(dialog)
self:OnUnbindClicked()
end,
},
[3] =
{
control = GetControl(control, "Cancel"),
text = SI_DIALOG_CANCEL,
keybind = false,
},
}
})
- ingame/logout/gamepad/logoutdialog_gamepad.lua:24 --
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_LOG_OUT",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.CUSTOM
},
customControl = self,
setup = SetupLogoutDialog,
updateFn = function(dialog)
local isLocked = ZO_DAILYLOGINREWARDS_MANAGER:IsDailyRewardsLocked()
if tileObject:IsActionAvailable() == isLocked then
tileObject:SetHidden(isLocked)
tileObject:SetActionAvailable(not isLocked)
tileObject:RefreshLayout()
ZO_GenericGamepadDialog_RefreshKeybinds(self)
local dividerControl = dialog:GetNamedChild("TileDivider")
dividerControl:SetHidden(isLocked)
end
end,
OnHiddenCallback = CleanupLogoutDialog,
blockDialogReleaseOnPress = true,
canQueue = true,
title =
{
text = SI_PROMPT_TITLE_LOG_OUT,
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_LOG_OUT_GAME_CONFIRM_KEYBIND,
callback = function(dialog)
Logout()
ZO_Dialogs_ReleaseDialogOnButtonPress("GAMEPAD_LOG_OUT")
end
},
tileObject:GetKeybindDescriptor(),
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function(dialog)
ZO_Dialogs_ReleaseDialogOnButtonPress("GAMEPAD_LOG_OUT")
end
},
},
})
- ingame/logout/keyboard/logoutdialog_keyboard.lua:14 --
ZO_Dialogs_RegisterCustomDialog("LOG_OUT",
{
customControl = self,
setup = SetupLogoutDialog,
canQueue = true,
title =
{
text = SI_PROMPT_TITLE_LOG_OUT,
},
updateFn = function(dialog) -- if lock status changes, make sure to update the tile visibility
local isLocked = ZO_DAILYLOGINREWARDS_MANAGER:IsDailyRewardsLocked()
local dailyRewardTile = dialog:GetNamedChild("DailyRewardTile")
if dailyRewardTile.object:IsActionAvailable() == isLocked then
SetupLogoutDialog(dialog)
end
end,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
control = self:GetNamedChild("Confirm"),
text = SI_LOG_OUT_GAME_CONFIRM_KEYBIND,
callback = function(dialog)
Logout()
end
},
{
control = self:GetNamedChild("Cancel"),
text = SI_DIALOG_CANCEL,
},
},
})
- ingame/logout/keyboard/quitdialog_keyboard.lua:14 --
ZO_Dialogs_RegisterCustomDialog("QUIT",
{
customControl = self,
setup = SetupQuitDialog,
canQueue = true,
title =
{
text = SI_PROMPT_TITLE_QUIT,
},
updateFn = function(dialog) -- if lock status changes, make sure to update the tile visibility
local isLocked = ZO_DAILYLOGINREWARDS_MANAGER:IsDailyRewardsLocked()
local dailyRewardTile = dialog:GetNamedChild("DailyRewardTile")
if dailyRewardTile.object:IsActionAvailable() == isLocked then
SetupQuitDialog(dialog)
end
end,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
control = self:GetNamedChild("Confirm"),
text = SI_QUIT_GAME_CONFIRM_KEYBIND,
callback = function(dialog)
Quit()
end
},
{
control = self:GetNamedChild("Cancel"),
text = SI_DIALOG_CANCEL,
},
},
})
- ingame/mail/keyboard/mailinbox_keyboard.lua:610 --
ZO_Dialogs_RegisterCustomDialog("MAIL_TAKE_ATTACHMENT_COD",
{
customControl = self,
setup = function(dialog, data)
local currentGoldLabel = self.currentGoldContainer.currencyAmount
local codFeeLabel = self.codFeeContainer.currencyAmount
local currentGold = GetCurrencyAmount(CURT_MONEY, CURRENCY_LOCATION_CHARACTER)
local canAffordCODFee = data.codAmount <= currentGold
local confirmStringId = canAffordCODFee and SI_MAIL_CONFIRM_TAKE_ATTACHMENT_COD or SI_MAIL_COD_NOT_ENOUGH_MONEY
local CURRENCY_OPTIONS =
{
showTooltips = true,
}
self.confirmTextLabel:SetText(GetString(confirmStringId))
ZO_CurrencyControl_SetSimpleCurrency(currentGoldLabel, CURT_MONEY, currentGold, CURRENCY_OPTIONS, CURRENCY_SHOW_ALL)
ZO_CurrencyControl_SetSimpleCurrency(codFeeLabel, CURT_MONEY, data.codAmount, CURRENCY_OPTIONS, CURRENCY_SHOW_ALL, not canAffordCODFee)
end,
title =
{
text = SI_PROMPT_TITLE_MAIL_TAKE_ATTACHMENT_COD,
},
buttons =
{
[1] =
{
control = self:GetNamedChild("Accept"),
text = SI_DIALOG_ACCEPT,
enabled = function(dialog)
local codAmount = dialog.data.codAmount
return codAmount <= GetCurrencyAmount(CURT_MONEY, CURRENCY_LOCATION_CHARACTER)
end,
callback = function()
MAIL_INBOX:ConfirmAcceptCOD()
end,
},
[2] =
{
control = self:GetNamedChild("Decline"),
text = SI_DIALOG_DECLINE,
}
},
})
- ingame/map/gamepad/worldmapantiquities_gamepad.lua:21 --
ZO_Dialogs_RegisterCustomDialog("WORLD_MAP_ANTIQUITIES_GAMEPAD_OPTIONS",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
title =
{
text = SI_GAMEPAD_WORLD_MAP_OPTIONS
},
setup = function(dialog, data)
local parametricList = dialog.info.parametricList
ZO_ClearNumericallyIndexedTable(parametricList)
for i, action in ipairs(data.actions) do
local entryData = ZO_GamepadEntryData:New(action.text)
entryData.setup = ZO_SharedGamepadEntry_OnSetup
entryData.callback = action.callback
local listItem =
{
template = "ZO_GamepadItemEntryTemplate",
entryData = entryData,
}
table.insert(parametricList, listItem)
end
dialog:setupFunc()
end,
parametricList = {}, -- Generated Dynamically
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
if targetData and targetData.callback then
targetData.callback(dialog)
end
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_GAMEPAD_BACK_OPTION,
},
},
})
- ingame/map/gamepad/worldmapchoicedialog_gamepad.lua:44 --
ZO_Dialogs_RegisterCustomDialog("WORLD_MAP_CHOICE_GAMEPAD", dialogInfo)
- ingame/repair/repairkits.lua:20 --
ZO_Dialogs_RegisterCustomDialog("REPAIR_ITEM",
{
customControl = function() return ZO_InventorySlot_GetItemListDialog():GetControl() end,
setup = function(dialog, data) self:SetupDialog(data.bag, data.index) end,
title =
{
text = SI_REPAIR_KIT_TITLE,
},
buttons =
{
{
control = ZO_InventorySlot_GetItemListDialog():GetButton(1),
text = SI_REPAIR_KIT_CONFIRM,
clickSound = SOUNDS.INVENTORY_ITEM_REPAIR,
callback = RepairItem,
},
{
control = ZO_InventorySlot_GetItemListDialog():GetButton(2),
text = SI_DIALOG_CANCEL,
}
}
})
- ingame/restyle/gamepad/outfit_selector_gamepad.lua:181 --
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_RENAME_OUFIT",
{
canQueue = true,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
dialog:setupFunc()
end,
title =
{
text = SI_OUTFIT_RENAME_TITLE,
},
mainText =
{
text = SI_OUTFIT_RENAME_DESCRIPTION,
},
parametricList =
{
-- user name
{
template = "ZO_GamepadTextFieldItem",
templateData =
{
nameField = true,
textChangedCallback = function(control)
local inputText = control:GetText()
UpdateSelectedName(inputText)
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
local dialog = data.dialog
control.editBoxControl.textChangedCallback = data.textChangedCallback
control.editBoxControl:SetMaxInputChars(OUTFIT_NAME_MAX_LENGTH)
data.control = control
if parametricDialog.data then
control.editBoxControl:SetText(parametricDialog.data.name)
else
ZO_EditDefaultText_Initialize(control.editBoxControl, "")
end
end,
},
},
},
blockDialogReleaseOnPress = true,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local data = dialog.entryList:GetTargetData()
data.control.editBoxControl:TakeFocus()
end,
},
{
keybind = "DIALOG_SECONDARY",
text = SI_GAMEPAD_COLLECTIONS_SAVE_NAME_OPTION,
callback = function(dialog)
local outfitIndex = dialog.data.outfitIndex
local outfitManipulator = ZO_OUTFIT_MANAGER:GetOutfitManipulator(outfitIndex)
outfitManipulator:SetOutfitName(self.selectedName)
ZO_Dialogs_ReleaseDialogOnButtonPress("GAMEPAD_RENAME_OUFIT")
end,
visible = function()
return self.noViolations
end,
clickSound = SOUNDS.DIALOG_ACCEPT,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function(dialog)
ZO_Dialogs_ReleaseDialogOnButtonPress("GAMEPAD_RENAME_OUFIT")
end,
},
}
})
- ingame/restyle/gamepad/outfit_slots_panel_gamepad.lua:272 --
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_OUTFIT_ITEM_MATERIAL_OPTIONS",
{
canQueue= true,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
title =
{
text = GetString(SI_GAMEPAD_OUTFITS_SELECT_MATERIAL_DIALOG_TITLE)
},
setup = function(dialog)
local parametricList = dialog.info.parametricList
ZO_ClearNumericallyIndexedTable(parametricList)
local data = dialog.data
local targetOutfitData = data.selectedData
local outfitStyleId = targetOutfitData:GetReferenceId()
local numMaterials = GetNumOutfitStyleItemMaterials(outfitStyleId)
for materialIndex = 1, numMaterials do
local materialName = GetOutfitStyleItemMaterialName(outfitStyleId, materialIndex)
local entryData = ZO_GamepadEntryData:New(materialName)
entryData.materialIndex = materialIndex
entryData.setup = ZO_SharedGamepadEntry_OnSetup
local listItem =
{
template = "ZO_GamepadItemEntryTemplate",
entryData = entryData,
}
table.insert(parametricList, listItem)
end
dialog:setupFunc()
end,
parametricList = {}, -- Generated Dynamically
parametricListOnSelectionChangedCallback = function(dialog, list, newSelectedData, oldSelectedData)
local previewCollectionId = SYSTEMS:GetObject("itemPreview"):GetPreviewCollectionId()
if previewCollectionId ~= 0 then
local data = dialog.data
local slotManipulator = data.slotManipulator
local primaryDye, secondaryDye, accentDye = slotManipulator:GetPendingDyeData()
AddOutfitSlotPreviewElementToPreviewCollection(previewCollectionId, slotManipulator:GetOutfitSlotIndex(), data.selectedData:GetId(), newSelectedData.materialIndex, primaryDye, secondaryDye, accentDye, REFRESH_PREVIEW_INSTANTLY)
end
end,
blockDialogReleaseOnPress = true,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
if targetData then
local slotManipulator = dialog.data.slotManipulator
slotManipulator:SetPendingCollectibleIdAndItemMaterialIndex(dialog.data.selectedData:GetId(), targetData.materialIndex)
self.gridListPanelList:RefreshGridList()
self:EndSelection()
slotManipulator:UpdatePreview(REFRESH_PREVIEW_INSTANTLY)
ZO_Dialogs_ReleaseDialogOnButtonPress("GAMEPAD_OUTFIT_ITEM_MATERIAL_OPTIONS")
end
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_GAMEPAD_BACK_OPTION,
callback = function(dialog)
dialog.data.slotManipulator:UpdatePreview(REFRESH_PREVIEW_INSTANTLY)
ZO_Dialogs_ReleaseDialogOnButtonPress("GAMEPAD_OUTFIT_ITEM_MATERIAL_OPTIONS")
end,
},
}
})
- ingame/restyle/gamepad/restyle_station_gamepad.lua:673 --
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_RESTYLE_STATION_OPTIONS",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
title =
{
text = SI_GAMEPAD_OUTFITS_OPTIONS_HEADER
},
setup = function(dialog, allActions)
local parametricList = dialog.info.parametricList
ZO_ClearNumericallyIndexedTable(parametricList)
for i, action in ipairs(allActions) do
local entryData = ZO_GamepadEntryData:New(action.text)
entryData.action = action
entryData.setup = action.setup or ZO_SharedGamepadEntry_OnSetup
entryData.callback = action.callback
local listItem =
{
template = action.template or "ZO_GamepadItemEntryTemplate",
entryData = entryData,
header = action.header,
}
table.insert(parametricList, listItem)
end
dialog:setupFunc()
end,
parametricList = {}, -- Generated Dynamically
blockDialogReleaseOnPress = true,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
if targetData and targetData.callback then
targetData.callback(dialog)
end
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_GAMEPAD_BACK_OPTION,
callback = function(dialog)
ZO_Dialogs_ReleaseDialogOnButtonPress("GAMEPAD_RESTYLE_STATION_OPTIONS")
end,
},
},
noChoiceCallback = function(dialog)
local parametricList = dialog.info.parametricList
for i, entry in ipairs(parametricList) do
if entry.entryData.action.isDropdown then
local control = dialog.entryList:GetControlFromData(entry.entryData)
if control then
control.dropdown:Deactivate()
end
end
end
end
})
- ingame/restyle/gamepad/restyle_station_gamepad.lua:1606 --
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_RESTYLE_STATION_CONFIRM_APPLY",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
title =
{
text = SI_OUTFIT_CONFIRM_COMMIT_TITLE
},
setup = function(dialog, allActions)
local parametricList = dialog.info.parametricList
ZO_ClearNumericallyIndexedTable(parametricList)
local slotCosts, flatCost = self.currentOutfitManipulator:GetAllCostsForPendingChanges()
-- gold
if slotCosts > 0 then
local entryData = ZO_GamepadEntryData:New(GetCurrencyName(CURT_MONEY, IS_SINGULAR, IS_UPPER))
entryData.currencyType = CURT_MONEY
entryData.setup = SetupOutfitApplyOption
entryData.currencyLocation = CURRENCY_LOCATION_CHARACTER
entryData.value = slotCosts
entryData.useFlatCurrency = false
local listItem =
{
template = "ZO_Restyle_ApplyChanges_EntryTemplate_Gamepad",
entryData = entryData,
header = GetString(SI_GAMEPAD_OUTFITS_APPLY_CHANGES_LIST_HEADER),
headerTemplate = "ZO_GamepadMenuEntryFullWidthHeaderTemplate",
}
table.insert(parametricList, listItem)
end
-- outfit scraps
if flatCost > 0 then
local entryData = ZO_GamepadEntryData:New(zo_strformat(SI_CURRENCY_NAME_FORMAT, GetCurrencyName(CURT_STYLE_STONES, IS_SINGULAR, IS_UPPER)))
entryData.currencyType = CURT_STYLE_STONES
entryData.currencyLocation = CURRENCY_LOCATION_ACCOUNT
entryData.setup = SetupOutfitApplyOption
entryData.value = flatCost
entryData.useFlatCurrency = true
local listItem =
{
template = "ZO_Restyle_ApplyChanges_EntryTemplate_Gamepad",
entryData = entryData,
}
table.insert(parametricList, listItem)
end
dialog:setupFunc()
end,
parametricList = {}, -- Added Dynamically
parametricListOnSelectionChangedCallback = function(dialog, list, newSelectedData, oldSelectedData)
if newSelectedData then
local IS_GAMEPAD = true
local USE_SHORT_FORMAT = false
local balanceData =
{
data1 = { header = GetString(SI_GAMEPAD_OUTFITS_APPLY_CHANGES_BALANCE),
value = ZO_CurrencyControl_FormatCurrencyAndAppendIcon(GetCurrencyAmount(newSelectedData.currencyType, newSelectedData.currencyLocation), USE_SHORT_FORMAT, newSelectedData.currencyType, IS_GAMEPAD) },
}
ZO_GenericGamepadDialog_RefreshHeaderData(dialog, balanceData)
end
end,
blockDialogReleaseOnPress = true,
buttons =
{
{
onShowCooldown = 2000,
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
if targetData then
self.currentOutfitManipulator:SendOutfitChangeRequest(targetData.useFlatCurrency)
end
ZO_Dialogs_ReleaseDialogOnButtonPress("GAMEPAD_RESTYLE_STATION_CONFIRM_APPLY")
end,
enabled = function(dialog)
local targetData = dialog.entryList:GetTargetData()
if targetData then
local slotCosts, flatCost = self.currentOutfitManipulator:GetAllCostsForPendingChanges()
local costToUse = targetData.currencyType == CURT_MONEY and slotCosts or flatCost
return costToUse <= GetCurrencyAmount(targetData.currencyType, targetData.currencyLocation)
end
return false
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_GAMEPAD_BACK_OPTION,
callback = function(dialog)
ZO_Dialogs_ReleaseDialogOnButtonPress("GAMEPAD_RESTYLE_STATION_CONFIRM_APPLY")
end,
},
{
keybind = "DIALOG_SECONDARY",
text = zo_strformat(SI_BUY_CURRENCY, GetCurrencyName(CURT_STYLE_STONES, IS_SINGULAR, IS_UPPER)),
callback = function(dialog)
ZO_Dialogs_ReleaseDialogOnButtonPress("GAMEPAD_RESTYLE_STATION_CONFIRM_APPLY")
self.currentOutfitManipulator:SetMarkedForPreservation(true)
ShowMarketAndSearch("", MARKET_OPEN_OPERATION_OUTFIT_CURRENCY)
end,
},
}
})
- ingame/restyle/keyboard/restylestation_keyboard.lua:478 --
ZO_Dialogs_RegisterCustomDialog("OUTFIT_CONFIRM_COST_KEYBOARD",
{
customControl = control,
title =
{
text = SI_OUTFIT_CONFIRM_COMMIT_TITLE,
},
setup = function(dialog, data)
self:SetupDialog(data.outfitManipulator)
end,
buttons =
{
{
control = self.confirmButton,
text = function() self:GetConfirmButtonText() end,
keybind = "DIALOG_PRIMARY",
callback = function() self:Confirm() end,
},
{
control = contentsControl:GetNamedChild("Cancel"),
text = SI_DIALOG_CANCEL,
keybind = "DIALOG_NEGATIVE",
},
}
})
- ingame/skills/gamepad/gamepadskills.lua:1399 --
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_SKILLS_PURCHASE_CONFIRMATION",
{
setup = SetupFunction,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
allowRightStickPassThrough = true,
},
title =
{
text = GetString(SI_GAMEPAD_SKILLS_PURCHASE_TITLE),
},
mainText =
{
text = GetString(SI_GAMEPAD_SKILLS_PURCHASE_CONFIRM),
},
warning =
{
text = function(dialog)
if not ZO_SKILLS_ADVISOR_SINGLETON:IsAdvancedModeSelected() and dialog.data.purchaseSkillProgressionData:IsAdvised() then
ZO_GenericGamepadDialog_SetDialogWarningColor(dialog, ZO_SKILLS_ADVISOR_ADVISED_COLOR)
return GetString(SI_SKILLS_ADVISOR_PURCHASE_ADVISED)
end
return ""
end
},
buttons =
{
[1] =
{
text = SI_GAMEPAD_SKILLS_PURCHASE,
callback = function(dialog)
local purchaseSkillProgressionData = dialog.data.purchaseSkillProgressionData
local skillData = purchaseSkillProgressionData:GetSkillData()
skillData:GetPointAllocator():Purchase()
end,
},
[2] =
{
text = SI_DIALOG_CANCEL,
},
},
})
- ingame/skills/gamepad/gamepadskills.lua:1443 --
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_SKILLS_UPGRADE_CONFIRMATION",
{
setup = SetupFunction,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
allowRightStickPassThrough = true,
},
title =
{
text = GetString(SI_GAMEPAD_SKILLS_PURCHASE_TITLE),
},
mainText =
{
text = GetString(SI_GAMEPAD_SKILLS_UPGRADE_CONFIRM),
},
warning =
{
text = function(dialog)
local currentSkillProgressionData = dialog.data.currentSkillProgressionData
local upgradeSkillProgressionData = currentSkillProgressionData:GetNextRankData()
if not ZO_SKILLS_ADVISOR_SINGLETON:IsAdvancedModeSelected() and upgradeSkillProgressionData:IsAdvised() then
ZO_GenericGamepadDialog_SetDialogWarningColor(dialog, ZO_SKILLS_ADVISOR_ADVISED_COLOR)
return GetString(SI_SKILLS_ADVISOR_PURCHASE_ADVISED)
end
return ""
end
},
buttons =
{
[1] =
{
text = SI_GAMEPAD_SKILLS_PURCHASE,
callback = function(dialog)
local currentSkillProgressionData = dialog.data.currentSkillProgressionData
local skillData = currentSkillProgressionData:GetSkillData()
skillData:GetPointAllocator():IncreaseRank()
end,
},
[2] =
{
text = SI_DIALOG_CANCEL,
},
},
})
- ingame/skills/gamepad/gamepadskills.lua:1529 --
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_SKILLS_MORPH_CONFIRMATION",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
allowRightStickPassThrough = true,
},
setup = function(dialog)
local availablePoints = GetAvailableSkillPoints()
g_morphHeaderData.data1.value = availablePoints
ZO_GenericGamepadDialog_ShowTooltip(dialog)
dialog:setupFunc(nil, g_morphHeaderData)
--Select the currently chosen morph if a morph is chosen, or pick the first one
local morphSkillData = dialog.data.morphSkillData
local selectedMorphSkillProgressionData = morphSkillData:GetPointAllocatorProgressionData()
if selectedMorphSkillProgressionData:GetMorphSlot() == MORPH_SLOT_MORPH_2 then
dialog.entryList:SetSelectedIndexWithoutAnimation(2)
else
dialog.entryList:SetSelectedIndexWithoutAnimation(1)
end
end,
title =
{
text = GetString(SI_GAMEPAD_SKILLS_MORPH_TITLE),
},
parametricList =
{
-- Morph 1
{
template = "ZO_GamepadSimpleAbilityEntryTemplate",
templateData =
{
setup = MorphConfirmSetup,
morphSlot = MORPH_SLOT_MORPH_1,
},
},
-- Morph 2
{
template = "ZO_GamepadSimpleAbilityEntryTemplate",
templateData =
{
setup = MorphConfirmSetup,
morphSlot = MORPH_SLOT_MORPH_2,
},
},
},
parametricListOnSelectionChangedCallback = function(dialog, list)
local targetData = list:GetTargetData()
local morphSkillData = parametricDialog.data.morphSkillData
local morphSkillProgressionData = morphSkillData:GetMorphData(targetData.morphSlot)
local SHOW_RANK_NEEDED_LINE = true
local SHOW_POINT_SPEND_LINE = true
local SHOW_ADVISED_LINE = true
local DONT_SHOW_RESPEC_TO_FIX_BAD_MORPH_LINE = false
local SHOW_UPGRADE_INFO_BLOCK = true
local SHOULD_OVERRIDE_RANK_FOR_COMPARISON = true
GAMEPAD_TOOLTIPS:LayoutSkillProgression(GAMEPAD_LEFT_DIALOG_TOOLTIP, morphSkillProgressionData, SHOW_RANK_NEEDED_LINE, SHOW_POINT_SPEND_LINE, SHOW_ADVISED_LINE, DONT_SHOW_RESPEC_TO_FIX_BAD_MORPH_LINE, SHOW_UPGRADE_INFO_BLOCK, SHOULD_OVERRIDE_RANK_FOR_COMPARISON)
end,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SKILLS_MORPH,
callback = MorphConfirmCallback,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function(dialog)
self.selectedTooltipRefreshGroup:MarkDirty("Full")
end,
},
},
})
- ingame/skills/gamepad/gamepadskills.lua:1625 --
ZO_Dialogs_RegisterCustomDialog("SKILL_RESPEC_CONFIRM_GOLD_GAMEPAD",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_SKILL_RESPEC_CONFIRM_DIALOG_TITLE,
},
mainText =
{
text = SI_SKILL_RESPEC_CONFIRM_DIALOG_BODY_INTRO,
},
setup = function(dialog)
local balance = GetCurrencyAmount(CURT_MONEY, CURRENCY_LOCATION_CHARACTER)
local cost = GetSkillRespecCost(SKILLS_AND_ACTION_BAR_MANAGER:GetSkillPointAllocationMode())
local IS_GAMEPAD = true
dialogData.data1.value = ZO_Currency_Format(balance, CURT_MONEY, ZO_CURRENCY_FORMAT_AMOUNT_ICON, IS_GAMEPAD)
dialogData.data2.value = ZO_Currency_Format(cost, CURT_MONEY, balance > cost and ZO_CURRENCY_FORMAT_AMOUNT_ICON or ZO_CURRENCY_FORMAT_ERROR_AMOUNT_ICON, IS_GAMEPAD)
dialog.setupFunc(dialog, dialogData)
end,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_DIALOG_CONFIRM,
callback = function()
SKILLS_AND_ACTION_BAR_MANAGER:ApplyChanges()
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
},
},
})
- ingame/skills/gamepad/gamepadskills.lua:1686 --
ZO_Dialogs_RegisterCustomDialog("SKILL_RESPEC_CONFIRM_CLEAR_ALL_GAMEPAD",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
title =
{
text = function()
return GetString("SI_SKILLPOINTALLOCATIONMODE_CLEARKEYBIND", SKILLS_AND_ACTION_BAR_MANAGER:GetSkillPointAllocationMode())
end,
},
setup = function(dialog, skillLineData)
clearSkillLineEntry.header = GetString("SI_SKILLPOINTALLOCATIONMODE_CLEARCHOICEHEADERGAMEPAD", SKILLS_AND_ACTION_BAR_MANAGER:GetSkillPointAllocationMode())
local clearSkillLineEntryTemplateData = clearSkillLineEntry.templateData
clearSkillLineEntryTemplateData.text = skillLineData:GetFormattedName()
clearSkillLineEntryTemplateData.skillLineData = skillLineData
dialog.setupFunc(dialog, nil , skillLineData)
end,
parametricList =
{
-- Clear Skill Line
clearSkillLineEntry,
-- Clear All
{
template = "ZO_GamepadMenuEntryTemplate",
templateData =
{
text = GetString(SI_SKILL_RESPEC_CONFIRM_CLEAR_ALL_DIALOG_ALL_OPTION),
setup = ZO_SharedGamepadEntry_OnSetup,
},
},
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_DIALOG_CONFIRM,
callback = function(dialog)
local entry = dialog.entryList:GetTargetData()
if entry.skillLineData then
SKILL_POINT_ALLOCATION_MANAGER:ClearPointsOnSkillLine(entry.skillLineData)
else
SKILL_POINT_ALLOCATION_MANAGER:ClearPointsOnAllSkillLines()
end
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
},
},
})
- ingame/skills/gamepad/gamepadskills.lua:1803 --
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_SKILLS_ATTRIBUTE_PURCHASE",
{
canQueue = true,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = function(dialog)
attributePointData.data1.value = self:GetAvailablePoints()
ZO_GenericGamepadDialog_ShowTooltip(dialog)
dialog:setupFunc(nil, attributePointData)
end,
title =
{
text = GetString(SI_STATS_ATTRIBUTES_LEVEL_UP),
},
blockDirectionalInput = true,
parametricList =
{
-- magicka
{
template = "ZO_GamepadStatAttributeRow",
templateData =
{
setup = ZO_GamepadStatAttributeRow_Setup,
attributeType = ATTRIBUTE_MAGICKA,
screen = self,
},
text = GetString("SI_ATTRIBUTES", ATTRIBUTE_MAGICKA),
icon = "/esoui/art/characterwindow/Gamepad/gp_characterSheet_magickaIcon.dds",
},
-- health
{
template = "ZO_GamepadStatAttributeRow",
templateData =
{
setup = ZO_GamepadStatAttributeRow_Setup,
attributeType = ATTRIBUTE_HEALTH,
screen = self,
},
text = GetString("SI_ATTRIBUTES", ATTRIBUTE_HEALTH),
icon = "/esoui/art/characterwindow/Gamepad/gp_characterSheet_healthIcon.dds",
},
-- stamina
{
template = "ZO_GamepadStatAttributeRow",
templateData =
{
setup = ZO_GamepadStatAttributeRow_Setup,
attributeType = ATTRIBUTE_STAMINA,
screen = self,
},
text = GetString("SI_ATTRIBUTES", ATTRIBUTE_STAMINA),
icon = "/esoui/art/characterwindow/Gamepad/gp_characterSheet_staminaIcon.dds",
},
},
parametricListOnSelectionChangedCallback = function()
self:UpdatePendingStatBonuses()
end,
parametricListOnActivatedChangedCallback = function(list, isActive)
if not isActive then
local selectedControl = list:GetSelectedControl()
if selectedControl and selectedControl.pointLimitedSpinner then
selectedControl.pointLimitedSpinner:SetActive(false)
end
end
end,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_LEVELUP_DIALOG_CONFIRM,
callback = function(dialog)
local pendingHealth = self.pendingAttributePoints[ATTRIBUTE_HEALTH]
local pendingMagicka = self.pendingAttributePoints[ATTRIBUTE_MAGICKA]
local pendingStamina = self.pendingAttributePoints[ATTRIBUTE_STAMINA]
if pendingHealth + pendingMagicka + pendingStamina > 0 then
PurchaseAttributes(pendingHealth, pendingMagicka, pendingStamina)
PlaySound(SOUNDS.GAMEPAD_STATS_SINGLE_PURCHASE)
end
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_GAMEPAD_BACK_OPTION,
},
},
finishedCallback = function(dialog)
--Setup Skills Scene
ZO_GenericGamepadDialog_HideTooltip(dialog)
self.showAttributeDialog = false
self.selectedTooltipRefreshGroup:MarkDirty("Full")
self:ResetAttributeData()
end,
})
- ingame/skills/keyboard/zo_skills.lua:117 --
ZO_Dialogs_RegisterCustomDialog("MORPH_ABILITY_CONFIRM",
{
customControl = dialogControl,
setup = SetupMorphAbilityConfirmDialog,
title =
{
text = SI_SKILLS_MORPH_ABILITY,
},
buttons =
{
[1] =
{
control = dialogControl:GetNamedChild("Confirm"),
text = SI_SKILLS_MORPH_CONFIRM,
callback = function(dialog)
if dialog.chosenMorphProgressionData then
local skillPointAllocator = dialog.chosenMorphProgressionData:GetSkillData():GetPointAllocator()
skillPointAllocator:Morph(dialog.chosenMorphProgressionData:GetMorphSlot())
end
end,
},
[2] =
{
control = dialogControl:GetNamedChild("Cancel"),
text = SI_CANCEL,
}
}
})
- ingame/skills/keyboard/zo_skills.lua:172 --
ZO_Dialogs_RegisterCustomDialog("PURCHASE_ABILITY_CONFIRM",
{
customControl = confirmDialogControl,
setup = SetupPurchaseAbilityConfirmDialog,
title =
{
text = SI_SKILLS_CONFIRM_PURCHASE_ABILITY,
},
buttons =
{
[1] =
{
control = confirmDialogControl:GetNamedChild("Confirm"),
text = SI_SKILLS_UNLOCK_CONFIRM,
callback = function(dialog)
local skillProgressionData = dialog.data
local skillPointAllocator = skillProgressionData:GetSkillData():GetPointAllocator()
skillPointAllocator:Purchase()
end,
},
[2] =
{
control = confirmDialogControl:GetNamedChild("Cancel"),
text = SI_CANCEL,
}
}
})
- ingame/skills/keyboard/zo_skills.lua:243 --
ZO_Dialogs_RegisterCustomDialog("UPGRADE_ABILITY_CONFIRM",
{
customControl = upgradeDialogControl,
setup = SetupUpgradeAbilityDialog,
title =
{
text = SI_SKILLS_UPGRADE_ABILITY,
},
buttons =
{
[1] =
{
control = upgradeDialogControl:GetNamedChild("Confirm"),
text = SI_SKILLS_UPGRADE_CONFIRM,
callback = function(dialog)
local skillData = dialog.data
local skillPointAllocator = skillData:GetPointAllocator()
skillPointAllocator:IncreaseRank()
end,
},
[2] =
{
control = upgradeDialogControl:GetNamedChild("Cancel"),
text = SI_CANCEL,
}
}
})
- ingame/skills/keyboard/zo_skills.lua:286 --
ZO_Dialogs_RegisterCustomDialog("SKILL_RESPEC_CONFIRM_GOLD_KEYBOARD",
{
customControl = control,
setup = SetupRespecConfirmationGoldDialog,
title =
{
text = SI_SKILL_RESPEC_CONFIRM_DIALOG_TITLE,
},
mainText =
{
text = SI_SKILL_RESPEC_CONFIRM_DIALOG_BODY_INTRO,
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
control = control:GetNamedChild("Confirm"),
text = SI_DIALOG_CONFIRM,
callback = function()
SKILLS_AND_ACTION_BAR_MANAGER:ApplyChanges()
end,
},
{
keybind = "DIALOG_NEGATIVE",
control = control:GetNamedChild("Cancel"),
text = SI_DIALOG_CANCEL,
},
}
})
- ingame/skills/keyboard/zo_skills.lua:336 --
ZO_Dialogs_RegisterCustomDialog("SKILL_RESPEC_CONFIRM_CLEAR_ALL_KEYBOARD",
{
customControl = control,
setup = SetupSkillRespecConfirmClear,
title =
{
text = function()
return GetString("SI_SKILLPOINTALLOCATIONMODE_CLEARKEYBIND", SKILLS_AND_ACTION_BAR_MANAGER:GetSkillPointAllocationMode())
end,
},
mainText =
{
text = function()
return GetString("SI_SKILLPOINTALLOCATIONMODE_CLEARCHOICEHEADERKEYBOARD", SKILLS_AND_ACTION_BAR_MANAGER:GetSkillPointAllocationMode())
end
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
control = control:GetNamedChild("Confirm"),
text = SI_DIALOG_CONFIRM,
callback = function()
local selectedButton = radioButtonGroup:GetClickedButton()
if selectedButton.skillLineData then
SKILL_POINT_ALLOCATION_MANAGER:ClearPointsOnSkillLine(selectedButton.skillLineData)
else
SKILL_POINT_ALLOCATION_MANAGER:ClearPointsOnAllSkillLines()
end
end,
},
{
keybind = "DIALOG_NEGATIVE",
control = control:GetNamedChild("Cancel"),
text = SI_DIALOG_CANCEL,
},
},
})
- ingame/soulgemitemcharger/soulgemitemcharger.lua:20 --
ZO_Dialogs_RegisterCustomDialog("CHARGE_ITEM",
{
customControl = function() return ZO_InventorySlot_GetItemListDialog():GetControl() end,
setup = function(dialog, data) self:SetupDialog(data.bag, data.index) end,
title =
{
text = SI_CHARGE_WEAPON_TITLE,
},
buttons =
{
{
control = ZO_InventorySlot_GetItemListDialog():GetButton(1),
text = SI_CHARGE_WEAPON_CONFIRM,
clickSound = SOUNDS.INVENTORY_ITEM_APPLY_CHARGE,
callback = ChargeItem,
},
{
control = ZO_InventorySlot_GetItemListDialog():GetButton(2),
text = SI_DIALOG_CANCEL,
}
}
})
- ingame/stats/gamepad/zo_stats_gamepad.lua:580 --
ZO_Dialogs_RegisterCustomDialog(GAMEPAD_STATS_COMMIT_POINTS_DIALOG_NAME,
{
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_STAT_GAMEPAD_CHANGE_ATTRIBUTES,
},
mainText =
{
text = SI_STAT_GAMEPAD_COMMIT_POINTS_QUESTION,
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_DIALOG_YES_BUTTON,
callback = function()
self:PurchaseAttributes()
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_GAMEPAD_DIALOG_NO_BUTTON,
},
}
})
- ingame/storewindow/keyboard/storewindow_keyboard.lua:63 --
ZO_Dialogs_RegisterCustomDialog("BUY_MULTIPLE",
{
customControl = ZO_BuyMultipleDialog,
title =
{
text = SI_PROMPT_TITLE_BUY_MULTIPLE,
},
buttons =
{
[1] =
{
control = GetControl(self.multipleDialog, "Purchase"),
text = SI_DIALOG_PURCHASE,
callback = function(dialog)
STORE_WINDOW:BuyMultiplePurchase()
end,
},
[2] =
{
control = GetControl(self.multipleDialog, "Cancel"),
text = SI_DIALOG_CANCEL,
}
}
})
- ingame/tradinghouse/keyboard/tradinghouse_keyboard.lua:1061 --
ZO_Dialogs_RegisterCustomDialog("CONFIRM_TRADING_HOUSE_PURCHASE",
{
customControl = dialogControl,
setup = function(self) SetupTradingHouseItemDialog(self, GetTradingHouseSearchResultItemInfo, self.purchaseIndex, SLOT_TYPE_TRADING_HOUSE_ITEM_RESULT, SI_TRADING_HOUSE_PURCHASE_ITEM_AMOUNT) end,
title =
{
text = SI_TRADING_HOUSE_PURCHASE_ITEM_DIALOG_TITLE,
},
buttons =
{
[1] =
{
control = GetControl(dialogControl, "Accept"),
text = SI_TRADING_HOUSE_PURCHASE_ITEM_DIALOG_CONFIRM,
callback = function(dialog)
ConfirmPendingItemPurchase()
end,
},
[2] =
{
control = GetControl(dialogControl, "Cancel"),
text = SI_TRADING_HOUSE_PURCHASE_ITEM_DIALOG_CANCEL,
callback = function(dialog)
ClearPendingItemPurchase()
end,
}
}
})
- ingame/tradinghouse/keyboard/tradinghouse_keyboard.lua:1104 --
ZO_Dialogs_RegisterCustomDialog("CONFIRM_TRADING_HOUSE_GUILD_SPECIFIC_PURCHASE",
{
customControl = dialogControl,
setup = function(self) SetupTradingHouseItemDialog(self, GetGuildSpecificItemInfo, self.guildSpecificItemIndex, SLOT_TYPE_GUILD_SPECIFIC_ITEM, SI_TRADING_HOUSE_PURCHASE_ITEM_AMOUNT) end,
title =
{
text = SI_TRADING_HOUSE_PURCHASE_ITEM_DIALOG_TITLE,
},
buttons =
{
[1] =
{
control = GetControl(dialogControl, "Accept"),
text = SI_TRADING_HOUSE_PURCHASE_ITEM_DIALOG_CONFIRM,
callback = function(dialog)
BuyGuildSpecificItem(dialog.guildSpecificItemIndex)
tradingHouseManager:HandleGuildSpecificPurchase(dialog.guildSpecificItemIndex)
end,
},
[2] =
{
control = GetControl(dialogControl, "Cancel"),
text = SI_TRADING_HOUSE_PURCHASE_ITEM_DIALOG_CANCEL,
callback = function(dialog)
-- Do nothing
end,
}
}
})
- ingame/tradinghouse/keyboard/tradinghouse_keyboard.lua:1160 --
ZO_Dialogs_RegisterCustomDialog("CONFIRM_TRADING_HOUSE_CANCEL_LISTING",
{
customControl = dialogControl,
setup = function(self) SetupTradingHouseItemDialog(self, GetTradingHouseListingItemInfo, self.listingIndex, SLOT_TYPE_TRADING_HOUSE_ITEM_LISTING) end,
title =
{
text = SI_TRADING_HOUSE_CANCEL_LISTING_DIALOG_TITLE,
},
buttons =
{
[1] =
{
control = GetControl(dialogControl, "Accept"),
text = SI_TRADING_HOUSE_CANCEL_LISTING_DIALOG_CONFIRM,
callback = function(dialog)
CancelTradingHouseListing(dialog.listingIndex)
dialog.listingIndex = nil
end,
},
[2] =
{
control = GetControl(dialogControl, "Cancel"),
text = SI_TRADING_HOUSE_CANCEL_LISTING_DIALOG_CANCEL,
callback = function(dialog)
dialog.listingIndex = nil
end,
}
}
})
- ingame/trialaccount/trialaccount.lua:40 --
ZO_Dialogs_RegisterCustomDialog("TRIAL_ACCOUNT_SPLASH_KEYBOARD", self.dialogInfo)
- ingame/trialaccount/trialaccount.lua:42 --
ZO_Dialogs_RegisterCustomDialog("TRIAL_ACCOUNT_SPLASH_GAMEPAD",
{
setup = function(dialog)
dialog:setupFunc()
end,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.CENTERED,
},
canQueue = true,
title =
{
text = function()
return self.title
end,
},
mainText =
{
text = function()
return self.description
end,
},
buttons =
{
[1] =
{
--Ethereal binds show no text, the name field is used to help identify the keybind when debugging. This text does not have to be localized.
name = "Free Trial Close Dialog 1",
ethereal = true,
keybind = "DIALOG_PRIMARY",
clickSound = SOUNDS.DIALOG_ACCEPT,
callback = CloseDialog,
},
[2] =
{
--Ethereal binds show no text, the name field is used to help identify the keybind when debugging. This text does not have to be localized.
name = "Free Trial Close Dialog 2",
ethereal = true,
keybind = "DIALOG_NEGATIVE",
clickSound = SOUNDS.DIALOG_ACCEPT,
callback = CloseDialog,
},
},
noChoiceCallback = CloseDialog,
finishedCallback = CloseDialog,
removedFromQueueCallback = CloseDialog,
}
)
- ingame/tutorial/uiinfoboxtutorial.lua:45 --
ZO_Dialogs_RegisterCustomDialog("UI_TUTORIAL", self.dialogInfo)
- ingame/tutorial/uiinfoboxtutorial.lua:47 --
ZO_Dialogs_RegisterCustomDialog("UI_TUTORIAL_GAMEPAD",
{
canQueue = true,
setup = function(dialog)
dialog:setupFunc()
end,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.CENTERED,
},
title =
{
text = function()
return self.title
end,
},
mainText =
{
text = function()
return self.description
end,
},
buttons =
{
{
--Ethereal binds show no text, the name field is used to help identify the keybind when debugging. This text does not have to be localized.
name = "Gamepad Tutorial Accept",
ethereal = true,
keybind = "DIALOG_PRIMARY",
clickSound = SOUNDS.DIALOG_ACCEPT,
callback = function(dialog)
dialog.data.owner:RemoveTutorial(dialog.data.tutorialIndex, TUTORIAL_SEEN)
end,
}
},
noChoiceCallback = function(dialog)
if dialog.data then
dialog.data.owner:RemoveTutorial(dialog.data.tutorialIndex, TUTORIAL_SEEN)
end
end,
finishedCallback = function(dialog)
if dialog.data then
FireTutorialHiddenEvent(dialog.data.tutorialIndex)
end
end,
removedFromQueueCallback = function(data)
if data then
data.owner:RemoveTutorial(data.tutorialIndex, TUTORIAL_NOT_SEEN)
end
end,
}
)
- internalingame/antiquitydigging/antiquitydigging.lua:7 --
ZO_Dialogs_RegisterCustomDialog("CONFIRM_STOP_ANTIQUITY_DIGGING",
{
mustChoose = true,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_ANTIQUITY_DIGGING_CONFIRM_EXIT_DIALOG_TITLE
},
mainText =
{
text = function()
if IsDiggingAntiquityUnearthed() then
return GetString(SI_ANTIQUITY_DIGGING_CONFIRM_EXIT_DIALOG_VICTORY_DESCRIPTION)
else
return GetString(SI_ANTIQUITY_DIGGING_CONFIRM_EXIT_DIALOG_ABORT_DESCRIPTION)
end
end
},
buttons =
{
{
text = SI_DIALOG_ACCEPT,
callback = function()
if IsDiggingAntiquityUnearthed() then
AntiquityDiggingExitResponse(REJECT)
FinishAntiquityDiggingEarly()
else
AntiquityDiggingExitResponse(ACCEPT)
end
end
},
{
text = SI_DIALOG_DECLINE,
callback = function()
AntiquityDiggingExitResponse(REJECT)
end
},
}
})
- internalingame/coderedemption/gamepad/coderedemption_gamepad.lua:214 --
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_CODE_REDEMPTION_PENDING_DIALOG",
{
setup = PendingCodeRedemptionDialogSetup,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.COOLDOWN,
dialogFragmentGroup = ZO_GAMEPAD_KEYBINDS_FRAGMENT_GROUP,
},
title =
{
text = GetString(SI_CODE_REDEMPTION_PENDING_TITLE),
},
mainText =
{
text = "",
},
loading =
{
text = GetString(SI_CODE_REDEMPTION_PENDING_LOADING_TEXT),
},
canQueue = true,
mustChoose = true,
})
- internalingame/coderedemption/gamepad/coderedemption_gamepad.lua:238 --
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_CODE_REDEMPTION_COMPLETE_DIALOG",
{
setup = function(dialog)
dialog:setupFunc(dialog.data)
end,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
dialogFragmentGroup = ZO_GAMEPAD_KEYBINDS_FRAGMENT_GROUP,
},
title =
{
text = function(dialog)
local success = dialog.data.success
if success then
return GetString(SI_CODE_REDEMPTION_DIALOG_SUCCESS_TITLE)
else
return GetString(SI_CODE_REDEMPTION_DIALOG_FAILED_TITLE)
end
end,
},
mainText =
{
text = function(dialog)
local data = dialog.data
if data.success then
local rewardNames = REWARDS_MANAGER:GetListOfRewardNamesFromLastCodeRedemption()
if #rewardNames > 0 then
local listOfRewardNames = ZO_WHITE:Colorize(ZO_GenerateCommaSeparatedListWithoutAnd(rewardNames))
return zo_strformat(SI_CODE_REDEMPTION_DIALOG_SUCCESS_WITH_REWARD_NAMES_BODY, listOfRewardNames)
end
end
local redeemCodeResult = data.redeemCodeResult
return GetString("SI_REDEEMCODERESULT", redeemCodeResult)
end,
},
canQueue = true,
mustChoose = true,
buttons =
{
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_EXIT,
},
},
finishedCallback = function(dialog)
self:OnRedeemCodeComplete(dialog.data.success)
end
})
- internalingame/gifting/gamepad/confirmsendgift_gamepad.lua:210 --
ZO_Dialogs_RegisterCustomDialog("CONFIRM_SEND_GIFT_GAMEPAD", dialogInfo)
- internalingame/gifting/gamepad/confirmsendgift_gamepad.lua:256 --
ZO_Dialogs_RegisterCustomDialog("GIFT_SENDING_GAMEPAD",
{
setup = GiftSendingDialogSetup,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.COOLDOWN,
},
title =
{
text = SI_GIFT_SENDING_TITLE,
},
mainText =
{
text = "",
},
loading =
{
text = function(dialog)
local data = dialog.data
if data.stackCount > 1 then
return zo_strformat(SI_GIFT_SENDING_TEXT_WITH_QUANTITY, data.itemName, data.stackCount)
else
return zo_strformat(SI_GIFT_SENDING_TEXT, data.itemName)
end
end,
},
canQueue = true,
mustChoose = true,
})
- internalingame/gifting/gamepad/confirmsendgift_gamepad.lua:286 --
ZO_Dialogs_RegisterCustomDialog("GIFT_SENT_SUCCESS_GAMEPAD",
{
setup = function(dialog)
dialog.setupFunc(dialog, dialog.data)
end,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_TRANSACTION_COMPLETE_TITLE,
},
mainText =
{
text = function(dialog)
local data = dialog.data
if data.stackCount > 1 then
return zo_strformat(SI_GIFT_SENT_TEXT_WITH_QUANTITY, data.itemName, data.stackCount, ZO_SELECTED_TEXT:Colorize(data.recipientDisplayName))
else
return zo_strformat(SI_GIFT_SENT_TEXT, data.itemName, ZO_SELECTED_TEXT:Colorize(data.recipientDisplayName))
end
end
},
canQueue = true,
mustChoose = true,
buttons =
{
{
keybind = "DIALOG_NEGATIVE",
text = SI_GIFT_SENDING_BACK_KEYBIND_LABEL,
callback = function(dialog)
FinishResendingGift(dialog.data.giftId)
end,
}
},
})
- internalingame/gifting/gamepad/confirmsendgift_gamepad.lua:324 --
ZO_Dialogs_RegisterCustomDialog("GIFT_SENDING_FAILED_GAMEPAD",
{
setup = function(dialog)
dialog:setupFunc(dialog.data)
end,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_TRANSACTION_FAILED_TITLE,
},
mainText =
{
text = function(dialog)
return GetString("SI_GIFTBOXACTIONRESULT", dialog.data.sendResult)
end
},
canQueue = true,
mustChoose = true,
buttons = {
{
text = function(dialog)
if ZO_ConfirmSendGift_Shared_ShouldRestartGiftFlow(dialog.data.sendResult) then
return GetString(SI_GIFT_SENDING_RESTART_KEYBIND_LABEL)
else
return GetString(SI_GIFT_SENDING_BACK_KEYBIND_LABEL)
end
end,
callback = function(dialog)
if ZO_ConfirmSendGift_Shared_ShouldRestartGiftFlow(dialog.data.sendResult) then
local resultData =
{
giftId = dialog.data.giftId,
giftMessage = dialog.data.giftMessage,
recipientDisplayName = dialog.data.recipientDisplayName,
}
ZO_Dialogs_ShowGamepadDialog("CONFIRM_SEND_GIFT_GAMEPAD", resultData)
else
FinishResendingGift(dialog.data.giftId)
end
end,
keybind = "DIALOG_NEGATIVE"
}
},
})
- internalingame/gifting/keyboard/confirmsendgift_keyboard.lua:39 --
ZO_Dialogs_RegisterCustomDialog("CONFIRM_SEND_GIFT_KEYBOARD",
{
title =
{
text = SI_CONFIRM_SEND_GIFT_TITLE,
},
customControl = self,
setup = function(dialog, data)
local marketProductId = GetGiftMarketProductId(data.giftId)
local name, description, icon = GetMarketProductInfo(marketProductId)
local giftIconTexture = dialog:GetNamedChild("GiftIcon")
giftIconTexture:SetTexture(icon)
local giftNameLabel = dialog:GetNamedChild("GiftName")
giftNameLabel:SetText(zo_strformat(SI_MARKET_PRODUCT_NAME_FORMATTER, name))
UpdateSendRestrictions(dialog:GetNamedChild("NameEdit"))
if not data.isRestart then
dialog:GetNamedChild("NoteEdit"):SetText("")
end
end,
canQueue = true,
buttons =
{
-- Cancel Button
{
control = self:GetNamedChild("Cancel"),
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_DIALOG_CANCEL),
callback = function(dialog)
FinishResendingGift(dialog.data.giftId)
end,
},
-- Send Button
{
control = self:GetNamedChild("Send"),
keybind = "DIALOG_PRIMARY",
text = GetString(SI_GIFT_INVENTORY_SEND_KEYBIND),
callback = function(dialog)
local recipientDisplayName = dialog:GetNamedChild("NameEdit"):GetText()
local noteText = dialog:GetNamedChild("NoteEdit"):GetText()
local data = dialog.data
-- We lose this giftId's data after a successful send, so we need to store this marketProductId for later
local marketProductId = GetGiftMarketProductId(data.giftId)
local sendingData =
{
giftId = data.giftId,
marketProductId = marketProductId,
recipientDisplayName = recipientDisplayName,
}
ZO_Dialogs_ShowDialog("GIFT_SENDING_KEYBOARD", sendingData)
ResendGift(data.giftId, noteText, recipientDisplayName)
end,
},
},
noChoiceCallback = function(dialog)
FinishResendingGift(dialog.data.giftId)
end,
finishedCallback = function()
ClearTooltipImmediately(InformationTooltip)
end
})
- internalingame/gifting/keyboard/confirmsendgift_keyboard.lua:193 --
ZO_Dialogs_RegisterCustomDialog("GIFT_SENDING_KEYBOARD",
{
customControl = self,
setup = GiftSendingDialogSetup,
updateFn = OnGiftSendingUpdate,
title =
{
text = SI_GIFT_SENDING_TITLE,
},
mainText =
{
text = "",
align = TEXT_ALIGN_CENTER,
},
canQueue = true,
mustChoose = true,
modal = false,
buttons =
{
{
control = self:GetNamedChild("Confirm"),
text = SI_GIFT_SENDING_BACK_KEYBIND_LABEL,
keybind = "DIALOG_PRIMARY",
callback = function(dialog)
local data = dialog.data
if ZO_ConfirmSendGift_Shared_ShouldRestartGiftFlow(data.result) then
ZO_Dialogs_ShowDialog("CONFIRM_SEND_GIFT_KEYBOARD", {giftId = data.giftId})
return
end
end,
},
},
}
)
- internalingame/globals/marketdialogs.lua:536 --
ZO_Dialogs_RegisterCustomDialog(
"MARKET_PURCHASE_CONFIRMATION",
{
customControl = control,
setup = MarketPurchaseConfirmationDialogSetup,
title =
{
text = SI_MARKET_CONFIRM_PURCHASE_TITLE,
},
canQueue = true,
buttons =
{
{
control = control:GetNamedChild("Confirm"),
text = SI_MARKET_CONFIRM_PURCHASE_KEYBIND_TEXT,
callback = function(dialog)
local data = dialog.data
data.logPurchasedMarketId = true
local marketProductData = data.marketProductData
local recipientDisplayName
local note
if data.isGift then
recipientDisplayName = dialog:GetNamedChild("GiftRecipientEditBox"):GetText()
note = dialog:GetNamedChild("NoteEdit"):GetText()
end
-- the MARKET_PURCHASING dialog will be queued to show once this one is hidden
ZO_Dialogs_ShowDialog("MARKET_PURCHASING", {itemName = data.itemName, marketProductData = marketProductData, recipientDisplayName = recipientDisplayName, note = note})
if data.isGift then
marketProductData:RequestPurchaseAsGift(note, recipientDisplayName)
else
marketProductData:RequestPurchase()
end
end,
},
{
control = control:GetNamedChild("Cancel"),
text = SI_DIALOG_DECLINE,
callback = LogPurchaseClose,
},
},
noChoiceCallback = LogPurchaseClose,
finishedCallback = function(dialog)
ClearTooltipImmediately(InformationTooltip)
end,
}
)
- internalingame/globals/marketdialogs.lua:700 --
ZO_Dialogs_RegisterCustomDialog(
"MARKET_PURCHASING",
{
customControl = self,
setup = MarketPurchasingDialogSetup,
updateFn = OnMarketPurchasingUpdate,
title =
{
text = SI_MARKET_PURCHASING_TITLE,
},
mainText =
{
text = "",
align = TEXT_ALIGN_CENTER,
},
canQueue = true,
mustChoose = true,
buttons =
{
-- Use Product
{
control = self:GetNamedChild("UseProduct"),
keybind = "DIALOG_RESET",
callback = function(dialog)
ZO_Market_Shared.GoToUseProductLocation(dialog.data.marketProductData)
end,
},
{
control = self:GetNamedChild("Confirm"),
text = SI_MARKET_CONFIRM_PURCHASE_BACK_KEYBIND_LABEL,
keybind = "DIALOG_PRIMARY",
callback = function(dialog)
local data = dialog.data
if ZO_MarketDialogs_Shared_ShouldRestartGiftFlow(data.result) then
local restartData =
{
isGift = true,
marketProductData = data.marketProductData,
recipientDisplayName = data.recipientDisplayName,
note = data.note,
}
ZO_Dialogs_ShowDialog("MARKET_PURCHASE_CONFIRMATION", restartData)
return
end
LogPurchaseClose(dialog)
if data.wasGift == false then
-- Show tutorials from a purchased item first before showing the consumable tutorial
if data.tutorialTrigger then
MARKET:ShowTutorial(data.tutorialTrigger)
end
if data.result == MARKET_PURCHASE_RESULT_SUCCESS and data.marketProductData:ContainsConsumables() then
MARKET:ShowTutorial(TUTORIAL_TRIGGER_CROWN_CONSUMABLE_PURCHASED)
end
end
end,
},
},
}
)
- internalingame/mail/confirmmail.lua:1 --
ZO_Dialogs_RegisterCustomDialog(
"CONFIRM_MAIL",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_CONFIRM_MAIL_TITLE,
},
mainText =
{
text = SI_CONFIRM_MAIL_TEXT,
},
buttons =
{
[1] =
{
text = SI_DIALOG_YES,
callback = function(dialog)
ConfirmSendMail(ZO_FormatManualNameEntry(dialog.data.to), dialog.data.subject, dialog.data.body)
end,
},
[2] =
{
text = SI_DIALOG_NO,
callback = function(dialog)
CancelSendMail()
end,
}
}
}
)
- internalingame/market/gamepad/esoplusmembershipinfodialog_gamepad.lua:18 --
ZO_Dialogs_RegisterCustomDialog("ESO_PLUS_MEMBERSHIP_INFO", self.dialogInfo)
- internalingame/market/gamepad/marketdialogs_gamepad.lua:506 --
ZO_Dialogs_RegisterCustomDialog(DIALOG_FLOW[FLOW_CONFIRMATION], confirmationDialogInfo)
- internalingame/market/gamepad/marketdialogs_gamepad.lua:510 --
ZO_Dialogs_RegisterCustomDialog(DIALOG_FLOW[FLOW_CONFIRMATION_ESO_PLUS],
{
setup = function(...) self:MarketPurchaseConfirmationFreeTrialDialogSetup(...) end,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_MARKET_PURCHASE_FREE_TRIAL_TITLE,
},
mainText =
{
text = function(dialog)
local endTimeString = self.marketProductData:GetEndTimeString()
local currencyIcon = ZO_Currency_GetPlatformFormattedCurrencyIcon(CURT_CROWNS, CURRENCY_ICON_SIZE)
return zo_strformat(SI_MARKET_PURCHASE_FREE_TRIAL_TEXT, endTimeString, currencyIcon)
end,
},
canQueue = true,
buttons =
{
{
keybind = "DIALOG_NEGATIVE",
text = SI_MARKET_CONFIRM_PURCHASE_BACK_KEYBIND_LABEL,
callback = function(dialog)
OnMarketEndPurchase()
local NOT_NO_CHOICE_CALLBACK = false
self:EndPurchase(NOT_NO_CHOICE_CALLBACK)
end,
},
{
keybind = "DIALOG_SECONDARY",
text = SI_MARKET_CONFIRM_PURCHASE_KEYBIND_TEXT,
callback = function(dialog)
OnMarketEndPurchase(self.marketProductData:GetId())
self.doMoveToNextFlowPosition = true
end,
},
},
mustChoose = true,
finishedCallback = function(dialog)
self:MoveToNextFlowPosition()
end,
})
- internalingame/market/gamepad/marketdialogs_gamepad.lua:602 --
ZO_Dialogs_RegisterCustomDialog(DIALOG_FLOW[FLOW_PURCHASING],
{
setup = MarketPurchasingDialogSetup,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.COOLDOWN,
},
title =
{
text = SI_MARKET_PURCHASING_TITLE,
},
mainText =
{
text = "",
},
loading =
{
text = function()
local stackCount = self.marketProductData:GetStackCount()
if stackCount > 1 then
return zo_strformat(SI_MARKET_PURCHASING_TEXT_WITH_QUANTITY, self.itemName, stackCount)
else
return zo_strformat(SI_MARKET_PURCHASING_TEXT, self.itemName)
end
end,
},
canQueue = true,
mustChoose = true,
})
- internalingame/market/gamepad/marketdialogs_gamepad.lua:632 --
ZO_Dialogs_RegisterCustomDialog(DIALOG_FLOW[FLOW_SUCCESS],
{
setup = function(dialog)
if self.onPurchaseSuccessCallback then
self.onPurchaseSuccessCallback()
self.onPurchaseSuccessCallback = nil
end
if self.showRemainingBalance then
local currencyType = self.marketProductData:GetMarketProductPricingByPresentation()
dialog.data =
{
data1 = GetAvailableCurrencyHeaderData(currencyType),
}
end
dialog.setupFunc(dialog, dialog.data)
end,
updateFn = function(dialog)
KEYBIND_STRIP:UpdateCurrentKeybindButtonGroups(dialog.keybindStateIndex)
end,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = function()
if self.useProductInfo then
if self.useProductInfo.transactionCompleteTitleText then
return self.useProductInfo.transactionCompleteTitleText
end
end
return GetString(SI_TRANSACTION_COMPLETE_TITLE)
end,
},
mainText =
{
text = function(dialog)
local stackCount = self.marketProductData:GetStackCount()
if self.isGift then
if stackCount > 1 then
return zo_strformat(SI_MARKET_GIFTING_SUCCESS_TEXT_WITH_QUANTITY, self.itemName, stackCount, ZO_SELECTED_TEXT:Colorize(self.recipientDisplayName))
else
return zo_strformat(SI_MARKET_GIFTING_SUCCESS_TEXT, self.itemName, ZO_SELECTED_TEXT:Colorize(self.recipientDisplayName))
end
else
local mainText
if self.useProductInfo then
mainText = zo_strformat(self.useProductInfo.transactionCompleteText, self.itemName, stackCount)
else
if stackCount > 1 then
mainText = zo_strformat(SI_MARKET_PURCHASE_SUCCESS_TEXT_WITH_QUANTITY, self.itemName, stackCount)
else
if not self.isGift and self.marketProductData:GetNumAttachedCollectibles() > 0 then
mainText = zo_strformat(SI_MARKET_PURCHASE_SUCCESS_TEXT_WITH_COLLECTIBLE, self.itemName)
else
mainText = zo_strformat(SI_MARKET_PURCHASE_SUCCESS_TEXT, self.itemName)
end
end
end
-- append ESO Plus savings, if any
local esoPlusSavingsString = ZO_MarketDialogs_Shared_GetEsoPlusSavingsString(self.marketProductData)
if esoPlusSavingsString then
mainText = string.format("%s\n\n%s", mainText, esoPlusSavingsString)
end
return mainText
end
end
},
canQueue = true,
mustChoose = true,
buttons =
{
{
keybind = "DIALOG_NEGATIVE",
text = function()
if self.purchaseFromIngame then
return GetString(SI_MARKET_CONFIRM_PURCHASE_BACK_KEYBIND_LABEL)
else
return GetString(SI_MARKET_BACK_TO_STORE_KEYBIND_LABEL)
end
end,
callback = EndPurchase,
},
{
keybind = "DIALOG_TERTIARY",
text = function(dialog)
if self.useProductInfo then
return self.useProductInfo.buttonText
end
end,
visible = function(dialog)
if self.useProductInfo then
return not self.useProductInfo.visible or self.useProductInfo.visible()
end
return false
end,
enabled = function(dialog)
if self.useProductInfo then
return not self.useProductInfo.enabled or self.useProductInfo.enabled()
end
end,
callback = function()
local marketProductData = self.marketProductData -- cache off the productData, because reset state will clear it
-- since we are trying to logout/go to another scene we don't want to trigger any of the scene changes
-- or try to show tutorials, however we want to clean up after ourselves
-- in case we don't actually logout
self:ResetState()
ZO_Market_Shared.GoToUseProductLocation(marketProductData)
end,
},
},
})
- internalingame/market/gamepad/marketdialogs_gamepad.lua:751 --
ZO_Dialogs_RegisterCustomDialog(DIALOG_FLOW[FLOW_FAILED],
{
setup = function(dialog)
local data1, data2, data3 = self:GetMarketProductPricingHeaderData()
local displayData =
{
data1 = data1,
data2 = data2,
data3 = data3,
purchaseResult = dialog.data.purchaseResult,
}
dialog.data = displayData
dialog.setupFunc(dialog, displayData)
end,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = GetString(SI_TRANSACTION_FAILED_TITLE),
},
mainText =
{
text = function(dialog)
return GetString("SI_MARKETPURCHASABLERESULT", dialog.data.purchaseResult)
end
},
canQueue = true,
mustChoose = true,
buttons = {
{
text = function(dialog)
if ZO_MarketDialogs_Shared_ShouldRestartGiftFlow(dialog.data.purchaseResult) then
return GetString(SI_MARKET_CONFIRM_PURCHASE_RESTART_KEYBIND_LABEL)
else
return GetString(SI_MARKET_CONFIRM_PURCHASE_BACK_KEYBIND_LABEL)
end
end,
callback = function(dialog)
if ZO_MarketDialogs_Shared_ShouldRestartGiftFlow(dialog.data.purchaseResult) then
self:SetFlowPosition(FLOW_CONFIRMATION)
else
self:EndPurchase()
end
end,
keybind = "DIALOG_NEGATIVE"
}
},
})
- internalingame/scrying/scrying.lua:1680 --
ZO_Dialogs_RegisterCustomDialog("CONFIRM_EXIT_SCRYING",
{
mustChoose = true,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_SCRYING_CONFIRM_EXIT_DIALOG_TITLE
},
mainText =
{
text = SI_SCRYING_CONFIRM_EXIT_DIALOG_DESCRIPTION
},
buttons =
{
{
text = SI_DIALOG_ACCEPT,
callback = function()
RequestRespondToScryingExit(ACCEPT)
end
},
{
text = SI_DIALOG_DECLINE,
callback = function()
RequestRespondToScryingExit(REJECT)
end
},
}
})
- internalingame/url/confirmurl.lua:1 --
ZO_Dialogs_RegisterCustomDialog(
"CONFIRM_UNSAFE_URL",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_CONFIRM_UNSAFE_URL_TITLE,
},
mainText =
{
text = SI_CONFIRM_UNSAFE_URL_TEXT,
},
buttons =
{
[1] =
{
text = SI_DIALOG_YES,
callback = function(dialog)
ConfirmOpenURL(dialog.data.URL)
end,
},
[2] =
{
text = SI_DIALOG_NO,
}
}
}
)
- pregame/accountlogin/pegi.lua:112 --
ZO_Dialogs_RegisterCustomDialog("PEGI_COUNTRY_SELECT",
{
customControl = self,
mustChoose = true,
canQueue = true,
title =
{
text = SI_PEGI_COUNTRY_SELECT_TITLE,
},
buttons =
{
[1] =
{
control = self:GetNamedChild("Confirm"),
text = SI_DIALOG_CONFIRM,
callback = function(self)
PEGI_AGREEMENT:OnCountrySelectionConfirmed()
end,
},
}
})
- pregame/accountlogin/pegi.lua:136 --
ZO_Dialogs_RegisterCustomDialog("PEGI_NOTIFICATION",
{
customControl = self,
mustChoose = true,
canQueue = true,
title =
{
text = SI_PEGI_AGREEMENT_TITLE,
},
buttons =
{
[1] =
{
control = self:GetNamedChild("Accept"),
text = SI_DIALOG_ACCEPT,
callback = function(self)
AgreeToPEGI()
end,
},
[2] =
{
control = self:GetNamedChild("Decline"),
text = SI_DIALOG_DECLINE,
callback = function(self)
ZO_Dialogs_ShowDialog("PEGI_NOTIFICATION_DECLINE")
end,
},
}
})
- pregame/accountlogin/pegi.lua:171 --
ZO_Dialogs_RegisterCustomDialog("PEGI_NOTIFICATION_DECLINE",
{
customControl = self,
mustChoose = true,
canQueue = true,
title =
{
text = SI_PEGI_AGREEMENT_DECLINE_TITLE,
},
buttons =
{
[1] =
{
control = self:GetNamedChild("Back"),
text = SI_BACK_UP_ONE_MENU,
callback = function(self)
ZO_Dialogs_ShowDialog("PEGI_NOTIFICATION")
end,
},
}
})
- pregame/accountlogin/keyboard/createlinkaccountdialogs_keyboard.lua:37 --
ZO_Dialogs_RegisterCustomDialog("LINK_ACCOUNT_KEYBOARD",
{
customControl = control,
setup = LinkAccountsDialogSetup,
canQueue = true,
title =
{
text = SI_KEYBOARD_LINKACCOUNT_DIALOG_HEADER,
},
buttons =
{
{
control = GetControl(control, "Link"),
text = SI_DIALOG_ACCEPT,
callback = function(dialog)
local data = dialog.data
LOGIN_MANAGER_KEYBOARD:AttemptAccountLink(data.esoAccount, data.password)
end,
},
{
control = GetControl(control, "Cancel"),
text = SI_DIALOG_CANCEL,
},
}
})
- pregame/accountlogin/keyboard/eula.lua:127 --
ZO_Dialogs_RegisterCustomDialog("SHOW_EULA", self.dialogInfo)
- pregame/accountlogin/keyboard/serverselect.lua:39 --
ZO_Dialogs_RegisterCustomDialog("SERVER_SELECT_DIALOG",
{
customControl = dialogControl,
mustChoose = true,
setup = SetupDialog,
canQueue = true,
title =
{
text = SI_SERVER_SELECT_TITLE,
},
mainText =
{
text = SI_SERVER_SELECT_CHARACTER_WARNING,
},
buttons =
{
[1] =
{
control = GetControl(dialogControl, "Button1"),
text = SI_DIALOG_ACCEPT,
callback = function(dialog)
local buttonData = ZO_Dialogs_GetSelectedRadioButtonData(dialog)
if GetCVar("LastPlatform") ~= buttonData.server then
SetCVar("LastPlatform", buttonData.server)
SetSelectedPlatform(buttonData.index)
RequestAnnouncements()
-- If we're using linked login, it's possible to be on the Create/Link fragment,
-- which means we have a session with a different login endpoint and the next Create/Link will fail.
-- Make sure we're at the login fragment so we have to login again to get a new session.
LOGIN_MANAGER_KEYBOARD:SwitchToLoginFragment()
end
if dialog.data.onSelectedCallback then
dialog.data.onSelectedCallback()
end
end,
},
},
updateFn = function(dialog)
local server = ZO_Dialogs_GetSelectedRadioButtonData(dialog)
local acceptState = server and BSTATE_NORMAL or BSTATE_DISABLED
ZO_Dialogs_UpdateButtonState(dialog, 1, acceptState)
end,
})
- pregame/accountlogin/keyboard/zo_login.lua:233 --
ZO_Dialogs_RegisterCustomDialog("Announcement_Dialog", announcementDialogInfo)
- pregame/charactercreate/gamepad/zo_charactercreate_gamepad.lua:302 --
ZO_Dialogs_RegisterCustomDialog(SKIP_TUTORIAL_GAMEPAD_DIALOG,
{
mustChoose = true,
canQueue = true,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_PROMPT_TITLE_SKIP_TUTORIAL,
},
mainText =
{
text = SI_PROMPT_BODY_SKIP_TUTORIAL,
},
buttons =
{
{
text = SI_PROMPT_PLAY_TUTORIAL_BUTTON,
keybind = "DIALOG_PRIMARY",
callback = function(dialog)
self:CreateCharacter(dialog.data.startLocation, CHARACTER_CREATE_DEFAULT_LOCATION)
end,
},
{
text = SI_PROMPT_SKIP_TUTORIAL_BUTTON,
keybind = "DIALOG_SECONDARY",
callback = function(dialog)
self:CreateCharacter(dialog.data.startLocation, CHARACTER_CREATE_SKIP_TUTORIAL)
end,
},
{
text = SI_PROMPT_BACK_TUTORIAL_BUTTON,
keybind = "DIALOG_NEGATIVE",
callback = function(dialog)
ZO_CharacterCreate_Gamepad_CancelSkipDialogue()
ZO_Dialogs_ShowGamepadDialog(CHARACTER_CREATE_GAMEPAD_DIALOG, { characterName = dialog.data.characterName })
end,
},
}
})
- pregame/charactercreate/gamepad/zo_charactercreate_gamepad.lua:1219 --
ZO_Dialogs_RegisterCustomDialog("CHARACTER_CREATE_TEMPLATE_SELECT", dialogDescription)
- pregame/charactercreate/gamepad/zo_charactercreate_gamepad.lua:1634 --
ZO_Dialogs_RegisterCustomDialog(params.dialogName,
{
mustChoose = true,
canQueue = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
},
setup = SetupDialog,
OnShownCallback = function()
-- Open Keyboard immediately on entering finishing character dialog
if self.editBoxControl then
self.editBoxControl:TakeFocus()
end
end,
blockDialogReleaseOnPress = true, -- We'll handle Dialog Releases ourselves since we don't want DIALOG_PRIMARY to release the dialog on press.
title =
{
text = params.dialogTitle,
},
mainText =
{
text = params.dialogMainText,
},
parametricList =
{
-- name edit box
{
template = "ZO_Gamepad_GenericDialog_Parametric_TextFieldItem",
templateData = {
nameField = true,
textChangedCallback = function(control)
local newName = control:GetText()
UpdateSelectedName(newName)
if control:GetText() ~= parametricDialog.selectedName then
control:SetText(parametricDialog.selectedName)
end
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.editBoxControl.textChangedCallback = data.textChangedCallback
ZO_EditDefaultText_Initialize(control.editBoxControl, GetString(SI_CREATE_CHARACTER_GAMEPAD_ENTER_NAME))
local validInput = parametricDialog.selectedName and parametricDialog.selectedName ~= ""
if validInput then
control.editBoxControl:SetText(parametricDialog.selectedName)
end
SetupEditControlForNameValidation(control.editBoxControl)
control.editBoxControl:SetMaxInputChars(CHARNAME_MAX_LENGTH)
control.highlight:SetHidden(not selected)
self.editBoxSelected = selected
self.editBoxControl = control.editBoxControl
end,
},
},
-- Done menu item
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData = doneEntry,
},
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = GetString(SI_CREATE_CHARACTER_GAMEPAD_FINISH_SELECT),
callback = function(dialog)
if self.editBoxSelected then
local targetControl = dialog.entryList:GetTargetControl()
if targetControl and targetControl.editBoxControl then
targetControl.editBoxControl:TakeFocus()
end
else
if not dialog.noViolations then
return
end
ReleaseDialog()
if params.onFinish then
params.onFinish(dialog)
end
end
end,
enabled = function()
return self.editBoxSelected or parametricDialog.noViolations
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = GetString(SI_CREATE_CHARACTER_GAMEPAD_FINISH_BACK),
callback = function(dialog)
ReleaseDialog()
if params.onBack then
params.onBack(dialog)
end
PlaySound(SOUNDS.GAMEPAD_MENU_BACK)
end,
},
},
})
- pregame/charactercreate/keyboard/zo_charactercreate_keyboard.lua:1035 --
ZO_Dialogs_RegisterCustomDialog("CHARACTER_CREATE_SKIP_TUTORIAL",
{
customControl = control,
canQueue = true,
title =
{
text = SI_PROMPT_TITLE_SKIP_TUTORIAL,
},
mainText =
{
text = SI_PROMPT_BODY_SKIP_TUTORIAL,
},
noChoiceCallback = function(dialog)
ZO_CHARACTERCREATE_MANAGER:SetShouldPromptForTutorialSkip(true)
end,
buttons =
{
{
control = control:GetNamedChild("Play"),
text = SI_PROMPT_PLAY_TUTORIAL_BUTTON,
keybind = "DIALOG_PRIMARY",
callback = function(dialog)
KEYBOARD_CHARACTER_CREATE_MANAGER:CreateCharacter(dialog.data.startLocation, CHARACTER_CREATE_DEFAULT_LOCATION)
end,
},
{
control = control:GetNamedChild("Skip"),
text = SI_PROMPT_SKIP_TUTORIAL_BUTTON,
keybind = "DIALOG_SECONDARY",
callback = function(dialog)
KEYBOARD_CHARACTER_CREATE_MANAGER:CreateCharacter(dialog.data.startLocation, CHARACTER_CREATE_SKIP_TUTORIAL)
end,
},
{
control = control:GetNamedChild("Back"),
text = SI_PROMPT_BACK_TUTORIAL_BUTTON,
keybind = "DIALOG_NEGATIVE",
callback = function(dialog)
ZO_CHARACTERCREATE_MANAGER:SetShouldPromptForTutorialSkip(true)
end,
},
}
})
- pregame/characterselect/gamepad/zo_characterselect_gamepad.lua:116 --
ZO_Dialogs_RegisterCustomDialog("CONFIRM_DELETE_SELECTED_CHARACTER_GAMEPAD",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
setup = function()
ZO_CharacterSelectDelete_Gamepad_ResetDeleteKeys()
end,
updateFn = function(dialog)
ZO_Dialogs_RefreshDialogText("CONFIRM_DELETE_SELECTED_CHARACTER_GAMEPAD", dialog, { mainTextParams = { ZO_CharacterSelect_Gamepad_GetDeleteKeyText() }})
end,
mustChoose = true,
title =
{
text = SI_CONFIRM_DELETE_CHARACTER_DIALOG_GAMEPAD_TITLE,
},
mainText =
{
text = SI_CONFIRM_DELETE_CHARACTER_DIALOG_GAMEPAD_TEXT,
},
blockDialogReleaseOnPress = true,
buttons =
{
{
text = GetString(SI_CHARACTER_SELECT_GAMEPAD_DELETE_CANCEL),
keybind = "DIALOG_NEGATIVE",
callback = function()
local self = ZO_CharacterSelect_Gamepad
local selectedData = self.characterList:GetTargetData()
PlaySound(SOUNDS.GAMEPAD_MENU_BACK)
ZO_CharacterSelect_Gamepad_ReturnToCharacterList(ACTIVATE_VIEWPORT)
if selectedData and selectedData.needsRename then
ZO_CharacterSelect_Gamepad_RefreshKeybindStrip(self.charListKeybindStripDescriptorRename)
else
ZO_CharacterSelect_Gamepad_RefreshKeybindStrip(self.charListKeybindStripDescriptorDefault)
end
ZO_Dialogs_ReleaseDialog("CONFIRM_DELETE_SELECTED_CHARACTER_GAMEPAD")
end,
},
{
--Ethereal binds show no text, the name field is used to help identify the keybind when debugging. This text does not have to be localized.
name = "Character Select Delete Left Shoulder",
keybind = "DIALOG_LEFT_SHOULDER",
handlesKeyUp = true,
ethereal = true,
callback = function(dialog, onUp)
ZO_CharacterSelectDelete_Gamepad_OnKeyChanged(KEY_GAMEPAD_LEFT_SHOULDER, not onUp)
end,
},
{
--Ethereal binds show no text, the name field is used to help identify the keybind when debugging. This text does not have to be localized.
name = "Character Select Delete Right Shoulder",
keybind = "DIALOG_RIGHT_SHOULDER",
handlesKeyUp = true,
ethereal = true,
callback = function(dialog, onUp)
ZO_CharacterSelectDelete_Gamepad_OnKeyChanged(KEY_GAMEPAD_RIGHT_SHOULDER, not onUp)
end,
},
{
--Ethereal binds show no text, the name field is used to help identify the keybind when debugging. This text does not have to be localized.
name = "Character Select Delete Left Trigger",
keybind = "DIALOG_LEFT_TRIGGER",
handlesKeyUp = true,
ethereal = true,
callback = function(dialog, onUp)
ZO_CharacterSelectDelete_Gamepad_OnKeyChanged(KEY_GAMEPAD_LEFT_TRIGGER, not onUp)
end,
},
{
--Ethereal binds show no text, the name field is used to help identify the keybind when debugging. This text does not have to be localized.
name = "Character Select Delete Right Trigger",
keybind = "DIALOG_RIGHT_TRIGGER",
handlesKeyUp = true,
ethereal = true,
callback = function(dialog, onUp)
ZO_CharacterSelectDelete_Gamepad_OnKeyChanged(KEY_GAMEPAD_RIGHT_TRIGGER, not onUp)
end,
},
},
})
- pregame/characterselect/keyboard/zo_characterselect_keyboard.lua:210 --
ZO_Dialogs_RegisterCustomDialog("RENAME_CHARACTER_KEYBOARD",
{
customControl = self,
canQueue = true,
setup = SetupRenameDialog,
title =
{
text = function(dialog)
local titleText = SI_CHARACTER_SELECT_RENAME_CHARACTER_FROM_TOKEN_TITLE
if dialog.data.characterData.needsRename then
titleText = SI_CHARACTER_SELECT_RENAME_CHARACTER_TITLE
end
return GetString(titleText)
end,
},
buttons =
{
{
control = GetControl(self, "AttemptRename"),
text = SI_CHARACTER_SELECT_RENAME_SAVE_NEW_NAME,
callback = function(dialog)
local requestedName = ZO_RenameCharacterDialogNameEdit:GetText()
CHARACTER_SELECT_MANAGER:AttemptCharacterRename(dialog.data.characterData.id, requestedName, OnRenameResult)
end,
},
{
control = GetControl(self, "Cancel"),
text = SI_DIALOG_CANCEL,
},
},
updateFn = function(dialog)
local nameText = dialog.nameEdit:GetText()
local nameViolations = { IsValidCharacterName(nameText) }
if #nameViolations > 0 then
dialog.renameInstructions:Show(nil, nameViolations)
dialog.attemptRenameButton:SetEnabled(false)
else
dialog.renameInstructions:Hide()
dialog.attemptRenameButton:SetEnabled(true)
end
local correctedName = CorrectCharacterNameCase(nameText)
if correctedName ~= nameText then
-- only set the text if it's actually changed
dialog.nameEdit:SetText(correctedName)
end
end,
})
- pregame/console/createaccount/createaccount_gamepad.lua:65 --
ZO_Dialogs_RegisterCustomDialog(GAMEPAD_CREATE_ACCOUNT_ERROR_DIALOG,
{
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.BASIC,
},
mustChoose = true,
title =
{
text = SI_CREATEACCOUNT_ERROR_HEADER,
},
mainText =
{
text = function() return g_lastErrorString end,
},
buttons =
{
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_EXIT,
},
}
})
- pregame/console/linkaccountscreen/linkaccountscreen_gamepad.lua:58 --
ZO_Dialogs_RegisterCustomDialog(GAMEPAD_LINK_ACCOUNT_ERROR_DIALOG,
{
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.BASIC,
},
mustChoose = true,
title =
{
text = SI_LINKACCOUNT_ERROR_HEADER,
},
mainText =
{
text = function() return g_lastErrorString end,
},
buttons =
{
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_EXIT,
},
}
})
- pregame/globals/overflowdialog.lua:7 --
ZO_Dialogs_RegisterCustomDialog("PROVIDE_OVERFLOW_RESPONSE",
{
customControl = dialogControl,
setup = SetupMainText,
mustChoose = true,
title =
{
text = SI_OVERFLOW_DIALOG_TITLE,
},
buttons =
{
{
control = GetControl(dialogControl, "Cancel"),
text = SI_OVERFLOW_DIALOG_CANCEL_BUTTON,
keybind = false,
callback = function(dialog)
CancelLogin()
PregameStateManager_SetState("AccountLogin")
end,
},
{
control = GetControl(dialogControl, "Overflow"),
text = SI_OVERFLOW_DIALOG_OVERFLOW_BUTTON,
keybind = false,
callback = function(dialog)
RespondToOverflowPrompt(true)
PregameStateManager_ShowLoginRequested()
end,
},
{
control = GetControl(dialogControl, "Queue"),
text = SI_OVERFLOW_DIALOG_QUEUE_BUTTON,
keybind = false,
callback = function(dialog)
RespondToOverflowPrompt(false)
PregameStateManager_ShowLoginRequested()
end,
},
}
})
- pregame/optionspanels/keyboard/optionspanel_account_keyboard.lua:2 --
ZO_Dialogs_RegisterCustomDialog("ZO_OPTIONS_KEYBOARD_EDIT_EMAIL_DIALOG",
{
title =
{
text = SI_INTERFACE_OPTIONS_ACCOUNT_EMAIL_DIALOG_TITLE,
},
mainText =
{
text = SI_INTERFACE_OPTIONS_ACCOUNT_EMAIL_DIALOG_ENTRY_TITLE,
},
canQueue = true,
customControl = control,
setup = function(dialog)
local newEmailEdit = dialog:GetNamedChild("NewEmailEntryEdit")
local confirmNewEmailEdit = dialog:GetNamedChild("ConfirmNewEmailEntryEdit")
newEmailEdit:SetText("")
confirmNewEmailEdit:SetText("")
end,
buttons =
{
-- Confirm Button
{
control = control:GetNamedChild("Confirm"),
keybind = "DIALOG_PRIMARY",
text = SI_DIALOG_CONFIRM,
enabled = function(dialog)
local newEmailEdit = dialog:GetNamedChild("NewEmailEntryEdit")
local confirmNewEmailEdit = dialog:GetNamedChild("ConfirmNewEmailEntryEdit")
return newEmailEdit:GetText() == confirmNewEmailEdit:GetText()
end,
callback = function(dialog)
local newEmailEdit = dialog:GetNamedChild("NewEmailEntryEdit")
SetSecureSetting(SETTING_TYPE_ACCOUNT, ACCOUNT_SETTING_ACCOUNT_EMAIL, newEmailEdit:GetText())
end,
},
-- Cancel Button
{
control = control:GetNamedChild("Cancel"),
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
},
},
finishedCallback = function()
KEYBOARD_OPTIONS:UpdatePanelVisibilityIfShowing(SETTING_PANEL_ACCOUNT)
end,
})
- pregameandingame/gammaadjust/gammaadjust.lua:5 --
ZO_Dialogs_RegisterCustomDialog("ADJUST_GAMMA_DIALOG",
{
customControl = dialogControl,
mustChoose = true,
title =
{
text = "",
},
buttons =
{
[1] =
{
control = GetControl(dialogControl, "KeyContainerConfirmGamma"),
text = SI_GAMMA_CONFIRM,
noReleaseOnClick = true, -- Don't release because the scene needs to fade out, will release later
callback = function(dialog)
SetCVar("GAMMA_ADJUSTMENT", tostring(currentGamma))
SCENE_MANAGER:Hide("gammaAdjust")
ZO_SavePlayerConsoleProfile()
end,
},
[2] =
{
control = GetControl(dialogControl, "KeyContainerDeclineGamma"),
text = SI_GAMMA_DECLINE,
noReleaseOnClick = true, -- Don't release because the scene needs to fade out, will release later
callback = function(dialog)
SCENE_MANAGER:Hide("gammaAdjust")
end,
visible = function() return not ZO_GammaAdjust_NeedsFirstSetup() end,
},
}
})
- pregameandingame/optionspanels/gamepad/optionspanel_account_gamepad.lua:15 --
ZO_Dialogs_RegisterCustomDialog("ZO_OPTIONS_GAMEPAD_EDIT_EMAIL_DIALOG",
{
blockDialogReleaseOnPress = true,
canQueue = true,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.PARAMETRIC,
allowRightStickPassThrough = true,
},
setup = function(dialog, data)
self.enteredText = ""
local tooltipText = zo_strformat(SI_GAMEPAD_INTERFACE_OPTIONS_ACCOUNT_EMAIL_DIALOG_TOOLTIP, ZO_Keybindings_GenerateIconKeyMarkup(KEY_GAMEPAD_BUTTON_4), ZO_GetPlatformStoreName())
GAMEPAD_TOOLTIPS:LayoutTextBlockTooltip(GAMEPAD_LEFT_TOOLTIP, tooltipText)
dialog.info.finishedCallback = data.finishedCallback
dialog:setupFunc()
end,
title =
{
text = SI_INTERFACE_OPTIONS_ACCOUNT_EMAIL_DIALOG_TITLE,
},
mainText =
{
text = ""
},
parametricList =
{
-- Text Entry
{
template = "ZO_Gamepad_GenericDialog_Parametric_TextFieldItem",
headerTemplate = "ZO_GamepadMenuEntryFullWidthHeaderTemplate",
header = GetString(SI_INTERFACE_OPTIONS_ACCOUNT_EMAIL_DIALOG_ENTRY_TITLE),
templateData =
{
textChangedCallback = function(control)
local enteredText= control:GetText()
self.enteredText = enteredText
end,
setup = function(control, data, selected, reselectingDuringRebuild, enabled, active)
control.highlight:SetHidden(not selected)
control.editBoxControl.textChangedCallback = data.textChangedCallback
data.control = control
ZO_EditDefaultText_Initialize(control.editBoxControl, GetString(SI_INTERFACE_OPTIONS_ACCOUNT_EMAIL_DIALOG_ENTRY_DEFAULT))
control.editBoxControl:SetMaxInputChars(MAX_EMAIL_LENGTH)
if self.enteredText then
control.editBoxControl:SetText(self.enteredText)
end
end,
callback = function(dialog)
local targetControl = dialog.entryList:GetTargetControl()
targetControl.editBoxControl:TakeFocus()
end,
},
},
{
template = "ZO_GamepadTextFieldSubmitItem",
templateData =
{
text = GetString(SI_GAMEPAD_INTERFACE_OPTIONS_ACCOUNT_EMAIL_DIALOG_ACTION),
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function(dialog)
SetSecureSetting(SETTING_TYPE_ACCOUNT, ACCOUNT_SETTING_ACCOUNT_EMAIL, self.enteredText)
ReleaseDialog()
end,
},
},
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local data = dialog.entryList:GetTargetData()
data.callback(dialog)
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
callback = function(dialog)
ReleaseDialog()
end,
},
{
keybind = "DIALOG_TERTIARY",
text = SI_GAMEPAD_INTERFACE_OPTIONS_ACCOUNT_EMAIL_DIALOG_AUTOFILL,
visible = function(dialog)
local data = dialog.entryList:GetTargetData()
return data.control and data.control.editBoxControl or false
end,
callback = function(dialog)
local targetControl = dialog.entryList:GetTargetControl()
self.enteredText = GetUserEmailAddress()
targetControl.editBoxControl:SetText(self.enteredText)
end,
},
},
})
- pregameandingame/zo_addonmanager/zo_addoneula.lua:40 --
ZO_Dialogs_RegisterCustomDialog("SHOW_ADDON_EULA", g_dialogInfo)