Back to Home

ESO Lua File v100019

ingame/crafting/sharedcraftinginventory.lua

[◄ back to folders ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
ZO_SharedCraftingInventory = ZO_Object:Subclass()
function ZO_SharedCraftingInventory:New(...)
    local craftingInventory = ZO_Object.New(self)
    craftingInventory:Initialize(...)
    return craftingInventory
end
local SCROLL_TYPE_ITEM = 1
function ZO_SharedCraftingInventory:Initialize(control, slotType, connectInfoFn, connectInfoControl)
    self.control = control
    self.control.owner = self
    self.baseSlotType = slotType
    self.itemCounts = {}
    self:InitializeList()
     if not connectInfoControl then connectInfoControl = control:GetNamedChild("InfoBar") end
    if connectInfoControl then connectInfoFn(connectInfoControl) end
    local function HandleInventoryChanged()
        self:HandleDirtyEvent()
    end
    control:RegisterForEvent(EVENT_INVENTORY_FULL_UPDATE, HandleInventoryChanged)
    control:RegisterForEvent(EVENT_INVENTORY_SINGLE_SLOT_UPDATE, HandleInventoryChanged)
    local function OnCraftingAnimationStateChanged()
        self:HandleVisibleDirtyEvent()
        ClearMenu()
    end
    CALLBACK_MANAGER:RegisterCallback("CraftingAnimationsStarted", OnCraftingAnimationStateChanged)
    CALLBACK_MANAGER:RegisterCallback("CraftingAnimationsStopped", OnCraftingAnimationStateChanged)
end
function ZO_SharedCraftingInventory:InitializeList()
    -- intended to be overridden
end
function ZO_SharedCraftingInventory:AddListDataTypes()
    -- intended to be overridden
end
function ZO_SharedCraftingInventory:OnShow()
    if self.dirty then
        self:PerformFullRefresh()
    end
end
function ZO_SharedCraftingInventory:IsLocked(bagId, slotIndex)
    -- intended to be overridden if the slot should appear as locked, but should call base to keep locking on craft
end
function ZO_SharedCraftingInventory:GetScrollDataType(bagId, slotIndex)
    -- intended to be overridden for custom data types
    return SCROLL_TYPE_ITEM
end
function ZO_SharedCraftingInventory:HandleDirtyEvent()
        self.dirty = true
    else
        self:PerformFullRefresh()
    end
end
function ZO_SharedCraftingInventory:PerformFullRefresh()
    -- intended to be overwritten
end
function ZO_SharedCraftingInventory:OnItemSelected(selectedData)
    -- intended to be overwritten
end
function ZO_SharedCraftingInventory:ShowAppropriateSlotDropCallouts(bagId, slotIndex)
    -- intended to be overwritten
end
function ZO_SharedCraftingInventory:HideAllSlotDropCallouts()
    -- intended to be overwritten
end
function ZO_SharedCraftingInventory:Refresh(data)
    -- intended to be overwritten
end
function ZO_SharedCraftingInventory:ChangeFilter(filterData)
    self.activeTab:SetText(filterData.activeTabText)
    -- intended to be overwritten, but should call base
end
function ZO_SharedCraftingInventory:SetCustomExtraData(customExtraDataFunction)
end
function ZO_SharedCraftingInventory:SetCustomSort(customDataSortFunction)
end
function ZO_SharedCraftingInventory:SetVerticalScrollCraftEntryType(type)
    self.verticalScrollCraftEntryType = type
end
    -- intended to be overwritten
    return nil
end
function ZO_SharedCraftingInventory:GetStackCount(bagId, slotIndex)
    local itemInstanceId = GetItemInstanceId(bagId, slotIndex)
    return self.itemCounts[itemInstanceId] or 0
end
function ZO_SharedCraftingInventory:Show()
    self.control:SetHidden(false)
end
function ZO_SharedCraftingInventory:Hide()
    self.control:SetHidden(true)
end