--[[
Author: Jarth
Filename: MementoBar_Constants.lua
]] --

-------------------------------------------------------------------------------------------------
-- VARIABLES --
-------------------------------------------------------------------------------------------------
MementoBar = {}
local baseModule = MementoBar
local sharedBaseModule = JarthSharedBase

baseModule.Addon = {
    Name = "MementoBar",
    DisplayName = "Memento bar",
    Version = 1.7,
    MinorVersion = 0,
    SlashCommand = "/mb",
    Author = "Jarth",
    Website = ""
}
baseModule.WM = GetWindowManager()
baseModule.Frame = MementoBar_Frame
baseModule.Buttons = {}
baseModule.Fragment = nil
baseModule.Default = {
    Left = CENTER,
    Top = CENTER,
    CenterColor = {r = 0.88, g = 0.88, b = 0.88, a = 0.4},
    EdgeColor = {r = 0.88, g = 0.88, b = 0.88, a = 0},
    HighlightColor = {r = 0.9, g = 0.9, b = 0.9, a = 0.9},
    FontColor = {r = 0.9, g = 0.9, b = 0.9, a = 0.9},
    UseAccountSettings = true,
    Horizontal = true,
    ShowBarOnHud = true,
    ShowBarOnHudUI = true,
    ShowBarInMenu = false,
    ShowBarInInventory = false,
    ShowBarInInteract = false,
    ShowBarInBank = false,
    ShowBarInFence = false,
    ShowBarInStore = false,
    Margin = 2,
    Height = 60,
    Width = 60,
    SnapSize = 5,
    BarDepth = 1,
    SelectedMementos = {},
    KeyBindings = {
        [1] = 0,
        [2] = 0,
        [3] = 0,
        [4] = 0,
        [5] = 0
    },
    KeyBindingLocation = BOTTOM,
    ShowKeyBinding = true,
    IsAudioEnabled = true,
    IsTimerEnabled = true,
    TimerFontColor = {r = 0.9, g = 0.9, b = 0.9, a = 0.9},
    TimerFont = "ZoFontHeader2"
}
baseModule.Mementos = {}
baseModule.OrderedMementos = {}
baseModule.Global = {
    IsMoveEnabled = false,
    TopLevelIndex = 7,
    ReverseKeyBindings = {},
    ChoisesKeyBindingLocation = {
        "bottom",
        "bottomleft",
        "bottomright",
        "center",
        "left",
        "right",
        "top",
        "topleft",
        "topright"
    },
    TimerFonts = {
        "ZoFontGameSmall",
        "ZoFontGameLarge",
        "ZoFontGameLargeBold",
        "ZoFontGameLargeBoldShadow",
        "ZoFontHeader",
        "ZoFontHeader2",
        "ZoFontHeader3",
        "ZoFontHeader4"
    }
}

baseModule.CountDown = {
    Event = "Cooldown",
    Tick = 100,
    StartTime = 0,
    CollectibleId = nil
}

baseModule.Global.CategoryNumUnlocked = GetTotalUnlockedCollectiblesByCategoryType(COLLECTIBLE_CATEGORY_TYPE_MEMENTO)

baseModule.Global.CategoryName, _, baseModule.Global.CategoryNumCollectibles, _, baseModule.Global.CategoryTotal, _ = GetCollectibleCategoryInfo(baseModule.Global.TopLevelIndex)

for index = 1, baseModule.Global.CategoryTotal do
    local collectibleId = GetCollectibleId(baseModule.Global.TopLevelIndex, nil, index)
    local collectibleName, collectibleDescription, collectibleIcon, _, collectibleUnlocked, _, _, _, collectibleHint, _ = GetCollectibleInfo(collectibleId)
    baseModule.Mementos[collectibleId] = {
        Id = collectibleId,
        Name = collectibleName,
        EnabledTexture = collectibleIcon,
        Disabled = not collectibleUnlocked,
        Tooltip = string.format("Description: %s \nHint: %s", collectibleDescription, collectibleHint)
    }
    baseModule.OrderedMementos[index] = baseModule.Mementos[collectibleId]
end