Mercurial > wow > worldplan
comparison ClassPlanFollowers.lua @ 117:a4dfdd4f1cf3 v7.3.2-20171215
- Fixed filter pins not working on Argus maps
- More taint counter-measures
| author | Nenue |
|---|---|
| date | Fri, 15 Dec 2017 16:38:09 -0500 |
| parents | b29b35cb8539 |
| children |
comparison
equal
deleted
inserted
replaced
| 116:bf4a36378bb9 | 117:a4dfdd4f1cf3 |
|---|---|
| 1 | 1 |
| 2 local print = DEVIAN_WORKSPACE and function(...) print('ClassPlan', ...) end or nop | 2 local print = DEVIAN_WORKSPACE and function(...) print('ClassPlanF', ...) end or nop |
| 3 local c = { | 3 local c = { |
| 4 | 4 |
| 5 templateName = 'ClassPlanShipmentEntry', | 5 templateName = 'ClassPlanFollowerEntry', |
| 6 listKey = {'followers','troops'}, | 6 listKey = {'followers','troops'}, |
| 7 listTitle = {'Followers'}, | 7 listTitle = {'Followers', 'Troops'}, |
| 8 events = { | 8 events = { |
| 9 'GARRISON_FOLLOWER_LIST_UPDATE', | 9 'GARRISON_FOLLOWER_LIST_UPDATE', |
| 10 'GARRISON_FOLLOWER_XP_CHANGED', | 10 'GARRISON_FOLLOWER_XP_CHANGED', |
| 11 'GARRISON_FOLLOWER_DURABILITY_CHANGED', | 11 'GARRISON_FOLLOWER_DURABILITY_CHANGED', |
| 12 'GARRISON_FOLLOWER_UPGRADED', | 12 'GARRISON_FOLLOWER_UPGRADED', |
| 24 function c:OnEvent(event, ...) | 24 function c:OnEvent(event, ...) |
| 25 print('|cFF00FF00'..self:GetName()..':OnEvent()|r', event, ...) | 25 print('|cFF00FF00'..self:GetName()..':OnEvent()|r', event, ...) |
| 26 self:GetPlayerData() | 26 self:GetPlayerData() |
| 27 end | 27 end |
| 28 | 28 |
| 29 function c:OnUpdate() end | |
| 30 | |
| 31 function c:GetPlayerData() | 29 function c:GetPlayerData() |
| 32 | 30 |
| 33 print('|cFF0088FF'..self:GetName()..':GetPlayerData()|r') | 31 print('|cFF0088FF'..self:GetName()..':GetPlayerData()|r', self.followerType, time()) |
| 34 local profileList = self:GetParent().profile.followers | 32 local profile = self:GetParent().profile |
| 35 local troopList = self:GetParent().profile.troops | |
| 36 | 33 |
| 37 local followerInfo = C_Garrison.GetFollowers(self.followerType) | 34 local followerInfo = C_Garrison.GetFollowers(self.followerType) |
| 38 | 35 |
| 39 | 36 |
| 37 | |
| 40 if followerInfo then | 38 if followerInfo then |
| 41 table.wipe(profileList) | 39 table.wipe(profile.followers) |
| 40 table.wipe(profile.troops) | |
| 42 for followerID, follower in pairs(followerInfo) do | 41 for followerID, follower in pairs(followerInfo) do |
| 43 print(FOLLOWER_QUALITY_COLORS[follower.quality].hex, follower.name, follower.isTroop) | 42 print(FOLLOWER_QUALITY_COLORS[follower.quality].hex, follower.name, follower.isTroop) |
| 44 if follower.isTroop then | 43 if follower.isTroop then |
| 45 troopList[followerID] = follower | 44 print('added troop') |
| 45 profile.troops[followerID] = follower | |
| 46 else | 46 else |
| 47 print(follower.isMaxLevel, follower.xp, follower.levelXP, follower.iLevel) | 47 print(follower.isMaxLevel, follower.xp, follower.levelXP, follower.iLevel) |
| 48 | 48 |
| 49 profileList[followerID] = follower | 49 profile.followers[followerID] = follower |
| 50 end | 50 end |
| 51 | 51 |
| 52 | 52 |
| 53 profileList[followerID] = follower | 53 --profileList[followerID] = follower |
| 54 end | 54 end |
| 55 end | 55 end |
| 56 | 56 |
| 57 return true | |
| 57 end | 58 end |
| 58 | 59 |
| 59 function c:UpdateItems() | 60 function c:UpdateTroops (followers, baseIndex) |
| 61 baseIndex = baseIndex or 1 | |
| 62 for followerID, follower in pairs(followers) do | |
| 63 --local frame = self. | |
| 64 end | |
| 65 | |
| 66 | |
| 67 return baseIndex | |
| 68 end | |
| 69 | |
| 70 function c:OnUpdateRequested () | |
| 71 print('OnUpdateRequested()') | |
| 72 end | |
| 73 | |
| 74 function c:OnItemsUpdated() | |
| 75 print('OnItemsUpdated()') | |
| 76 return nil | |
| 77 end | |
| 78 | |
| 79 function c:RefreshData() | |
| 80 | |
| 81 print('|cFF0088FF'..self:GetName()..':RefreshData()') | |
| 82 local activeKey = self.activeKey | |
| 83 self.truncatedItems = 0 | |
| 84 self.currentTime = time() | |
| 85 if self:GetParent().profile then | |
| 86 self:GetPlayerData() | |
| 87 end | |
| 88 local profile = self.profile | |
| 89 for _, listKey in ipairs(self.listKey) do | |
| 90 local sortedItems = self.sortedItems[listKey] | |
| 91 wipe(sortedItems) | |
| 92 local isMine = (profile == self.profile) | |
| 93 print(listKey, isMine, profile.showItems) | |
| 94 local profileList = self.profile[listKey] | |
| 95 if profileList and #profileList >= 1 then | |
| 96 local classColor = profile.classColor or RAID_CLASS_COLORS['HUNTER'] | |
| 97 if profile.showItems then | |
| 98 for index, data in ipairs(profileList) do | |
| 99 data.classColor = classColor | |
| 100 data.profileKey = ClassOrderPlan.profileName | |
| 101 data.isMine = isMine | |
| 102 if self.OnGetItem then | |
| 103 self:OnGetItem(data) | |
| 104 end | |
| 105 tinsert(sortedItems, data) | |
| 106 end | |
| 107 else | |
| 108 self.truncatedItems = self.truncatedItems + 1 | |
| 109 end | |
| 110 end | |
| 111 | |
| 112 if self.SortHandler then | |
| 113 sort(sortedItems, self.SortHandler) | |
| 114 end | |
| 115 end | |
| 116 | |
| 117 for k,v in pairs(self.sortedItems) do | |
| 118 print(' ', k) | |
| 119 end | |
| 120 | |
| 121 self.isStale = true | |
| 122 end | |
| 123 | |
| 124 --[[ | |
| 125 -- function c:UpdateItems() | |
| 60 | 126 |
| 61 local profileList = self:GetParent().profile.followers | 127 local profileList = self:GetParent().profile.followers |
| 62 | 128 |
| 63 local troopList = self:GetParent().profile.troops | 129 local troopList = self:GetParent().profile.troops |
| 64 | 130 |
| 65 | 131 print('UpdateItems() ') |
| 132 | |
| 66 | 133 |
| 67 end | 134 end |
| 135 --]] | |
| 68 function c:Reanchor() | 136 function c:Reanchor() |
| 137 self:SetPoint('TOPLEFT', ClassOrderPlan.BackgroundInset, 'BOTTOMLEFT') | |
| 138 self:SetPoint('RIGHT', ClassOrderPlan.BackgroundInset, 'RIGHT') | |
| 69 end | 139 end |
| 70 | 140 |
| 141 local f = {} | |
| 142 function f:Update() | |
| 143 self.Icon:SetTexture() | |
| 144 end | |
| 145 function f:OnLoad() | |
| 146 self.Owner = self.Overlay.Owner | |
| 71 | 147 |
| 72 ClassPlanFollowerMixin = CreateFromMixins(ClassPlanHandlerBase, c) | 148 self.Count = self.Overlay.Count |
| 149 self.Name = self.Overlay.Name | |
| 150 end | |
| 151 | |
| 152 function f.SortHandler (a, b) | |
| 153 return true | |
| 154 end | |
| 155 | |
| 156 ClassPlanFollowersHandler = CreateFromMixins(ClassPlanHandlerBase, c) | |
| 157 ClassPlanFollowerEntryMixin = CreateFromMixins(ClassPlanEntryBase, f) |
