56 lines
1.6 KiB
C#
56 lines
1.6 KiB
C#
namespace PrizeSystem
|
|
{
|
|
public static class PrizeUtils
|
|
{
|
|
public static string PrizeTypeToString(PrizeType prizeType)
|
|
{
|
|
return prizeType switch
|
|
{
|
|
PrizeType.None => "Без приза",
|
|
PrizeType.Hopper => "Хоппер",
|
|
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(string prizeText) => new QrPrize(prizeText);
|
|
|
|
|
|
|
|
public static PrizeType CountableToGeneral(CountablePrizeType countableType)
|
|
{
|
|
return countableType switch
|
|
{
|
|
CountablePrizeType.Hopper => PrizeType.Hopper,
|
|
CountablePrizeType.Ticket => PrizeType.Ticket,
|
|
CountablePrizeType.Marbles => PrizeType.Marbles,
|
|
_ => PrizeType.None
|
|
};
|
|
}
|
|
}
|
|
|
|
public enum PrizeType
|
|
{
|
|
None,
|
|
Hopper,
|
|
Ticket,
|
|
Marbles,
|
|
VitrinaBox,
|
|
Qr
|
|
}
|
|
|
|
public enum CountablePrizeType
|
|
{
|
|
Hopper,
|
|
Hopper2,
|
|
Ticket,
|
|
Marbles,
|
|
}
|
|
}
|