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,16 +32,15 @@ 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
{ {
if (item.Quality < MaxQuality) if (item.Quality < MaxQuality)
@ -69,10 +68,7 @@ public class GildedRose
} }
} }
if (!IsLegendaryItem(item))
{
item.SellIn = item.SellIn - 1; item.SellIn = item.SellIn - 1;
}
if (item.SellIn < 0) if (item.SellIn < 0)
{ {
@ -81,13 +77,10 @@ public class GildedRose
if (!IsBackstagePassesItem(item)) if (!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
{ {
item.Quality = item.Quality - item.Quality; item.Quality = item.Quality - item.Quality;