package net.swordie.ms.enums;

import java.util.Arrays;

/**
 * Created on 5/31/2018.
 */
public enum UIType {
    ITEM(0),
    EQUIP(1),
    STAT(2),
    SKILL(3),
    MINIMAP(4),
    KEYCONFIG(5),
    QUESTINFO(6),
    USERLIST(7),
    MESSENGER(8),
    MONSTERBOOK(9),
    USERINFO(10),
    SHORTCUT(11),
    MENU(12),
    QUESTALARM(13),
    PARTYHP(14),
    QUESTTIMER(15),
    QUESTTIMERACTION(16),
    MONSTERCARNIVAL(17),
    ITEMSEARCH(18),
    ENERGYBAR(19),
    GUILDBOARD(20),
    PARTYSEARCH(21),
    ITEMMAKE(22),
    CONSULT(23),
    CLASSCOMPETITION(24),
    RANKING(25),
    FAMILY(26),
    FAMILYCHART(27),
    OPERATORBOARD(28),
    OPERATORBOARDSTATE(29),
    MEDALQUESTINFO(30),
    WEBEVENT(31),
    SKILLEX(32),
    REPAIRDURABILITY(33),
    CHATWND(34),
    BATTLERECORD(35),
    GUILDMAKEMARK(36),
    GUILDMAKE(37),
    GUILDRANK(38),
    CREATE_PREMIUMADVENTURER(39),
    WORLDMAP(40),
    WORLDMAPALARM(41),
    MAKING_SKILL(42),
    BAG1(43),
    BAG2(44),
    BAG3(45),
    BAG4(46),
    PVPMODERESULT(47),
    PVPPARTYHP(48),
    PVPRANKING(49),
    PVPLAUNCHER(50),
    ITEMPOT(51),
    EVENT2(52),
    EVENT_WATERMELON(53),
    EVENT_BINGSU(54),
    EVENTLIST(55),
    EVENT_MONKEY(56),
    EVENT_PIRATE(57),
    EXP_PLUS_EVENT(58),
    EVENT_FRUIT(59),
    EVENT_ECO(60),
    EVENT_BASE(61),
    FIELDITEM(62),
    FIELDITEMINVENTORY(63),
    BAG5(64),
    STEALMAN(65),
    STEALLIST(66),
    LEVELUPGUIDE(67),
    ASWANSTATE(68),
    ASWANRESULT(69),
    ASWANSTART(70),
    ASWANSIEGEGAUGE(71),
    DOJANGRESULT(72),
    CROSSHUNTER(73),
    DEATHCOUNT(74),
    CASHITEMALARM(75),
    BOARDGAME(76),
    PVPLAUNCHERHARDCORE(77),
    PVPHARDCORERESULT(78),
    PVPHARDCOREFIELDINFO(79),
    BINGO(80),
    LARKNESS(81),
    MESORANGER(82),
    KAISERTRANSFORM(83),
    HYPERSKILL(84),
    DRESSROOM(85),
    BAG6(86),
    ENTRY(87),
    LARKNESSHELP(88),
    KAISERTRANSFORMHELP(89),
    SOULRECHARGE(90),
    AGGRORANK(91),
    SOULRECHARGE_HELP(92),
    COLLECTEVENT_MUSEUM(93),
    DEATHCOUNTINFO(94),
    EVENTNOTICE(95),
    DAMAGERANK(96),
    SUMMONEVENT_REWARD(97),
    MYSTIC_FIELD(98),
    MAPLESCHOOL(99),
    EVOLVING_SYSTEM(100),
    INS_BAG1(101),
    INS_BAG2(102),
    YUTGAME(103),
    JEWELCRAFT(104),
    YUT_ACHIEVEMENT(105),
    VALUEPACK(106),
    HALLOWEENCANDY_RANKING(107),
    GETREWARD(108),
    MAPLESTYLE(109),
    INDIAN_ACHIEVEMENT(110),
    WAITQUEUE(111),
    ACTION_ACHIEVEMENT(112),
    CLOCK_GAUGE(113),
    ATTENDANCE_CHECK(114),
    SURPLUS(115),
    MENTORING(116),
    COLLECTEVENT_LOTTERY(117),
    ACHIEVEMENT_WINTER2012(118),
    ROULETTE(119),
    COLLECTEVENT_LOTTERY_RESULT(120),
    UNIFIED_ACHIEVEMENTS(121),
    COOK_TANGYOON(122),
    COOK_MINIGAME(123),
    OVERLOAD_NOTICE(124),
    VIRTUALINVEN_BITSINVEN(125),
    VIRTUALINVEN_BITSCASE(126),
    BINGO_CASSANDRA(127),
    GOFARM(128),
    MULTI_YUT_GAME(129),
    FARM_CHAT(130),
    FARM_MON_INFO(131),
    FARM_RECOMMEND(132),
    FARM_ENTER_INGAME(133),
    FARM_GROUP_CHAT(134),
    FARM_LOCKER(135),
    COLLECTEVENT_MUSEUMS2(136),
    LETTER(137),
    MEMO_IN_GAME(138),
    AVATAR_MEGAPHON(139),
    EGO_EQUIP(140),
    INHERITANCE(141),
    RHYTHM_START(142),
    RHYTHM_GAME(143),
    SOUL_MP_COUNT(144),
    SCENARIOINFO(145),
    SCENARIOSTART(146),
    ZERO_CASH_EQUIP(147),
    ZERO_SUB_GAUGE(148),
    CASHSHOP_PROMOTION_BANNER(149),
    ENCHANT(150),
    SCENARIOILLUCHAT(151),
    MIRROR_DUNGEON(152),
    RHYTHM_EXIT(153),
    TENTH_ANNIVERSARY_LIVE(154),
    LINKSKILL(155),
    INTRUSION(156),
    STUDY_MAKINGSKILL(157),
    EVENT_NAME_TAG(158),
    MIRROR_READING(159),
    JOURNAL(160),
    AUCTION(161),
    SKILLFORZERO(162),
    MIRROR_DUNGEON_MINI(163),
    JOB_FREE_CHANGE(164),
    AUCTION_MANAGE(165),
    SCENARIOSTART_TOOLTIP(166),
    AUCTION_TOP_MESSAGE(167),
    TIME_GATE(168),
    LOCKEDSKILL_FORZERO(169),
    INVASION_SUPPORT(170),
    INVASION_SUPPORT_SUMMERY(171),
    INVASION_SUPPORT_ICON(172),
    MESOMARKET(173),
    UNIVERSERANKING(174),
    MONSTERBATTLECOLLECTION(175),
    LIMITGOODS_NOTICE(176),
    INVASION_SUPPORT_SETTING(177),
    HEKATON_MINIMAP(178),
    DIMENSION_LIBRARY(179),
    BOSSARENA_MATCH(180),
    BOSSARENA_SELECT(181),
    SOUL_COLLECTION(182),
    WORLD_TRANSFER(183),
    SOUL_WAITING_LINSE(184),
    PARTY_QUEST_RANKING(185),
    SOUL_DUNGEON(186),
    SOUL_DUNGEON_MINI_MAP(187),
    ITEMREPLACE(188),
    SAILING(189),
    VESSEL(190),
    EPISODEBOOK(191),
    ATTENDANCE_GHOST_EVENT(192),
    ATTENDANCE_MUSTACHE_EVENT(193),
    GHOSTPAINTS_EVENT(194),
    CONTENTS_SHORTCUT(195),
    EVENTGROUP_WAITQUEUE(196),
    COORDINATIONCONTEST(197),
    GUILDCONTENT_RANK(198),
    HUNDREDBINGO(199),
    HUNDREDBINGO_RANK(200),
    EQUIPMENT_ENCHANT(201),
    GROWTH_HELPER(202),
    GUILDMINI(203),
    INNERABILITY(204),
    AFREECATV(205),
    MANNEQUIN(206),
    TOWERRESULT(207),
    TOWERRANK(208),
    AFREECTV_ONAIR(209),
    BUTTERFLY_EVENT(210),
    HONEY_POINT(211),
    EVENT_RANKING(212),
    JOURNAL_EVENT(213),
    USERLIST_DEBUG(214),
    HYPER_UPGRADE_RECIPE_DECOMPOSER(215),
    PARTY_INVITATION(216),
    SMARTPHONE(217),
    SPINOFF_CHAPTER(218),
    MAPLEFRIENDS_DUNGEONRESULT(219),
    GROWTH_HELPER_DETAIL(220),
    STARPLANET_MINIGAME_RESULT(221),
    STARPLANET_MATCHING(222),
    STARPLANET_INVITATION_WAITING(223),
    STAR_USERLIST(224),
    SELECT_RACE(225),
    THEMEWORLD_HUNDREDBINGO(226),
    THEMEWORLD_HUNDREDBINGO_RANK(227),
    THEMEWORLD_HUNDREDRPS(228),
    WORLD_TRANSFER_FOR_SHININGSTAR(229),
    STARPLANET_BENEFIT_LIST(230),
    STARPLANET_NOTICE_GRADE_UP(231),
    STARPLANET_NOTICE_GRADE_DOWN(232),
    STARPLANET_NOTICE_SHININGSTAR(233),
    STARPLANET_MY_INFO(234),
    STARPLANET_TRENDSHOP(235),
    STARPLANET_RANKING(236),
    STARPLANET_RANKING_STARRANK(237),
    STARPLANET_CHANNEL_SELECT(238),
    STARPLANET_SKILL(239),
    STARPLANET_MINIGAME_QUEUE(240),
    STARPLANET_MISSION_RPS(241),
    STARPLANET_MINIGAME_CONFIG(242),
    DIRECTION_INPUT(243),
    BLOCKBUSTER_BLACK_HEAVEN(244),
    TALKTAG(245),
    TALKADD(246),
    TALKINVITE(248),
    THEMEWORLD_GROUPDANCE(249),
    JAGUAR_MANAGEMENT(250),
    MAZE_MAP(251),
    BATTLEPVP_CHAMPSELECT(252),
    BATTLEPVP_PLAYSCORE(253),
    BATTLEPVP_RESULT(254),
    BATTLEPVP_CHAMPSTAT(255),
    BATTLEPVP_STATCOREBAR(256),
    BATTLEPVP_SKILLBAR(257),
    CONTENTS_STAMP_BOOK(258),
    THEMEWORLD_HUNDREDBINGO_SELECT(259),
    STARPLANET_STATICSTIC(260),
    TEMPORARY_SKILLBAR(261),
    SPINOFF_GUITAR_RHYTHMGAME(262),
    PLANT_POT(263),
    RANDOM_MISSION(264),
    MONSTERSTORY(265),
    TRESURE_SELECT(266),
    CONTENTSMAP(267),
    AWESOMIUM_WND(268),
    TRESURE_RESULT(269),
    ITEMCOLLECITON_12TH_EVENT(270),
    ITEMCOLLECITON_FAQ(271),
    SECRET_DIARY(272),
    PIGGYBAR_GAUGE(273),
    BINGSOO_POT(274),
    BINGSOO_POT_MINI(275),
    NEWBATTLERECORD(276),
    NEWBATTLERECORDMINI(277),
    TOADSHAMMER(278),
    BAG_CON1(279),
    BAG_CON2(280),
    BAG_CON3(281),
    BAG_CON4(282),
    LOGIN_BANNER(283),
    DOJANGRANKING(284),
    BAG7(285),
    GHOSTPARK_ENTER(286),
    GHOSTPARK_EXP(287),
    URUS_ENTER_THE_MAP(288),
    URUS_SKILL_LIST(289),
    URUS_FIELD_SCORE(290),
    URUS_USER_SCORE(291),
    URUS_RESULT(292),
    URUS_SHOP(293),
    URUS_SHOP_SUB(294),
    URUS_ENTER_THE_MAP_PARTY(295),
    URUS_USER_LIST(296),
    JAGUAR_ACTION_BAR(297),
    RUNNERMINIGAME(298),
    MINIGAME_PINBALL_EXIT(299),
    SKILL_RP_KR(300),
    EGG_HATCH(543),
    DAYILYGIFT(1100),
    HOM_EVENT(1101),
    TOWER_CHAIR(1102),
    BLOCKBUSTER_SELECT_UI(1103),
    BLOCKBUSTER_HofM(1104),
    MONSTERCOLLECTION_NEW(1105),
    BAITBAG(1106),
    RW_CYLINDER(1107),
    TRADEKING_SHOP(1108),
    TRADEKING_INVEN(1109),
    NAMECHANGE(1110),
    SLIDE_PUZZLE(1111),
    PLATFORM_STAGE_SELECT(1112),
    PLATFORM_STAGE_LEAVE(1113),
    PLATFORM_STAGE_OXYZEN(1114),
    DEMIAN_FIELD_DEBUFF(1115),
    DISGUISE(1116),
    WND_NO(1117),
    V_MATRIX(1130),
    V_NODES(1131),
    V_TRACKER(1133),
    WORLD_TRANSFER_2(1134),
    CHU_CHU_FOOD_TRUCK(1135),
    CHU_CHU_FOOD_TRUCK_ANOTHER_PART(1136),
    CHU_CHU_SHOP(1137),
    CHU_CHU_SHOP_WITH_OWN_INV(1138),
    CHU_CHU_LEAVE(1139),
    STAR_LIGHT_FESTIVAL(1141),
    STAR_EVENT_TIMER(1141),
    DREAM_DEFENDER_TACTICS_BOARD(1145),
    DREAM_DEFENDER_RANKING(1146),
    DREAM_DEFENDER_LEAVE(1147),
    UNION_BOARD(1148),
    UNION_RANKING(1149),
    LEGENDS_RANKING(1150),
    EVENT_PLAY_TIMER(1152),
    STARS_IDK(1156),
    PLANET_SOMETHING(1157),
    NOVA_STEP_UP(1160),
    NEWS(1161),
    ERROR(1162),
    ACHIEVEMENT(1163),
    LABRYNTH_OF_SUFFERING(1195),
    ALLIANCE_SKILL(1200),
    VERUS_HILLA(1201),
    ERDA_GAUGE(1203),
    ADVENTURE_EXP_POUCH(1207),
    BRAWLLOSEUM(1214),

    UI_NOT_DEFINED(-1),
    ;
    
    private int val;
    
    UIType(int val) {
        this.val =  val;
    }

    public int getVal() {
        return val;
    }

    public static UIType getByVal(int val) {
        return Arrays.stream(values()).filter(uit -> uit.getVal() == val).findAny().orElse(null);
    }
}
