mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-21 22:13:07 +01:00
Refactor shop item handling with switch statement
This commit is contained in:
@@ -1669,32 +1669,38 @@ static bool GuestDecideAndBuyItem(Guest& guest, Ride& ride, const ShopItem shopI
|
||||
guest.GiveItem(shopItem);
|
||||
const auto hasRandomShopColour = ride.hasLifecycleFlag(RIDE_LIFECYCLE_RANDOM_SHOP_COLOURS);
|
||||
|
||||
if (shopItem == ShopItem::tShirt)
|
||||
guest.TshirtColour = hasRandomShopColour ? ScenarioRandMax(kColourNumNormal) : ride.trackColours[0].main;
|
||||
|
||||
if (shopItem == ShopItem::hat)
|
||||
guest.HatColour = hasRandomShopColour ? ScenarioRandMax(kColourNumNormal) : ride.trackColours[0].main;
|
||||
|
||||
if (shopItem == ShopItem::balloon)
|
||||
guest.BalloonColour = hasRandomShopColour ? ScenarioRandMax(kColourNumNormal) : ride.trackColours[0].main;
|
||||
|
||||
if (shopItem == ShopItem::umbrella)
|
||||
guest.UmbrellaColour = hasRandomShopColour ? ScenarioRandMax(kColourNumNormal) : ride.trackColours[0].main;
|
||||
|
||||
if (shopItem == ShopItem::map)
|
||||
guest.ResetPathfindGoal();
|
||||
|
||||
if (shopItem == ShopItem::photo)
|
||||
guest.Photo1RideRef = ride.id;
|
||||
|
||||
if (shopItem == ShopItem::photo2)
|
||||
guest.Photo2RideRef = ride.id;
|
||||
|
||||
if (shopItem == ShopItem::photo3)
|
||||
guest.Photo3RideRef = ride.id;
|
||||
|
||||
if (shopItem == ShopItem::photo4)
|
||||
guest.Photo4RideRef = ride.id;
|
||||
switch (shopItem)
|
||||
{
|
||||
case ShopItem::tShirt:
|
||||
guest.TshirtColour = hasRandomShopColour ? ScenarioRandMax(kColourNumNormal) : ride.trackColours[0].main;
|
||||
break;
|
||||
case ShopItem::hat:
|
||||
guest.HatColour = hasRandomShopColour ? ScenarioRandMax(kColourNumNormal) : ride.trackColours[0].main;
|
||||
break;
|
||||
case ShopItem::balloon:
|
||||
guest.BalloonColour = hasRandomShopColour ? ScenarioRandMax(kColourNumNormal) : ride.trackColours[0].main;
|
||||
break;
|
||||
case ShopItem::umbrella:
|
||||
guest.UmbrellaColour = hasRandomShopColour ? ScenarioRandMax(kColourNumNormal) : ride.trackColours[0].main;
|
||||
break;
|
||||
case ShopItem::map:
|
||||
guest.ResetPathfindGoal();
|
||||
break;
|
||||
case ShopItem::photo:
|
||||
guest.Photo1RideRef = ride.id;
|
||||
break;
|
||||
case ShopItem::photo2:
|
||||
guest.Photo2RideRef = ride.id;
|
||||
break;
|
||||
case ShopItem::photo3:
|
||||
guest.Photo3RideRef = ride.id;
|
||||
break;
|
||||
case ShopItem::photo4:
|
||||
guest.Photo4RideRef = ride.id;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
guest.WindowInvalidateFlags |= PEEP_INVALIDATE_PEEP_INVENTORY;
|
||||
guest.UpdateAnimationGroup();
|
||||
|
||||
Reference in New Issue
Block a user