mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-01-12 07:32:53 +08:00
206 lines
6.8 KiB
Java
206 lines
6.8 KiB
Java
package emu.grasscutter.game.props;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
import java.util.stream.Stream;
|
|
|
|
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
|
|
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
|
|
|
public enum OpenState {
|
|
OPEN_STATE_NONE(0),
|
|
OPEN_STATE_PAIMON(1),
|
|
OPEN_STATE_PAIMON_NAVIGATION(2),
|
|
OPEN_STATE_AVATAR_PROMOTE(3),
|
|
OPEN_STATE_AVATAR_TALENT(4),
|
|
OPEN_STATE_WEAPON_PROMOTE(5),
|
|
OPEN_STATE_WEAPON_AWAKEN(6),
|
|
OPEN_STATE_QUEST_REMIND(7),
|
|
OPEN_STATE_GAME_GUIDE(8),
|
|
OPEN_STATE_COOK(9),
|
|
OPEN_STATE_WEAPON_UPGRADE(10),
|
|
OPEN_STATE_RELIQUARY_UPGRADE(11),
|
|
OPEN_STATE_RELIQUARY_PROMOTE(12),
|
|
OPEN_STATE_WEAPON_PROMOTE_GUIDE(13),
|
|
OPEN_STATE_WEAPON_CHANGE_GUIDE(14),
|
|
OPEN_STATE_PLAYER_LVUP_GUIDE(15),
|
|
OPEN_STATE_FRESHMAN_GUIDE(16),
|
|
OPEN_STATE_SKIP_FRESHMAN_GUIDE(17),
|
|
OPEN_STATE_GUIDE_MOVE_CAMERA(18),
|
|
OPEN_STATE_GUIDE_SCALE_CAMERA(19),
|
|
OPEN_STATE_GUIDE_KEYBOARD(20),
|
|
OPEN_STATE_GUIDE_MOVE(21),
|
|
OPEN_STATE_GUIDE_JUMP(22),
|
|
OPEN_STATE_GUIDE_SPRINT(23),
|
|
OPEN_STATE_GUIDE_MAP(24),
|
|
OPEN_STATE_GUIDE_ATTACK(25),
|
|
OPEN_STATE_GUIDE_FLY(26),
|
|
OPEN_STATE_GUIDE_TALENT(27),
|
|
OPEN_STATE_GUIDE_RELIC(28),
|
|
OPEN_STATE_GUIDE_RELIC_PROM(29),
|
|
OPEN_STATE_COMBINE(30),
|
|
OPEN_STATE_GACHA(31),
|
|
OPEN_STATE_GUIDE_GACHA(32),
|
|
OPEN_STATE_GUIDE_TEAM(33),
|
|
OPEN_STATE_GUIDE_PROUD(34),
|
|
OPEN_STATE_GUIDE_AVATAR_PROMOTE(35),
|
|
OPEN_STATE_GUIDE_ADVENTURE_CARD(36),
|
|
OPEN_STATE_FORGE(37),
|
|
OPEN_STATE_GUIDE_BAG(38),
|
|
OPEN_STATE_EXPEDITION(39),
|
|
OPEN_STATE_GUIDE_ADVENTURE_DAILYTASK(40),
|
|
OPEN_STATE_GUIDE_ADVENTURE_DUNGEON(41),
|
|
OPEN_STATE_TOWER(42),
|
|
OPEN_STATE_WORLD_STAMINA(43),
|
|
OPEN_STATE_TOWER_FIRST_ENTER(44),
|
|
OPEN_STATE_RESIN(45),
|
|
OPEN_STATE_LIMIT_REGION_FRESHMEAT(47),
|
|
OPEN_STATE_LIMIT_REGION_GLOBAL(48),
|
|
OPEN_STATE_MULTIPLAYER(49),
|
|
OPEN_STATE_GUIDE_MOUSEPC(50),
|
|
OPEN_STATE_GUIDE_MULTIPLAYER(51),
|
|
OPEN_STATE_GUIDE_DUNGEONREWARD(52),
|
|
OPEN_STATE_GUIDE_BLOSSOM(53),
|
|
OPEN_STATE_AVATAR_FASHION(54),
|
|
OPEN_STATE_PHOTOGRAPH(55),
|
|
OPEN_STATE_GUIDE_KSLQUEST(56),
|
|
OPEN_STATE_PERSONAL_LINE(57),
|
|
OPEN_STATE_GUIDE_PERSONAL_LINE(58),
|
|
OPEN_STATE_GUIDE_APPEARANCE(59),
|
|
OPEN_STATE_GUIDE_PROCESS(60),
|
|
OPEN_STATE_GUIDE_PERSONAL_LINE_KEY(61),
|
|
OPEN_STATE_GUIDE_WIDGET(62),
|
|
OPEN_STATE_GUIDE_ACTIVITY_SKILL_ASTER(63),
|
|
OPEN_STATE_GUIDE_COLDCLIMATE(64),
|
|
OPEN_STATE_DERIVATIVE_MALL(65),
|
|
OPEN_STATE_GUIDE_EXITMULTIPLAYER(66),
|
|
OPEN_STATE_GUIDE_THEATREMACHANICUS_BUILD(67),
|
|
OPEN_STATE_GUIDE_THEATREMACHANICUS_REBUILD(68),
|
|
OPEN_STATE_GUIDE_THEATREMACHANICUS_CARD(69),
|
|
OPEN_STATE_GUIDE_THEATREMACHANICUS_MONSTER(70),
|
|
OPEN_STATE_GUIDE_THEATREMACHANICUS_MISSION_CHECK(71),
|
|
OPEN_STATE_GUIDE_THEATREMACHANICUS_BUILD_SELECT(72),
|
|
OPEN_STATE_GUIDE_THEATREMACHANICUS_CHALLENGE_START(73),
|
|
OPEN_STATE_GUIDE_CONVERT(74),
|
|
OPEN_STATE_GUIDE_THEATREMACHANICUS_MULTIPLAYER(75),
|
|
OPEN_STATE_GUIDE_COOP_TASK(76),
|
|
OPEN_STATE_GUIDE_HOMEWORLD_ADEPTIABODE(77),
|
|
OPEN_STATE_GUIDE_HOMEWORLD_DEPLOY(78),
|
|
OPEN_STATE_GUIDE_CHANNELLERSLAB_EQUIP(79),
|
|
OPEN_STATE_GUIDE_CHANNELLERSLAB_MP_SOLUTION(80),
|
|
OPEN_STATE_GUIDE_CHANNELLERSLAB_POWER(81),
|
|
OPEN_STATE_GUIDE_HIDEANDSEEK_SKILL(82),
|
|
OPEN_STATE_GUIDE_HOMEWORLD_MAPLIST(83),
|
|
OPEN_STATE_GUIDE_RELICRESOLVE(84),
|
|
OPEN_STATE_GUIDE_GGUIDE(85),
|
|
OPEN_STATE_GUIDE_GGUIDE_HINT(86),
|
|
OPEN_STATE_GUIDE_RIGHT_TEAM(90), // mobile phone only!
|
|
OPEN_STATE_CITY_REPUATION_MENGDE(800),
|
|
OPEN_STATE_CITY_REPUATION_LIYUE(801),
|
|
OPEN_STATE_CITY_REPUATION_UI_HINT(802),
|
|
OPEN_STATE_CITY_REPUATION_INAZUMA(803),
|
|
OPEN_STATE_SHOP_TYPE_MALL(900),
|
|
OPEN_STATE_SHOP_TYPE_RECOMMANDED(901),
|
|
OPEN_STATE_SHOP_TYPE_GENESISCRYSTAL(902),
|
|
OPEN_STATE_SHOP_TYPE_GIFTPACKAGE(903),
|
|
OPEN_STATE_SHOP_TYPE_PAIMON(1001),
|
|
OPEN_STATE_SHOP_TYPE_CITY(1002),
|
|
OPEN_STATE_SHOP_TYPE_BLACKSMITH(1003),
|
|
OPEN_STATE_SHOP_TYPE_GROCERY(1004),
|
|
OPEN_STATE_SHOP_TYPE_FOOD(1005),
|
|
OPEN_STATE_SHOP_TYPE_SEA_LAMP(1006),
|
|
OPEN_STATE_SHOP_TYPE_VIRTUAL_SHOP(1007),
|
|
OPEN_STATE_SHOP_TYPE_LIYUE_GROCERY(1008),
|
|
OPEN_STATE_SHOP_TYPE_LIYUE_SOUVENIR(1009),
|
|
OPEN_STATE_SHOP_TYPE_LIYUE_RESTAURANT(1010),
|
|
OPEN_STATE_SHOP_TYPE_INAZUMA_SOUVENIR(1011),
|
|
OPEN_STATE_SHOP_TYPE_NPC_TOMOKI(1012),
|
|
OPEN_ADVENTURE_MANUAL(1100),
|
|
OPEN_ADVENTURE_MANUAL_CITY_MENGDE(1101),
|
|
OPEN_ADVENTURE_MANUAL_CITY_LIYUE(1102),
|
|
OPEN_ADVENTURE_MANUAL_MONSTER(1103),
|
|
OPEN_ADVENTURE_MANUAL_BOSS_DUNGEON(1104),
|
|
OPEN_STATE_ACTIVITY_SEALAMP(1200),
|
|
OPEN_STATE_ACTIVITY_SEALAMP_TAB2(1201),
|
|
OPEN_STATE_ACTIVITY_SEALAMP_TAB3(1202),
|
|
OPEN_STATE_BATTLE_PASS(1300),
|
|
OPEN_STATE_BATTLE_PASS_ENTRY(1301),
|
|
OPEN_STATE_ACTIVITY_CRUCIBLE(1400),
|
|
OPEN_STATE_ACTIVITY_NEWBEEBOUNS_OPEN(1401),
|
|
OPEN_STATE_ACTIVITY_NEWBEEBOUNS_CLOSE(1402),
|
|
OPEN_STATE_ACTIVITY_ENTRY_OPEN(1403),
|
|
OPEN_STATE_MENGDE_INFUSEDCRYSTAL(1404),
|
|
OPEN_STATE_LIYUE_INFUSEDCRYSTAL(1405),
|
|
OPEN_STATE_SNOW_MOUNTAIN_ELDER_TREE(1406),
|
|
OPEN_STATE_MIRACLE_RING(1407),
|
|
OPEN_STATE_COOP_LINE(1408),
|
|
OPEN_STATE_INAZUMA_INFUSEDCRYSTAL(1409),
|
|
OPEN_STATE_FISH(1410),
|
|
OPEN_STATE_GUIDE_SUMO_TEAM_SKILL(1411),
|
|
OPEN_STATE_GUIDE_FISH_RECIPE(1412),
|
|
OPEN_STATE_HOME(1500),
|
|
OPEN_STATE_ACTIVITY_HOMEWORLD(1501),
|
|
OPEN_STATE_ADEPTIABODE(1502),
|
|
OPEN_STATE_HOME_AVATAR(1503),
|
|
OPEN_STATE_HOME_EDIT(1504),
|
|
OPEN_STATE_HOME_EDIT_TIPS(1505),
|
|
OPEN_STATE_RELIQUARY_DECOMPOSE(1600),
|
|
OPEN_STATE_ACTIVITY_H5(1700),
|
|
OPEN_STATE_ORAIONOKAMI(2000),
|
|
OPEN_STATE_GUIDE_CHESS_MISSION_CHECK(2001),
|
|
OPEN_STATE_GUIDE_CHESS_BUILD(2002),
|
|
OPEN_STATE_GUIDE_CHESS_WIND_TOWER_CIRCLE(2003),
|
|
OPEN_STATE_GUIDE_CHESS_CARD_SELECT(2004),
|
|
OPEN_STATE_INAZUMA_MAINQUEST_FINISHED(2005),
|
|
OPEN_STATE_PAIMON_LVINFO(2100),
|
|
OPEN_STATE_TELEPORT_HUD(2101),
|
|
OPEN_STATE_GUIDE_MAP_UNLOCK(2102),
|
|
OPEN_STATE_GUIDE_PAIMON_LVINFO(2103),
|
|
OPEN_STATE_GUIDE_AMBORTRANSPORT(2104),
|
|
OPEN_STATE_GUIDE_FLY_SECOND(2105),
|
|
OPEN_STATE_GUIDE_KAEYA_CLUE(2106),
|
|
OPEN_STATE_CAPTURE_CODEX(2107),
|
|
OPEN_STATE_ACTIVITY_FISH_OPEN(2200),
|
|
OPEN_STATE_ACTIVITY_FISH_CLOSE(2201),
|
|
OPEN_STATE_GUIDE_ROGUE_MAP(2205),
|
|
OPEN_STATE_GUIDE_ROGUE_RUNE(2206),
|
|
OPEN_STATE_GUIDE_BARTENDER_FORMULA(2210),
|
|
OPEN_STATE_GUIDE_BARTENDER_MIX(2211),
|
|
OPEN_STATE_GUIDE_BARTENDER_CUP(2212),
|
|
OPEN_STATE_GUIDE_MAIL_FAVORITES(2400),
|
|
OPEN_STATE_GUIDE_POTION_CONFIGURE(2401),
|
|
OPEN_STATE_GUIDE_LANV2_FIREWORK(2402),
|
|
OPEN_STATE_LOADINGTIPS_ENKANOMIYA(2403),
|
|
OPEN_STATE_MICHIAE_CASKET(2500),
|
|
OPEN_STATE_MAIL_COLLECT_UNLOCK_RED_POINT(2501),
|
|
OPEN_STATE_LUMEN_STONE(2600),
|
|
OPEN_STATE_GUIDE_CRYSTALLINK_BUFF(2601);
|
|
|
|
private final int value;
|
|
private static final Int2ObjectMap<OpenState> map = new Int2ObjectOpenHashMap<>();
|
|
private static final Map<String, OpenState> stringMap = new HashMap<>();
|
|
|
|
static {
|
|
Stream.of(values()).forEach(e -> {
|
|
map.put(e.getValue(), e);
|
|
stringMap.put(e.name(), e);
|
|
});
|
|
}
|
|
|
|
private OpenState(int value) {
|
|
this.value = value;
|
|
}
|
|
|
|
public int getValue() {
|
|
return value;
|
|
}
|
|
|
|
public static OpenState getTypeByValue(int value) {
|
|
return map.getOrDefault(value, OPEN_STATE_NONE);
|
|
}
|
|
|
|
public static OpenState getTypeByName(String name) {
|
|
return stringMap.getOrDefault(name, OPEN_STATE_NONE);
|
|
}
|
|
}
|