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 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 |
--
--[[ CollectionsBook Singleton ]] --
--
ZO_COLLECTIONS_SYSTEM_NAME = "collections"
ZO_COLLECTIONS_SEARCH_ROOT = "root"
return collectionsSingleton
end
self . ownedHouses = { }
self . searchString = ""
self . searchResults = { }
self . searchSpecializationFilters = { }
self . searchChecksHidden = false
EVENT_MANAGER : RegisterForEvent ( "CollectionsBook_Singleton" , EVENT_COLLECTIBLES_SEARCH_RESULTS_READY , function ( ) self : UpdateSearchResults ( ) end )
EVENT_MANAGER : RegisterForEvent ( "CollectionsBook_Singleton" , EVENT_COLLECTIBLE_REQUEST_BROWSE_TO , function ( eventId , ... ) self : BrowseToCollectible ( ... ) end )
EVENT_MANAGER : RegisterForEvent ( "CollectionsBook_Singleton" , EVENT_ACTION_UPDATE_COOLDOWNS , function ( eventId , ... ) self : OnUpdateCooldowns ( ... ) end )
if collectionUpdateType == ZO_COLLECTION_UPDATE_TYPE . REBUILD then
-- When the data is getting rebuilt, the indices can change so our old search results are no longer any good
local currentSearch = self . searchString
end
else
--TODO: Refactor naming, ownedHouses is a misnomer. It should really be unlocked houses. It just so happens that we don't (yet) allow you to unlock a house other than by owning it.
if nowUnlocked and not self . ownedHouses [ collectibleId ] then
self . ownedHouses [ collectibleId ] =
{
showPermissionsDialogOnEnter = true ,
}
elseif not nowUnlocked and self . ownedHouses [ collectibleId ] then
self . ownedHouses [ collectibleId ] = nil
end
end
end
end
end
end
end
self . searchString = searchString or ""
end
local noChange = true
for i = 1 , argCount do
if not self . searchSpecializationFilters [ categorySpecialization ] then
noChange = false
break
end
end
if noChange then
return
end
end
for i = 1 , argCount do
self . searchSpecializationFilters [ categorySpecialization ] = true
end
end
self . searchChecksHidden = searchChecksHidden
end
local searchResults = self . searchResults
local searchChecksHidden = self . searchChecksHidden
if noSpecializationFilters or self . searchSpecializationFilters [ categorySpecialization ] then
local canShowCollectible = true
if searchChecksHidden then
local collectibleData = ZO_COLLECTIBLE_DATA_MANAGER : GetCollectibleDataByIndicies ( categoryIndex , subcategoryIndex , collectibleIndex )
canShowCollectible = false
end
end
if canShowCollectible then
if not searchResults [ categoryIndex ] then
searchResults [ categoryIndex ] = { }
end
local effectiveSubCategory = subcategoryIndex or ZO_COLLECTIONS_SEARCH_ROOT
if not searchResults [ categoryIndex ] [ effectiveSubCategory ] then
searchResults [ categoryIndex ] [ effectiveSubCategory ] = { }
end
searchResults [ categoryIndex ] [ effectiveSubCategory ] [ collectibleIndex ] = true
end
end
end
end
return self . searchResults
end
return nil
end
end
return categoryType == COLLECTIBLE_CATEGORY_TYPE_HOUSE
end
local ownedHouses = ZO_COLLECTIBLE_DATA_MANAGER : GetAllCollectibleDataObjects ( { ZO_CollectibleCategoryData . IsHousingCategory } , { ZO_CollectibleData . IsUnlocked } )
end
internalassert ( # ownedHouses <= MAX_HOUSES_FOR_PERMISSIONS , "There are too many houses for permissions messaging to handle. Have an engineer update cMaxHousesPerAccount." )
end
end
return self . ownedHouses
end
function CollectionsBook_Singleton : DoesHousePermissionsDialogNeedToBeShownForCollectible ( collectibleId )
return self . ownedHouses [ collectibleId ] and self . ownedHouses [ collectibleId ] . showPermissionsDialogOnEnter
end
if self . ownedHouses [ collectibleId ] then
self . ownedHouses [ collectibleId ] . showPermissionsDialogOnEnter = false
end
end
else
end
if locked then
else
end
end
|