-------------------------------------------------
-- Required properties and miscellaneous media --
-------------------------------------------------
local AddOnName, nsVars = ...
local ss = nsVars.SS

local mtSharedMedia = {
  ["textureLocation"] = "Interface\\AddOns\\SeamoreSpheres\\media\\textures\\",
  ["fontLocation"] = "Interface\\Addons\\SeamoreSpheres\\media\\fonts\\",
  ["soundLocation"] = "Interface\\Addons\\SeamoreSpheres\\media\\sounds\\",
  ["fontChoices"] = {
    [1] = "Interface\\AddOns\\SeamoreSpheres\\media\\fonts\\Of Wildflowers and Wings.ttf",
    [2] = "Interface\\AddOns\\SeamoreSpheres\\media\\fonts\\Of Wildflowers and Wings.ttf",
    [3] = "FONTS\\FRIZQT__.ttf",
  },
  ["miscFrames"] = {
    ["nameplates"] = {
      [1] = {
        ["frame"] = "d3_nameplate_border.tga",
        ["glow"] = "d3_nameplate_border_glow.tga",
      },
      [2] = {
        ["frame"] = "d3_targetframe.tga",
        ["lowhp"] = "d3_targetframe_lowhp.tga",
      },
      [3] = {
        ["frame"] = "d3totframe.tga",
        ["lowhp"] = "d3totframe_lowhp.tga",
        ["debuff"] = "d3totframe_debuff.tga",
      },
    },
    ["square"] = {
      [1] = {
        ["frame"] = "d3portrait_back2.tga",
        ["gloss"] = "d3portrait_gloss2.tga",
      },
      [2] = {
        ["frame"] = "simplesquare_roth.tga",
        ["gloss"] = "simplesquare_glow.tga",
      },
    },
    ["heads"] = {
      [1] = "d3_head_budd.tga",
      [2] = "d3_head_diablo.tga",
      [3] = "d3_head_elite.tga",
      [4] = "d3_head_garg.tga",
      [5] = "d3_head_skull.tga",
      [6] = "d3_head_trans.tga",
    },
    ["experimental"] = {
      ["actionBarBottomBorder"] = "d3_bottom.tga",
    },
  },
  ["artworkTextures"] = {
    [1] = {
      ["angel"] = "d3_angel2test.tga",
      ["demon"] = "d3_demon2test.tga",
    },
    [2] = {
      ["angel"] = "d3_angel2.tga",
      ["demon"] = "d3_demon2.tga",
    },
  },
};

function mtSharedMedia:GetMisc(group, index)
  return self.textureLocation..self.miscFrames[group][index]
end

function mtSharedMedia:GetArtwork(group, index)
  return self.textureLocation..self.artworkTextures[group][index]
end

ss["SharedMedia"] = setmetatable({}, { __index = mtSharedMedia });
