using Microsoft.EntityFrameworkCore;

namespace SVSim.Database.Models;

/// <summary>
/// One sub-option inside a pack (single-open / 10-open / ticket / daily-free).
/// Wire shape: one entry of <c>child_gacha_info</c> in /pack/info. Owned by PackConfigEntry.
/// <c>TypeDetail</c> corresponds to <c>GachaUI.CardPackType</c>:
/// 1=CRYSTAL, 2=CRYSTAL_MULTI, 3=DAILY, 4=TICKET, 5=TICKET_MULTI, 6=RUPY, 7=RUPY_MULTI,
/// 8=CRYSTAL_SPECIAL, 9=CRYSTAL_SELECT_SKIN, 10=FREE_PACKS, 11=FREE_PACK_WITH_SKIN,
/// 12=ROTATION_STARTER_PACK, 13=CRYSTAL_ACQUIRE_SKIN_CARD_PACK.
/// </summary>
[Owned]
public class PackChildGachaEntry
{
    public int GachaId { get; set; }
    public int TypeDetail { get; set; }
    public int Cost { get; set; }
    public int CardCount { get; set; }
    public long? ItemId { get; set; }
    public bool IsDailySingle { get; set; }
    public int OverrideIncreaseGachaPoint { get; set; }
    public int PurchaseLimitCount { get; set; }
    public int? FreeGachaCampaignId { get; set; }
    public string? CampaignName { get; set; }
}
