extracted LegendaryItems processing from if statements in DailyItemUpdate

LegendayItems don't change and therefore, can return immediately
This commit is contained in:
Sarah Ashri 2024-03-13 10:20:55 +10:00
parent dd66f563e9
commit 03032c91c2

View File

@ -32,14 +32,13 @@ public class GildedRose
private void DailyItemUpdate(Item item) private void DailyItemUpdate(Item item)
{ {
if (IsLegendaryItem(item)) return;
if (!IsBetterWithAgeItem(item) && !IsBackstagePassesItem(item)) if (!IsBetterWithAgeItem(item) && !IsBackstagePassesItem(item))
{ {
if (item.Quality > MinQuality) if (item.Quality > MinQuality)
{ {
if (!IsLegendaryItem(item)) item.Quality = item.Quality - 1;
{
item.Quality = item.Quality - 1;
}
} }
} }
else else
@ -69,11 +68,8 @@ public class GildedRose
} }
} }
if (!IsLegendaryItem(item)) item.SellIn = item.SellIn - 1;
{
item.SellIn = item.SellIn - 1;
}
if (item.SellIn < 0) if (item.SellIn < 0)
{ {
if (!IsBetterWithAgeItem(item)) if (!IsBetterWithAgeItem(item))
@ -82,10 +78,7 @@ public class GildedRose
{ {
if (item.Quality > MinQuality) if (item.Quality > MinQuality)
{ {
if (!IsLegendaryItem(item)) item.Quality = item.Quality - 1;
{
item.Quality = item.Quality - 1;
}
} }
} }
else else