- common/zo_colorpicker/gamepad/zo_colorpicker_gamepad.lua:44 --
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/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/gamepad/campaignbrowserdialogs_gamepad.lua:16 --
ZO_Dialogs_RegisterCustomDialog(ZO_GAMEPAD_CAMPAIGN_SELECT_DIALOG,
{
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.PARAMETRIC
},
parametricListOnSelectionChangedCallback = function()
KEYBIND_STRIP:UpdateCurrentKeybindButtonGroups()
end,
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.hasEnough = screen.nowCost <= screen.numAlliancePoints
dialog:setupFunc()
end,
title =
{
text = SI_GAMEPAD_CAMPAIGN_BROWSER_CHOOSE_HOME_OR_GUEST_CAMPAIGN,
},
parametricList =
{
{
template = "ZO_GamepadMenuEntryTemplate",
text = GetString(SI_GAMEPAD_CAMPAIGN_BROWSER_CHOOSE_HOME_CAMPAIGN),
icon = "EsoUI/Art/Campaign/Gamepad/gp_overview_menuIcon_home.dds",
templateData = {
showUnselectedSublabels = true,
isHome = true,
subLabels = {
function(control)
if screen.isFree then
return ""
else
return GAMEPAD_AVA_BROWSER:GetPriceMessage(screen.nowCost, screen.hasEnough)
end
end
},
setup = ZO_SharedGamepadEntry_OnSetup,
},
},
{
template = "ZO_GamepadMenuEntryTemplate",
text = GetString(SI_GAMEPAD_CAMPAIGN_BROWSER_CHOOSE_GUEST_CAMPAIGN),
icon = "EsoUI/Art/Campaign/Gamepad/gp_overview_menuIcon_guest.dds",
templateData = {
isHome = false,
setup = ZO_SharedGamepadEntry_OnSetup,
},
},
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
local targetData = dialog.entryList:GetTargetData()
local selectedCampaign = screen:GetTargetData()
if(selectedCampaign.id) then
if(targetData.isHome) then -- assign home
local lockTimeLeft = GetCampaignReassignCooldown()
if(lockTimeLeft > 0) then
ZO_Dialogs_ShowGamepadDialog(ZO_GAMEPAD_CAMPAIGN_LOCKED_DIALOG, { isHome = targetData.isHome, id = selectedCampaign.id } )
else
ZO_Dialogs_ShowGamepadDialog(ZO_GAMEPAD_CAMPAIGN_SET_HOME_REVIEW_DIALOG, { id = selectedCampaign.id }, { mainTextParams = GAMEPAD_AVA_BROWSER:GetTextParamsForSetHomeDialog() })
end
else -- assign guest
local lockTimeLeft = GetCampaignGuestCooldown()
if(lockTimeLeft > 0) then
ZO_Dialogs_ShowGamepadDialog(ZO_GAMEPAD_CAMPAIGN_LOCKED_DIALOG, { isHome = targetData.isHome, id = selectedCampaign.id} )
else
ZO_Dialogs_ShowGamepadDialog(ZO_GAMEPAD_CAMPAIGN_GUEST_WARNING_DIALOG, { id = selectedCampaign.id, name = selectedCampaign.name })
end
end
end
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
},
}
})
- ingame/campaign/gamepad/campaignbrowserdialogs_gamepad.lua:116 --
ZO_Dialogs_RegisterCustomDialog(ZO_GAMEPAD_CAMPAIGN_QUEUE_DIALOG,
{
canQueue = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.PARAMETRIC
},
setup = function(dialog)
dialog:setupFunc()
end,
title =
{
text = SI_CAMPAIGN_BROWSER_QUEUE_DIALOG_TITLE,
},
mainText =
{
text = SI_CAMPAIGN_BROSWER_QUEUE_DIALOG_PROMPT,
},
parametricList =
{
{
template = "ZO_GamepadMenuEntryTemplate",
templateData = {
isHome = true,
text = GetString(SI_CAMPAIGN_BROWSER_QUEUE_GROUP),
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function(dialog)
local IS_GROUP = true
QueueForCampaign(dialog.data.id, IS_GROUP)
end,
},
},
{
template = "ZO_GamepadMenuEntryTemplate",
templateData = {
isHome = false,
text = GetString(SI_CAMPAIGN_BROWSER_QUEUE_SOLO),
setup = ZO_SharedGamepadEntry_OnSetup,
callback = function(dialog)
local IS_GROUP = false
QueueForCampaign(dialog.data.id, IS_GROUP)
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,
},
}
})
- ingame/campaign/gamepad/campaignbrowserdialogs_gamepad.lua:194 --
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, basicDialog)
--If the displayed cooldown reaches 0, automatically forward user to the now unlocked dialog they were trying to navigate to originally
if dialog.data.isHome then
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 }, { mainTextParams = screen:GetTextParamsForSetHomeDialog() })
ZO_Dialogs_ReleaseDialog("GAMEPAD_CAMPAIGN_LOCKED_DIALOG")
end
end
else
local timeLeft = GetCampaignGuestCooldown()
if timeLeft <= 0 then
if dialog.data.isAbandoning then
ZO_Dialogs_ShowGamepadDialog(ZO_GAMEPAD_CAMPAIGN_ABANDON_GUEST_DIALOG)
ZO_Dialogs_ReleaseDialog("GAMEPAD_CAMPAIGN_LOCKED_DIALOG")
else
local selectedCampaign = screen:GetTargetData()
ZO_Dialogs_ShowGamepadDialog(ZO_GAMEPAD_CAMPAIGN_GUEST_WARNING_DIALOG, { id = selectedCampaign.id, name = selectedCampaign.name })
ZO_Dialogs_ReleaseDialog("GAMEPAD_CAMPAIGN_LOCKED_DIALOG")
end
end
end
end,
title =
{
text = SI_GAMEPAD_CAMPAIGN_LOCKED_DIALOG_TITLE,
},
mainText =
{
text = function(dialog)
if dialog.data.isHome then
local timeLeft = dialog.data.isAbandoning and GetCampaignUnassignCooldown() or GetCampaignReassignCooldown()
local timeleftStr = ZO_FormatTime(timeLeft, TIME_FORMAT_STYLE_COLONS, TIME_FORMAT_PRECISION_TWELVE_HOUR, TIME_FORMAT_DIRECTION_DESCENDING)
if (dialog.data.isAbandoning) then
return zo_strformat(SI_ABANDON_HOME_CAMPAIGN_LOCKED_MESSAGE, timeleftStr)
else
return zo_strformat(SI_SELECT_HOME_CAMPAIGN_LOCKED_MESSAGE, timeleftStr)
end
else
local timeLeft = GetCampaignGuestCooldown()
local timeleftStr = ZO_FormatTime(timeLeft, TIME_FORMAT_STYLE_COLONS, TIME_FORMAT_PRECISION_TWELVE_HOUR, TIME_FORMAT_DIRECTION_DESCENDING)
if (dialog.data.isAbandoning) then
return zo_strformat(SI_ABANDON_GUEST_CAMPAIGN_LOCKED_MESSAGE, timeleftStr)
else
return zo_strformat(SI_SELECT_GUEST_CAMPAIGN_LOCKED_MESSAGE, timeleftStr)
end
end
end,
},
buttons =
{
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
},
},
})
- ingame/campaign/gamepad/campaignbrowserdialogs_gamepad.lua:277 --
ZO_Dialogs_RegisterCustomDialog(ZO_GAMEPAD_CAMPAIGN_GUEST_WARNING_DIALOG,
{
canQueue = true,
onlyQueueOnce = true,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.STATIC_LIST,
},
setup = function(dialog)
dialog:setupFunc()
end,
title =
{
text = SI_GAMEPAD_CAMPAIGN_BROWSER_CONFIRM_GUEST_CAMPAIGN_TITLE,
},
mainText =
{
text = SI_SELECT_CAMPAIGN_COOLDOWN_WARNING,
},
itemInfo =
{
{
icon = BULLET_ICON,
iconSize = BULLET_ICON_SIZE,
label = GetString(SI_SELECT_GUEST_CAMPAIGN_BULLET1),
},
{
icon = BULLET_ICON,
iconSize = BULLET_ICON_SIZE,
label = GetString(SI_SELECT_GUEST_CAMPAIGN_BULLET2),
},
{
icon = BULLET_ICON,
iconSize = BULLET_ICON_SIZE,
label = GetString(SI_SELECT_GUEST_CAMPAIGN_BULLET3),
},
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_DIALOG_ACCEPT,
callback = function(callbackDialog)
AssignCampaignToPlayer(callbackDialog.data.id, CAMPAIGN_REASSIGN_TYPE_GUEST)
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
},
},
})
- ingame/campaign/gamepad/campaignbrowserdialogs_gamepad.lua:343 --
ZO_Dialogs_RegisterCustomDialog(ZO_GAMEPAD_CAMPAIGN_ABANDON_GUEST_DIALOG,
{
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.BASIC
},
canQueue = true,
onlyQueueOnce = true,
setup = function(dialog)
dialog:setupFunc()
end,
title =
{
text = SI_CAMPAIGN_BROWSER_ABANDON_CAMPAIGN,
},
mainText =
{
text = function()
local guestCampaignId = GetGuestCampaignId()
return zo_strformat(GetString(SI_ABANDON_GUEST_CAMPAIGN_QUERY), GetCampaignName(guestCampaignId))
end,
},
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_DIALOG_ACCEPT,
callback = function()
UnassignCampaignForPlayer(CAMPAIGN_UNASSIGN_TYPE_GUEST)
end,
clickSound = SOUNDS.DIALOG_ACCEPT,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_CANCEL,
},
}
})
- ingame/campaign/gamepad/campaignbrowserdialogs_gamepad.lua:393 --
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 = SI_GAMEPAD_CAMPAIGN_BROWSER_CHOOSE_HOME_CAMPAIGN_MESSAGE,
},
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:450 --
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:566 --
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:224 --
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:383 --
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,
},
},
},
blockDialogReleaseOnPress = true,
buttons =
{
{
keybind = "DIALOG_PRIMARY",
text = SI_GAMEPAD_SELECT_OPTION,
callback = function(dialog)
ZO_Dialogs_ReleaseDialogOnButtonPress("GAMEPAD_CHAPTER_UPGRADE_CHOOSE_EDITION")
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,
callback = function(dialog)
ZO_Dialogs_ReleaseDialogOnButtonPress("GAMEPAD_CHAPTER_UPGRADE_CHOOSE_EDITION")
end,
},
}
})
- ingame/chatsystem/chatoptions.lua:60 --
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:1263 --
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_InsertLink(zo_strformat(SI_TOOLTIP_ITEM_NAME, link))
CHAT_SYSTEM:SubmitTextEntry()
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:1403 --
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:678 --
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:541 --
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 =
{
[1] =
{
keybind = "DIALOG_PRIMARY",
control = control and GetControl(control, "Accept"),
text = SI_DIALOG_ACCEPT,
callback = function(dialog)
ApplyPendingHeraldryChanges()
dialog.data.owner.pendingTransaction = true
end,
},
[2] =
{
keybind = "DIALOG_NEGATIVE",
control = control and GetControl(control, "Cancel"),
text = SI_DIALOG_CANCEL,
callback = function(dialog)
-- Do nothing
end,
},
}
})
- ingame/guild/guildheraldry_shared.lua:587 --
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 =
{
[1] =
{
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,
},
[2] =
{
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,
},
[3] =
{
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:39 --
ZO_Dialogs_RegisterCustomDialog(dialogName, self.dialogInfo)
- ingame/guild/zo_guildranks_shared.lua:195 --
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"),
callback = function()
self:CancelDialog()
end,
text = SI_DIALOG_CANCEL,
}
}
})
- ingame/guild/gamepad/zo_guildhub_gamepad.lua:196 --
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:315 --
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:481 --
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:282 --
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)
parametricDialog.entryList:RefreshVisible()
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:459 --
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)
parametricDialog.entryList:RefreshVisible()
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:574 --
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/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:440 --
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 = SI_GAMEPAD_GUILD_KIOSK_BID_UPDATE_KEYBIND,
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 primaryButtonIconPath = ZO_Keybindings_GetTexturePathForKey(KEY_GAMEPAD_BUTTON_1)
local primaryButtonIcon = zo_iconFormat(primaryButtonIconPath, 64, 64)
local text
if DoesCurrentZoneHaveTelvarStoneBehavior() then
local telvarLossPercentage = zo_floor(GetTelvarStonePercentLossOnNonPvpDeath() * 100)
text = zo_strformat(SI_GAMEPAD_HELP_UNSTUCK_CONFIRM_STUCK_PROMPT_TELVAR, cost, goldIcon, primaryButtonIcon, 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, primaryButtonIcon)
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:184 --
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:225 --
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:267 --
ZO_Dialogs_RegisterCustomDialog(dialogName,
{
canQueue = true,
gamepadInfo = {
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_GAMEPAD_HELP_GET_ME_UNSTUCK,
},
mainText =
{
text = formatText,
},
buttons =
{
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_EXIT,
},
}
})
- ingame/help/gamepad/help_root_gamepad.lua:296 --
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:142 --
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:702 --
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:758 --
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:820 --
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:873 --
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:935 --
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:974 --
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:1017 --
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:369 --
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:412 --
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:457 --
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:493 --
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:529 --
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:OnEndInteraction(GUILD_KEEP_RELEASE_INTERACTION)
end,
buttons =
{
[1] =
{
keybind = "DIALOG_PRIMARY",
text = SI_GUILD_RELEASE_KEEP_ACCEPT,
callback = function(dialog)
dialog.data.release()
INTERACT_WINDOW:OnEndInteraction(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:OnEndInteraction(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
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)
count = count + 1
end
self.currentDropdown:SelectFirstItem()
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:1981 --
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:2017 --
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)
RespondToConfirmUseInventoryItemRequest(true)
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_DIALOG_NO,
callback = function(dialog)
RespondToConfirmUseInventoryItemRequest(false)
end,
}
},
noChoiceCallback = function()
RespondToConfirmUseInventoryItemRequest(false)
end,
})
- ingame/inventory/gamepad/gamepadinventory.lua:312 --
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:364 --
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_YES,
callback = function(dialog)
RespondToConfirmUseInventoryItemRequest(true)
end,
},
{
keybind = "DIALOG_NEGATIVE",
control = control:GetNamedChild("Cancel"),
text = SI_DIALOG_NO,
callback = function(dialog)
RespondToConfirmUseInventoryItemRequest(false)
end,
}
},
noChoiceCallback = function()
RespondToConfirmUseInventoryItemRequest(false)
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/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:277 --
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:682 --
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)
control.dropdown:Deactivate()
end
end
end
})
- ingame/restyle/gamepad/restyle_station_gamepad.lua:1590 --
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:476 --
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:1416 --
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:1460 --
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:1546 --
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:1642 --
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:1703 --
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:1827 --
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,
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
DisableSpinner(dialog)
end,
},
{
keybind = "DIALOG_NEGATIVE",
text = SI_GAMEPAD_BACK_OPTION,
callback = function(dialog)
DisableSpinner(dialog)
end,
},
},
finishedCallback = function(dialog)
--Setup Skills Scene
DisableSpinner(dialog)
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:1043 --
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:1086 --
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:1142 --
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:41 --
ZO_Dialogs_RegisterCustomDialog("UI_TUTORIAL", self.dialogInfo)
- ingame/tutorial/uiinfoboxtutorial.lua:43 --
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 =
{
[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 = "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/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:192 --
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:538 --
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:702 --
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:557 --
ZO_Dialogs_RegisterCustomDialog(DIALOG_FLOW[FLOW_CONFIRMATION], confirmationDialogInfo)
- internalingame/market/gamepad/marketdialogs_gamepad.lua:561 --
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:607 --
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_MARKET_BUY_CROWNS",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_MARKET_BUY_CROWNS
},
mainText =
{
text = buyCrownsMainText
},
buttons = buyCrownsButtons
})
- internalingame/market/gamepad/marketdialogs_gamepad.lua:624 --
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_MARKET_BUY_PLUS",
{
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
canQueue = true,
title =
{
text = SI_GAMEPAD_MARKET_BUY_PLUS_TITLE
},
mainText =
{
text = buyPlusMainText
},
buttons = buyPlusButtons,
noChoiceCallback = EndPurchaseNoChoice,
})
- internalingame/market/gamepad/marketdialogs_gamepad.lua:689 --
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:719 --
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:838 --
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/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,
}
}
}
)
- libraries/zo_timelockeddialog/zo_timelockeddialog.lua:40 --
ZO_Dialogs_RegisterCustomDialog(dialogName, dialogInfo)
- pregame/accountlogin/eula.lua:162 --
ZO_Dialogs_RegisterCustomDialog("SHOW_EULA", self.dialogInfo)
- pregame/accountlogin/pegi.lua:119 --
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:143 --
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:178 --
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/serverselect.lua:56 --
ZO_Dialogs_RegisterCustomDialog("SERVER_SELECT_DIALOG",
{
customControl = dialogControl,
mustChoose = true,
setup = SetupDialog,
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
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,
finishedCallback = function(dialog)
if dialog.data.onClosed then
dialog.data.onClosed()
end
if dialog.data.isIntro then
SetCVar("IsServerSelected", "true")
PregameStateManager_AdvanceState()
end
end,
})
- pregame/charactercreate/gamepad/zo_charactercreate_gamepad.lua:288 --
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:1144 --
ZO_Dialogs_RegisterCustomDialog("CHARACTER_CREATE_TEMPLATE_SELECT", dialogDescription)
- pregame/charactercreate/gamepad/zo_charactercreate_gamepad.lua:1539 --
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:292 --
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 = GetControl(control, "Play"),
text = SI_PROMPT_PLAY_TUTORIAL_BUTTON,
keybind = "DIALOG_PRIMARY",
callback = function(dialog)
self:CreateCharacter(dialog.data.startLocation, CHARACTER_CREATE_DEFAULT_LOCATION)
end,
},
{
control = GetControl(control, "Skip"),
text = SI_PROMPT_SKIP_TUTORIAL_BUTTON,
keybind = "DIALOG_SECONDARY",
callback = function(dialog)
self:CreateCharacter(dialog.data.startLocation, CHARACTER_CREATE_SKIP_TUTORIAL)
end,
},
{
control = GetControl(control, "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:120 --
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:241 --
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)
g_requestedCharacterRename = ZO_RenameCharacterDialogNameEdit:GetText()
AttemptCharacterRename(dialog.data.characterData.id, g_requestedCharacterRename)
-- Show a loading dialog in its place until the rename request finishes
ZO_Dialogs_ShowDialog("CHARACTER_SELECT_CHARACTER_RENAMING")
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/gamestartup/gamestartup_gamepad.lua:78 --
ZO_Dialogs_RegisterCustomDialog("FREE_TRIAL_INACTIVE", {
canQueue = true,
gamepadInfo =
{
dialogType = GAMEPAD_DIALOGS.BASIC,
},
title =
{
text = SI_FREE_TRIAL_PURCHASE_DIALOG_HEADER,
},
mainText =
{
text = SI_FREE_TRIAL_PURCHASE_DIALOG_BODY,
},
noChoiceCallback = function()
if IsConsoleUI() then
ZO_Disconnect()
end
end,
buttons =
{
{
text = SI_FREE_TRIAL_PURCHASE_KEYBIND,
keybind = "DIALOG_PRIMARY",
callback = function()
if IsConsoleUI() then
ShowConsoleESOGameClientUI()
ZO_Disconnect()
end
end,
},
{
text = SI_GAMEPAD_BACK_OPTION,
keybind = "DIALOG_NEGATIVE",
callback = function()
if IsConsoleUI() then
ZO_Disconnect()
end
end,
},
},
})
- 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,
},
}
})
- 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/zo_addonmanager/zo_addoneula.lua:40 --
ZO_Dialogs_RegisterCustomDialog("SHOW_ADDON_EULA", g_dialogInfo)