Compare commits
3 Commits
v0.1.0
...
6a73506161
| Author | SHA1 | Date | |
|---|---|---|---|
| 6a73506161 | |||
| 999de90942 | |||
| 5a3f29344b |
+15
-5
@@ -1,4 +1,4 @@
|
||||
local lib = LibStub:NewLibrary("LibFreeMedia", 100)
|
||||
local lib = LibStub:NewLibrary("LibFreeMedia", 101)
|
||||
if not lib then
|
||||
return
|
||||
end
|
||||
@@ -42,6 +42,7 @@ local DEFAULT_MEDIA_TABLE = {
|
||||
}
|
||||
}
|
||||
|
||||
-- Build default media lists from the default media table
|
||||
local function MakeDefaultList()
|
||||
local lists = {}
|
||||
for kind, media in pairs(DEFAULT_MEDIA_TABLE) do
|
||||
@@ -66,6 +67,18 @@ do
|
||||
libsm = LibStub:NewLibrary("LibSharedMedia-3.0", 0)
|
||||
libsm.MediaTable = DEFAULT_MEDIA_TABLE
|
||||
libsm.MediaList = DEFAULT_MEDIA_LIST
|
||||
else
|
||||
-- Ensure the lists match the tables if we didn't create them
|
||||
for kind, media in pairs(libsm.MediaTable) do
|
||||
if libsm.MediaList[kind] == nil then
|
||||
local mediaList = {}
|
||||
for identifier, _ in pairs(media) do
|
||||
table.insert(mediaList, identifier)
|
||||
end
|
||||
table.sort(mediaList)
|
||||
libsm.MediaList[kind] = mediaList
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
---@type table<string, table<string, any>>
|
||||
@@ -94,7 +107,7 @@ local function RegisterOne(kind, identifier, data)
|
||||
end
|
||||
|
||||
media[identifier] = data
|
||||
table.insert(lib.mediaList[kind], identifier)
|
||||
table.insert(mediaList, identifier)
|
||||
return true
|
||||
end
|
||||
|
||||
@@ -111,7 +124,6 @@ function lib:Register(kind, identifier, data)
|
||||
return retval
|
||||
end
|
||||
|
||||
|
||||
---Return the media that matches the given kind and identifier. May return nil if the media does not exist.
|
||||
---@param kind string The kind of media you are requesting. E.g. "font" or "background"
|
||||
---@param identifier string Named identifier for the media
|
||||
@@ -123,7 +135,6 @@ function lib:Get(kind, identifier)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
---Return a sorted list of identifiers. May return nil if there is no media of that kind.
|
||||
---@param kind string The kind of media you are requesting. E.g. "font" or "background"
|
||||
---@return string[] | nil
|
||||
@@ -131,7 +142,6 @@ function lib:GetList(kind)
|
||||
return self.mediaList[kind]
|
||||
end
|
||||
|
||||
|
||||
---Return a table with identifier keys and media data values
|
||||
---@param kind string The kind of media you are requesting. E.g. "font" or "background"
|
||||
---@return table<string,any> | nil
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
## Interface: 100100
|
||||
## Title: LibFreeMedia
|
||||
## Notes: Freely share media between addons
|
||||
## Version: 0.1.0
|
||||
## Version: 0.1.1
|
||||
|
||||
libs/LibStub.lua
|
||||
LibFreeMedia.lua
|
||||
|
||||
Reference in New Issue
Block a user