use num_enum::{IntoPrimitive, TryFromPrimitive};

#[derive(Debug, PartialEq, Eq, Clone, Copy, TryFromPrimitive, IntoPrimitive)]
#[repr(u32)]
pub enum EOperator {
    Enter = 0,
    Log = 1,
    Leave = 2,
}

#[derive(Debug, PartialEq, Eq, Clone, Copy, TryFromPrimitive, IntoPrimitive)]
#[repr(u32)]
pub enum ClientSystemType {
    None = 4294967295,
    HollowQuest = 0,
    VHS = 1,
    Role = 2,
    Smithy = 3,
    Package = 4,
    Teleport = 5,
    Interknot = 6,
    VhsStore = 7,
    RamenStore = 8,
    Workbench = 9,
    Grocery = 10,
    ViedoShop = 11,
    StoryModeSwitch = 12,
    QteSwitch = 13,
    LineupSelect = 14,
    UseStoryMode = 15,
    UseManualQteMode = 16,
    Newsstand = 17,
    Toy = 18,
    Arcade = 19,
    TartarusHounds = 20,
    Gacha = 21,
    Cafe = 22,
    Trash = 23,
    BattleDaily = 24,
    Buddy = 25,
    BuddyInstall = 26,
    Activity = 27,
    Abyss = 28,
    AbyssHeat = 29,
    ArcadeRoom = 30,
    ArcadeGame = 31,
    Train = 32,
    AvatarBase = 33,
    AvatarEquip = 34,
    LandRevive = 35,
    DoubleElite = 36,
    BossSmall = 37,
    BossBig = 38,
    HIA = 39,
    MonsterCard = 40,
    DailyQuest = 41,
    Rally = 42,
    Hadal = 43,
    Photowall = 44,
    AbyssCollect = 45,
    AbyssShop01 = 46,
    HadalShop = 47,
    ActivityPv = 48,
    PhotoActivity = 49,
    OverlordFeastStore = 50,
    OverlordFeastSettlement = 51,
    SetTime = 52,
    ActivityBattleArpg = 53,
    ActivityBattleAct = 54,
    WeeklyBingo = 55,
    ThreeZ = 56,
    CollectionCabinet = 57,
    FoodTruck = 58,
    FlowerShop = 59,
}
