view ClassPlanFollowers.lua @ 47:733785e306a3

- Fixed an update lag that occurs between map changes. - Aesthetic polish
author Nenue
date Tue, 27 Dec 2016 17:29:23 -0500
parents 589c444d4837
children b29b35cb8539
line wrap: on
line source

local print = DEVIAN_WORKSPACE and function(...) print('ClassPlan', ...) end or nop
local c  = {

  templateName = 'ClassPlanShipmentEntry',
  listKey = {'followers'},
  listTitle = {'Followers'},
  events = {
    'GARRISON_FOLLOWER_LIST_UPDATE',
    'GARRISON_FOLLOWER_XP_CHANGED',
    'GARRISON_FOLLOWER_DURABILITY_CHANGED',
    'GARRISON_FOLLOWER_UPGRADED',
    'GARRISON_FOLLOWER_REMOVED'
  }
}


function c:OnLoad()
  self.followerType = 4
  -- follower type, versus garrison_type
end

function c:OnEvent(event, ...)
  print('|cFF00FF00'..self:GetName()..':OnEvent()|r', event, ...)
  self:GetPlayerData()
end

function c:OnUpdate() end

function c:GetPlayerData()

  print('|cFF0088FF'..self:GetName()..':GetPlayerData()|r')
  local profileList = self:GetParent().profile.followers
  local followerInfo = C_Garrison.GetFollowers(self.followerType)
  if followerInfo then
    table.wipe(profileList)
    for followerID, follower in pairs(followerInfo) do
      profileList[followerID] = follower
    end
  end

end

function c:UpdateItems()
end
function c:Reanchor()
end


ClassPlanFollowerMixin = CreateFromMixins(ClassPlanHandlerBase, c)