Commit 40478f0c authored by TOM_RUS's avatar TOM_RUS

WOW-33010patch8.3.0_PTR

parent cc115737
......@@ -283,12 +283,14 @@ end
do -- Gems
local gemsCategory = AuctionFrame_CreateCategory(AUCTION_CATEGORY_GEMS);
gemsCategory:SetDetailColumnString(ITEM_LEVEL_ABBR);
gemsCategory:SetFlag("UNSORTABLE");
gemsCategory:GenerateSubCategoriesAndFiltersFromSubClass(LE_ITEM_CLASS_GEM);
end
do -- Item Enhancement
local itemEnhancementCategory = AuctionFrame_CreateCategory(AUCTION_CATEGORY_ITEM_ENHANCEMENT);
itemEnhancementCategory:SetDetailColumnString(ITEM_LEVEL_ABBR);
itemEnhancementCategory:SetFlag("UNSORTABLE");
itemEnhancementCategory:GenerateSubCategoriesAndFiltersFromSubClass(LE_ITEM_CLASS_ITEM_ENHANCEMENT);
end
......
......@@ -177,14 +177,20 @@ end
function AuctionHouseAuctionsFrameMixin:OnShow()
FrameUtil.RegisterFrameForEvents(self, AUCTIONS_FRAME_EVENTS);
self:RefreshSeachResults();
-- AllBids and AllAuctions will update the entire list. Other views require
-- and explicit update.
local displayMode = self:GetDisplayMode();
if displayMode ~= AuctionsFrameDisplayMode.AllBids and displayMode ~= AuctionsFrameDisplayMode.AllAuctions then
self:RefreshSeachResults();
end
end
function AuctionHouseAuctionsFrameMixin:RefreshSeachResults()
local displayMode = self:GetDisplayMode();
if self:IsDisplayingBids() and displayMode ~= AuctionsFrameDisplayMode.AllBids then
if self:IsDisplayingBids() then
self:GetAuctionHouseFrame():QueryAll(AuctionHouseSearchContext.AllBids);
elseif displayMode ~= AuctionsFrameDisplayMode.AllAuctions then
else
self:GetAuctionHouseFrame():QueryAll(AuctionHouseSearchContext.AllAuctions);
end
......
......@@ -12,8 +12,8 @@ local AUCTION_HOUSE_BROWSE_RESULTS_FRAME_EVENTS = {
"AUCTION_HOUSE_BROWSE_FAILURE",
};
function AuctionHouseBrowseResultsFrameMixin:SetupTableBuilder(extraInfoColumn)
self.ItemList:SetTableBuilderLayout(AuctionHouseTableBuilder.GetBrowseListLayout(self, self.ItemList, extraInfoColumn));
function AuctionHouseBrowseResultsFrameMixin:SetupTableBuilder(extraColumnInfo, sortable, ...)
self.ItemList:SetTableBuilderLayout(AuctionHouseTableBuilder.GetBrowseListLayout(self, self.ItemList, extraColumnInfo, sortable, ...));
self.tableBuilderLayoutDirty = false;
end
......@@ -102,7 +102,8 @@ end
function AuctionHouseBrowseResultsFrameMixin:OnCategorySelected(selectedCategoryIndex, selectedSubCategoryIndex, selectedSubSubCategoryIndex)
local extraColumnInfo = AuctionFrame_GetDetailColumnStringUnsafe(selectedCategoryIndex, selectedSubCategoryIndex);
self.pendingExtraColumnInfo = extraColumnInfo;
local sortable = not AuctionFrame_DoesCategoryHaveFlag("UNSORTABLE", selectedCategoryIndex);
self.pendingExtraColumnInfo = { extraColumnInfo, sortable, };
self.tableBuilderLayoutDirty = true;
end
......@@ -110,7 +111,12 @@ function AuctionHouseBrowseResultsFrameMixin:UpdateBrowseResults(addedBrowseResu
self.searchStarted = true;
if self.tableBuilderLayoutDirty then
self:SetupTableBuilder(self.pendingExtraColumnInfo);
if self.pendingExtraColumnInfo then
self:SetupTableBuilder(unpack(self.pendingExtraColumnInfo));
else
self:SetupTableBuilder(nil);
end
self.pendingExtraColumnInfo = nil;
end
......
......@@ -132,6 +132,11 @@ function AuctionHouseCommoditiesSellFrameMixin:SetItem(itemLocation, fromItemDis
if itemLocation then
self.QuantityInput:SetQuantity(C_Item.GetStackCount(itemLocation));
-- Hack fix for a spacing problem: Without this line, the edit box would be scrolled to
-- the left and the text would not be visible. This seems to be a problem with setting
-- the text on the edit box and showing it in the same frame.
self.QuantityInput.InputBox:SetCursorPosition(0);
end
self:GetCommoditiesSellList():SetItemID(itemKey and itemKey.itemID or nil);
......
......@@ -566,12 +566,16 @@ function AuctionHouseFrameMixin:GetBrowseSearchContext()
if self.isDisplayingFavorites then
return AuctionHouseSearchContext.AllFavorites;
else
local selectedCategoryIndex = self:GetCategoriesList():GetSelectedCategory();
local browseSearchContext = AuctionHouseUtil.ConvertCategoryToSearchContext(selectedCategoryIndex);
return browseSearchContext;
return self:GetCategorySearchContext();
end
end
function AuctionHouseFrameMixin:GetCategorySearchContext()
local selectedCategoryIndex = self:GetCategoriesList():GetSelectedCategory();
local browseSearchContext = AuctionHouseUtil.ConvertCategoryToSearchContext(selectedCategoryIndex);
return browseSearchContext;
end
function AuctionHouseFrameMixin:SelectBrowseResult(browseResult)
local itemKey = browseResult.itemKey;
local itemKeyInfo = C_AuctionHouse.GetItemKeyInfo(itemKey);
......@@ -666,7 +670,7 @@ function AuctionHouseFrameMixin:SendBrowseQuery(searchString, minLevel, maxLevel
return;
end
local browseSearchContext = self:GetBrowseSearchContext();
local browseSearchContext = self:GetCategorySearchContext();
self:SendBrowseQueryInternal(browseSearchContext, searchString, minLevel, maxLevel, filtersArray);
self:TriggerEvent(AuctionHouseFrameMixin.Event.BrowseSearchStarted);
end
......@@ -678,6 +682,8 @@ function AuctionHouseFrameMixin:SendBrowseQueryInternal(browseSearchContext, sea
self.activeSearches[browseSearchContext] = { browseSearchContext, searchString, minLevel, maxLevel, filtersArray };
self.isDisplayingFavorites = browseSearchContext == AuctionHouseSearchContext.AllFavorites;
local filterData = nil;
local categoriesList = self:GetCategoriesList();
if categoriesList:IsWoWTokenCategorySelected() then
......
......@@ -119,7 +119,7 @@ function AuctionHouseItemSellFrameMixin:UpdatePriceSelection()
if self.listDisplayedItemKey then
local defaultPrice = self:GetDefaultPrice();
local defaultBid = not self.SecondaryPriceInput:IsShown() or self.SecondaryPriceInput:GetAmount() == defaultPrice;
local defaultBid = not self.SecondaryPriceInput:IsShown() or self.SecondaryPriceInput:GetAmount() == 0;
local defaultBuyout = self.PriceInput:GetAmount() == defaultPrice;
-- If the user hasn't entered a price, update to the lowest price available.
......@@ -201,10 +201,7 @@ function AuctionHouseItemSellFrameMixin:SetSecondaryPriceInputEnabled(enabled)
self.PriceInput:SetSubtext(enabled and AUCTION_HOUSE_BUYOUT_OPTIONAL_LABEL or nil);
self.PriceInput.PerItemPostfix:SetShown(not enabled);
self.SecondaryPriceInput:SetShown(enabled);
if not enabled then
self.SecondaryPriceInput:Clear();
end
self.SecondaryPriceInput:Clear();
self:UpdatePostState();
self:UpdateFocusTabbing();
......@@ -214,7 +211,7 @@ end
function AuctionHouseItemSellFrameMixin:SetItem(itemLocation, fromItemDisplay, refreshListWithPreviousItem)
AuctionHouseSellFrameMixin.SetItem(self, itemLocation, fromItemDisplay);
self.SecondaryPriceInput:SetAmount(0);
self.SecondaryPriceInput:Clear();
local itemKey = itemLocation and C_AuctionHouse.GetItemKeyFromItem(itemLocation) or nil;
if refreshListWithPreviousItem and self.previousItemKey then
......
......@@ -98,7 +98,11 @@ function AuctionHouseAlignedPriceInputFrameMixin:Clear()
end
function AuctionHouseAlignedPriceInputFrameMixin:SetAmount(amount)
self.MoneyInputFrame:SetAmount(amount);
if amount == 0 then
self.MoneyInputFrame:Clear();
else
self.MoneyInputFrame:SetAmount(amount);
end
end
function AuctionHouseAlignedPriceInputFrameMixin:GetAmount()
......
......@@ -842,7 +842,7 @@ function AuctionHouseTableBuilder.GetBidsListLayout(owner, itemList)
tableBuilder:AddFillColumn(owner, 0, 1.0, 10, 0, Enum.AuctionHouseSortOrder.Name, "AuctionHouseTableCellAuctionsItemDisplayTemplate");
tableBuilder:AddFixedWidthColumn(owner, PRICE_DISPLAY_PADDING, PRICE_DISPLAY_WIDTH, 10, 0, Enum.AuctionHouseSortOrder.Bid, "AuctionHouseTableCellAllAuctionsBidTemplate");
tableBuilder:AddFixedWidthColumn(owner, BUYOUT_DISPLAY_PADDING, PRICE_DISPLAY_WIDTH, 10, 0, Enum.AuctionHouseSortOrder.Buyout, "AuctionHouseTableCellAllAuctionsBuyoutTemplate");
tableBuilder:AddFixedWidthColumn(owner, 0, 100, 0, 10, nil, "AuctionHouseTableCellTimeLeftBandTemplate");
tableBuilder:AddFixedWidthColumn(owner, 0, 115, 0, 10, nil, "AuctionHouseTableCellTimeLeftBandTemplate");
end
return LayoutBidsListTableBuilder;
......@@ -881,7 +881,7 @@ function AuctionHouseTableBuilder.GetCommoditiesAuctionsListLayout(owner, itemLi
return LayoutCommoditiesAuctionsListTableBuilder;
end
function AuctionHouseTableBuilder.GetBrowseListLayout(owner, itemList, extraInfoColumnText)
function AuctionHouseTableBuilder.GetBrowseListLayout(owner, itemList, extraInfoColumnText, sortable)
local function LayoutBrowseListTableBuilder(tableBuilder)
tableBuilder:SetColumnHeaderOverlap(2);
tableBuilder:SetHeaderContainer(itemList:GetHeaderContainer());
......@@ -894,8 +894,12 @@ function AuctionHouseTableBuilder.GetBrowseListLayout(owner, itemList, extraInfo
nameColumn:GetHeaderFrame():SetText(AUCTION_HOUSE_BROWSE_HEADER_NAME);
if extraInfoColumnText then
local extraInfoColumn = tableBuilder:AddFixedWidthColumn(owner, 0, 55, STANDARD_PADDING, 0, Enum.AuctionHouseSortOrder.Level, "AuctionHouseTableCellLevelTemplate");
extraInfoColumn:GetHeaderFrame():SetText(extraInfoColumnText);
if sortable then
local extraInfoColumn = tableBuilder:AddFixedWidthColumn(owner, 0, 55, STANDARD_PADDING, 0, Enum.AuctionHouseSortOrder.Level, "AuctionHouseTableCellLevelTemplate");
extraInfoColumn:GetHeaderFrame():SetText(extraInfoColumnText);
else
tableBuilder:AddUnsortableFixedWidthColumn(owner, 0, 55, STANDARD_PADDING, 0, extraInfoColumnText, "AuctionHouseTableCellLevelTemplate");
end
end
local quantityHeaderText = AuctionHouseUtil.GetHeaderNameFromSortOrder(Enum.AuctionHouseSortOrder.Quantity);
......@@ -945,7 +949,7 @@ function AuctionHouseTableBuilder.GetItemBuyListLayout(owner, itemList)
tableBuilder:AddFillColumn(owner, 0, 1.0, STANDARD_PADDING, 0, nil, "AuctionHouseTableCellItemQuantityLeftTemplate");
tableBuilder:AddFixedWidthColumn(owner, 0, 24, 0, 0, nil, "AuctionHouseTableCellExtraInfoTemplate");
tableBuilder:AddFixedWidthColumn(owner, 0, 100, STANDARD_PADDING, STANDARD_PADDING, nil, "AuctionHouseTableCellTimeLeftBandTemplate");
tableBuilder:AddFixedWidthColumn(owner, 0, 115, STANDARD_PADDING, STANDARD_PADDING, nil, "AuctionHouseTableCellTimeLeftBandTemplate");
end
return LayoutItemBuyListTableBuilder;
......
......@@ -340,6 +340,12 @@ function WardrobeTransmogFrame_UpdateWeaponModel(slot)
local existingAppearanceSourceID, existingIllustionSourceID = actor:GetSlotTransmogSources(slotID);
if ( existingAppearanceSourceID ~= appearanceSourceID or existingIllustionSourceID ~= illusionSourceID ) then
if slot and ( WardrobeTransmogFrame.ModelScene.creatureDisplayID == nil ) then
-- don't specify a slot when applying or removing ranged weapons because of bows
local categoryID = C_TransmogCollection.GetAppearanceSourceInfo(appearanceSourceID);
local existingCategoryID = C_TransmogCollection.GetAppearanceSourceInfo(existingAppearanceSourceID);
if ( WardrobeUtils_IsCategoryRanged(categoryID) or WardrobeUtils_IsCategoryRanged(existingCategoryID) ) then
slot = nil;
end
actor:TryOn(appearanceSourceID, slot, illusionSourceID);
end
end
......
......@@ -66,6 +66,8 @@ function ItemInteractionMixin:OnEvent(event, ...)
if self.castLineID and self.castLineID == lineID then
C_ItemInteraction.ClearPendingItem();
end
elseif event == "ITEM_INTERACTION_CLOSE" then
HideUIPanel(self);
end
end
......
......@@ -496,6 +496,9 @@ function OrderHallTalentFrameMixin:RefreshAllData()
self:ClearResearchingTalentID();
end
local isAvailable = talent.talentAvailability == LE_GARRISON_TALENT_AVAILABILITY_AVAILABLE;
local isZeroRank = talent.talentRank == 0;
local borderAtlas = BORDER_ATLAS_NONE;
if (talent.isBeingResearched) then
borderAtlas = BORDER_ATLAS_SELECTED;
......@@ -504,8 +507,6 @@ function OrderHallTalentFrameMixin:RefreshAllData()
elseif (talentTreeType == Enum.GarrTalentTreeType.Classic and talent.researched) then
borderAtlas = BORDER_ATLAS_SELECTED;
else
local isAvailable = talent.talentAvailability == LE_GARRISON_TALENT_AVAILABILITY_AVAILABLE;
-- We check for LE_GARRISON_TALENT_AVAILABILITY_UNAVAILABLE_ALREADY_HAVE to avoid a bug with
-- the Chromie UI (talents would flash grey when you switched to another talent in the same row).
local canDisplayAsAvailable = talent.talentAvailability == LE_GARRISON_TALENT_AVAILABILITY_UNAVAILABLE_ANOTHER_IS_RESEARCHING or talent.talentAvailability == LE_GARRISON_TALENT_AVAILABILITY_UNAVAILABLE_ALREADY_HAVE;
......@@ -523,7 +524,7 @@ function OrderHallTalentFrameMixin:RefreshAllData()
-- Show as unavailable: You have not unlocked this tier yet or you have unlocked it but another research is already in progress.
else
borderAtlas = BORDER_ATLAS_UNAVAILABLE;
talentFrame.Icon:SetDesaturated(true);
talentFrame.Icon:SetDesaturated(isZeroRank);
end
end
talentFrame:SetBorder(borderAtlas);
......@@ -534,8 +535,7 @@ function OrderHallTalentFrameMixin:RefreshAllData()
local talentRankFrame = self.talentRankPool:Acquire();
talentRankFrame:SetPoint("BOTTOMRIGHT", talentFrame, 15, -12);
talentRankFrame:SetFrameLevel(10);
local isDisabled = (borderAtlas == BORDER_ATLAS_UNAVAILABLE);
talentRankFrame:SetValues(talent.talentRank, talent.talentMaxRank, isDisabled);
talentRankFrame:SetValues(talent.talentRank, talent.talentMaxRank, isZeroRank, isAvailable);
talentRankFrame:Show();
end
......
......@@ -371,13 +371,13 @@ end
TalentRankDisplayMixin = { };
function TalentRankDisplayMixin:SetValues(currentRank, maxRank, isDisabled)
function TalentRankDisplayMixin:SetValues(currentRank, maxRank, isDisabled, isAvailable)
self.Text:SetFormattedText(GENERIC_FRACTION_STRING, currentRank, maxRank);
local atlas, textColor;
if isDisabled then
atlas = "orderhalltalents-rankborder";
textColor = DISABLED_FONT_COLOR;
elseif currentRank < maxRank then
elseif isAvailable and currentRank < maxRank then
atlas = "orderhalltalents-rankborder-green";
textColor = GREEN_FONT_COLOR;
else
......
......@@ -49,7 +49,7 @@ function GenerateBuildString(buildNumber)
end
function CharacterSelectLockedButtonMixin:OnEnter()
local requiresPurchase = IsExpansionTrialCharacter(self.guid) and CanUpgradeExpansion() or not C_CharacterServices.HasRequiredBoostForUnrevoke();
local requiresPurchase = (self.characterSelectButton.isLockedByExpansion or IsExpansionTrialCharacter(self.guid)) and CanUpgradeExpansion() or not C_CharacterServices.HasRequiredBoostForUnrevoke();
local tooltipFooter;
if requiresPurchase then
......@@ -71,7 +71,7 @@ function CharacterSelectLockedButtonMixin:OnLeave()
end
function CharacterSelectLockedButtonMixin:OnClick()
if IsExpansionTrialCharacter(self.guid) and CanUpgradeExpansion() then
if (self.characterSelectButton.isLockedByExpansion or IsExpansionTrialCharacter(self.guid)) and CanUpgradeExpansion() then
ToggleStoreUI();
StoreFrame_SetGamesCategory();
return;
......@@ -655,7 +655,7 @@ function CharacterSelect_SetupPadlockForCharacterButton(button, guid)
padlock.guid = guid;
local isTrialBoost, isTrialBoostLocked, revokedCharacterUpgrade, _, _, _, isExpansionTrialCharacter = select(22, GetCharacterInfoByGUID(guid));
local isTrialBoost, isTrialBoostLocked, revokedCharacterUpgrade, _, _, _, isExpansionTrialCharacter, _, lockedByExpansion = select(22, GetCharacterInfoByGUID(guid));
if isExpansionTrialCharacter then
if IsExpansionTrial() or CanUpgradeExpansion() then
-- Player has to upgrade to unlock this character
......@@ -672,7 +672,10 @@ function CharacterSelect_SetupPadlockForCharacterButton(button, guid)
elseif revokedCharacterUpgrade then
padlock.tooltipTitle = CHARACTER_SELECT_REVOKED_BOOST_TOKEN_LOCKED_TOOLTIP_TITLE;
padlock.tooltipText = CHARACTER_SELECT_REVOKED_BOOST_TOKEN_LOCKED_TOOLTIP_TEXT;
else
elseif lockedByExpansion then
padlock.tooltipTitle = CHARACTER_SELECT_INFO_EXPANSION_TRIAL_BOOST_LOCKED_TOOLTIP_TITLE;
padlock.tooltipText = CHARACTER_SELECT_INFO_EXPANSION_TRIAL_BOOST_BUY_EXPANSION;
else
GMError("Invalid lock type");
end
......@@ -775,7 +778,7 @@ function UpdateCharacterList(skipSelect)
for i=1, characterLimit, 1 do
local characterIndex = i + CHARACTER_LIST_OFFSET;
local name, race, _, class, classFileName, classID, level, zone, sex, ghost, PCC, PRC, PFC, PRCDisabled, guid, _, _, _, boostInProgress, _, locked, isTrialBoost, isTrialBoostLocked, revokedCharacterUpgrade, _, lastLoginBuild, _, isExpansionTrialCharacter, faction = GetCharacterInfo(GetCharIDFromIndex(characterIndex));
local name, race, _, class, classFileName, classID, level, zone, sex, ghost, PCC, PRC, PFC, PRCDisabled, guid, _, _, _, boostInProgress, _, locked, isTrialBoost, isTrialBoostLocked, revokedCharacterUpgrade, _, lastLoginBuild, _, isExpansionTrialCharacter, faction, lockedByExpansion = GetCharacterInfo(GetCharIDFromIndex(characterIndex));
local productID, vasServiceState, vasServiceErrors, productInfo;
if (guid) then
productID, vasServiceState, vasServiceErrors = C_StoreGlue.GetVASPurchaseStateInfo(guid);
......@@ -786,6 +789,7 @@ function UpdateCharacterList(skipSelect)
local button = _G["CharSelectCharacterButton"..i];
button.isVeteranLocked = false;
button.isLockedByExpansion = lockedByExpansion;
if (button.padlock) then
CharacterSelect.characterPadlockPool:Release(button.padlock);
......@@ -900,9 +904,13 @@ function UpdateCharacterList(skipSelect)
infoText:SetFormattedText(CHARACTER_SELECT_INFO, level, coloredClassName);
end
locationText:SetText(zone);
if lockedByExpansion then
locationText:SetText(CHARACTER_SELECT_INFO_EXPANSION_TRIAL_BOOST_BUY_EXPANSION);
else
locationText:SetText(zone);
end
if revokedCharacterUpgrade then
if lockedByExpansion or revokedCharacterUpgrade then
CharacterSelect_SetupPadlockForCharacterButton(button, guid);
end
end
......
......@@ -574,7 +574,13 @@ function OrbitCameraMixin:UpdateCameraOrientationAndPosition()
local width = self:GetOwningScene():GetWidth();
local height = self:GetOwningScene():GetHeight();
local scaleFactor = math.sqrt(width * width + height * height);
local zoomFactor = zoomDistance - (1 / (zoomDistance * zoomDistance * zoomDistance));
local zoomFactor = 1;
if zoomDistance > 1 then
zoomFactor = zoomDistance - (1 / (zoomDistance * zoomDistance * zoomDistance));
if zoomFactor < 1 then
zoomFactor = 1;
end
end
local rightX, rightY, rightZ = Vector3D_ScaleBy((self.panningXOffset / scaleFactor) * zoomFactor, self:GetRightVector());
local upX, upY, upZ = Vector3D_ScaleBy((self.panningYOffset / scaleFactor) * zoomFactor, self:GetUpVector());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment