namespace PrizeSystem { public static class PrizeUtils { public static string PrizeTypeToString(PrizeType prizeType) { return prizeType switch { PrizeType.None => "Без приза", PrizeType.Hopper => "Хоппер 1", PrizeType.Hopper2 => "Хоппер 2", PrizeType.Ticket => "Билет", PrizeType.Qr => "QR/Суперприз", PrizeType.Marbles => "Марблс", PrizeType.VitrinaBox => "Витрина", _ => "Без приза" }; } public static Prize CreatePrize() => new EmptyPrize(); public static Prize CreatePrize(CountablePrizeType prizeType, int Amount) => new CountablePrize(prizeType, Amount); public static Prize CreatePrize(int[] boxes) => new VitrinaPrize(boxes); public static Prize CreatePrize(int rank, string prizeText) => new QrPrize(rank, prizeText); public static PrizeType CountableToGeneral(CountablePrizeType countableType) { return countableType switch { CountablePrizeType.Hopper => PrizeType.Hopper, CountablePrizeType.Hopper2 => PrizeType.Hopper2, CountablePrizeType.Ticket => PrizeType.Ticket, CountablePrizeType.Marbles => PrizeType.Marbles, _ => PrizeType.None }; } } public enum PrizeType { None, Hopper, Hopper2, Ticket, Marbles, VitrinaBox, Qr } public enum CountablePrizeType { Hopper, Hopper2, Ticket, Marbles, } }