diff --git a/esoui/ingame/crafting/keyboard/smithingcreation_keyboard.lua b/esoui/ingame/crafting/keyboard/smithingcreation_keyboard.lua
index 3e141a6..bf941c2 100755
--- a/esoui/ingame/crafting/keyboard/smithingcreation_keyboard.lua
+++ b/esoui/ingame/crafting/keyboard/smithingcreation_keyboard.lua
@@ -67,6 +67,7 @@ function ZO_SmithingCreation:SetHidden(hidden)
if self.dirty then
self:RefreshAllLists()
end
+ self:TriggerUSITutorial()
end
end
@@ -128,30 +129,59 @@ function ZO_SmithingCreation:InitializeFilterTypeBar()
ZO_CraftingUtils_ConnectMenuBarToCraftingProcess(self.tabs)
end
+function ZO_SmithingCreation:UpdateUniversalStyleItemCheckBox()
+ local checkBox = self.useUniversalStyleItemCheckBox
+ local universalStyleItemCount = GetCurrentSmithingStyleItemCount(ZO_ADJUSTED_UNIVERSAL_STYLE_ITEM_INDEX)
+ ZO_CheckButton_SetLabelText(checkBox, zo_strformat(SI_CRAFTING_USE_UNIVERSAL_STYLE_ITEM, universalStyleItemCount))
+end
+
function ZO_SmithingCreation:InitializeFilters()
self.haveMaterialsCheckBox = self.control:GetNamedChild("HaveMaterials")
self.haveKnowledgeCheckBox = self.control:GetNamedChild("HaveKnowledge")
+ self.useUniversalStyleItemCheckBox = self.control:GetNamedChild("StyleListUniversalStyleItem")
local function OnFilterChanged()
- self:OnFilterChanged(ZO_CheckButton_IsChecked(self.haveMaterialsCheckBox), ZO_CheckButton_IsChecked(self.haveKnowledgeCheckBox))
+ self:OnFilterChanged(ZO_CheckButton_IsChecked(self.haveMaterialsCheckBox), ZO_CheckButton_IsChecked(self.haveKnowledgeCheckBox), ZO_CheckButton_IsChecked(self.useUniversalStyleItemCheckBox))
+ end
+
+ local function HandleInventoryChanged()
+ self:UpdateUniversalStyleItemCheckBox()
end
ZO_CheckButton_SetToggleFunction(self.haveMaterialsCheckBox, OnFilterChanged)
ZO_CheckButton_SetToggleFunction(self.haveKnowledgeCheckBox, OnFilterChanged)
+ ZO_CheckButton_SetToggleFunction(self.useUniversalStyleItemCheckBox, OnFilterChanged)
ZO_CheckButton_SetLabelText(self.haveMaterialsCheckBox, GetString(SI_SMITHING_HAVE_MATERIALS))
ZO_CheckButton_SetLabelText(self.haveKnowledgeCheckBox, GetString(SI_SMITHING_HAVE_KNOWLEDGE))
+ self:UpdateUniversalStyleItemCheckBox()
+ ZO_CheckButtonLabel_SetDefaultColors(self.useUniversalStyleItemCheckBox.label, ZO_COLOR_UNIVERSAL_ITEM, ZO_COLOR_UNIVERSAL_ITEM_SELECTED)
+ ZO_CheckButton_Enable(self.useUniversalStyleItemCheckBox, true)
+
ZO_CraftingUtils_ConnectCheckBoxToCraftingProcess(self.haveMaterialsCheckBox)
ZO_CraftingUtils_ConnectCheckBoxToCraftingProcess(self.haveKnowledgeCheckBox)
+ ZO_CraftingUtils_ConnectCheckBoxToCraftingProcess(self.useUniversalStyleItemCheckBox)
+
+ -- crappy hack to make sure no one gets in a bad state because we have connected the checkbuttons to the smithing process,
+ -- which means we are going to logically set the state of the check buttons without user input, which will interfere with
+ -- the player that tries to mouse down on a checkbutton and then start the craft, resulting in a bad state of being stuck in PRESSED
+ CALLBACK_MANAGER:RegisterCallback("CraftingAnimationsStarted", function() ZO_CheckButton_SetCheckState(self.haveMaterialsCheckBox, self.savedVars.haveMaterialChecked)
+ ZO_CheckButton_SetCheckState(self.haveKnowledgeCheckBox, self.savedVars.haveKnowledgeChecked)
+ ZO_CheckButton_SetCheckState(self.useUniversalStyleItemCheckBox, self.savedVars.useUniversalStyleItemChecked)
+ end)
+
+ self.useUniversalStyleItemCheckBox:RegisterForEvent(EVENT_INVENTORY_FULL_UPDATE, HandleInventoryChanged)
+ self.useUniversalStyleItemCheckBox:RegisterForEvent(EVENT_INVENTORY_SINGLE_SLOT_UPDATE, HandleInventoryChanged)
end
function ZO_SmithingCreation:SetupSavedVars(defaults)
- local defaults = { haveMaterialChecked = false, haveKnowledgeChecked = true, }
+ local defaults = { haveMaterialChecked = false, haveKnowledgeChecked = true, useUniversalStyleItemChecked = false}
self.savedVars = ZO_SavedVars:New("ZO_Ingame_SavedVariables", 2, "SmithingCreation", defaults)
ZO_CheckButton_SetCheckState(self.haveMaterialsCheckBox, self.savedVars.haveMaterialChecked)
ZO_CheckButton_SetCheckState(self.haveKnowledgeCheckBox, self.savedVars.haveKnowledgeChecked)
+ ZO_CheckButton_SetCheckState(self.useUniversalStyleItemCheckBox, self:GetIsUsingUniversalStyleItem())
end
function ZO_SmithingCreation:RefreshAvailableFilters()
@@ -184,3 +214,42 @@ end
function ZO_SmithingCreation:SetLabelHidden(label, hidden)
label:SetHidden(hidden)
end
+
+function ZO_SmithingCreation:BuyCraftingItems()
+ ShowMarketAndSearch(GetString(SI_CROWN_STORE_SEARCH_CRAFT_ITEMS), MARKET_OPEN_OPERATION_UNIVERSAL_STYLE_ITEM)
+end
+
+function ZO_SmithingCreation_HaveMaterialsOnMouseEnter(control)
+ InitializeTooltip(InformationTooltip, control, BOTTOM, 0, -10)
+ SetTooltipText(InformationTooltip, GetString(SI_CRAFTING_HAVE_MATERIALS_TOOLTIP))
+end
+
+function ZO_SmithingCreation_HaveKnowledgeOnMouseEnter(control)
+ InitializeTooltip(InformationTooltip, control, BOTTOM, 0, -10)
+ SetTooltipText(InformationTooltip, GetString(SI_CRAFTING_HAVE_KNOWLEDGE_TOOLTIP))
+end
+
+function ZO_SmithingCreation_FilterOnMouseExit(control)
+ ClearTooltip(InformationTooltip)
+end
+
+function ZO_SmithingCreation_UniversalStyleItemOnMouseEnter(control)
+ if control.label then
+ control.label:SetColor(ZO_COLOR_UNIVERSAL_ITEM_SELECTED:UnpackRGBA())
+ end
+
+ InitializeTooltip(InformationTooltip, control, RIGHT, -10, -10)
+ local universalStyleItemCount = GetCurrentSmithingStyleItemCount(ZO_ADJUSTED_UNIVERSAL_STYLE_ITEM_INDEX)
+ InformationTooltip:AddLine(zo_strformat(SI_CRAFTING_USE_UNIVERSAL_STYLE_ITEM, universalStyleItemCount), "", ZO_COLOR_UNIVERSAL_ITEM:UnpackRGBA())
+ local r,g,b = ZO_NORMAL_TEXT:UnpackRGB()
+ InformationTooltip:AddLine(GetString(SI_CRAFTING_UNIVERSAL_STYLE_ITEM_TOOLTIP), "", r, g, b)
+ InformationTooltip:AddLine(GetString(SI_CRAFTING_UNIVERSAL_STYLE_ITEM_CROWN_STORE_TOOLTIP), "", r, g, b)
+end
+
+function ZO_SmithingCreation_UniversalStyleItemOnMouseExit(control)
+ if control.label then
+ control.label:SetColor(ZO_COLOR_UNIVERSAL_ITEM:UnpackRGBA())
+ end
+
+ ClearTooltip(InformationTooltip)
+end
\ No newline at end of file