package fr.lyrgard.hexScape.io.virtualScape.bean; import java.util.HashMap; import java.util.Map; import fr.lyrgard.hexScape.model.map.Direction; @SuppressWarnings("serial") public enum VirtualScapeDecorType { RUIN_2("Ruin2", new HashMap<Direction, Vector3i>() {{ put(Direction.EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_WEST, new Vector3i(0,0,0)); put(Direction.WEST, new Vector3i(1,0,0)); put(Direction.NORTH_WEST, new Vector3i(1,-1,0)); put(Direction.NORTH_EAST, new Vector3i(0,-1,0)); }}), RUIN_3("Ruin3", new HashMap<Direction, Vector3i>() {{ put(Direction.EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_WEST, new Vector3i(0,0,0)); put(Direction.WEST, new Vector3i(2,0,0)); put(Direction.NORTH_WEST, new Vector3i(2,-2,0)); put(Direction.NORTH_EAST, new Vector3i(0,-2,0)); }}), TREE_1_10("Tree1_10"), TREE_1_11("Tree1_11"), TREE_1_12("Tree1_12"), TREE_4("Tree4", new HashMap<Direction, Vector3i>() {{ put(Direction.EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_WEST, new Vector3i(1,0,0)); put(Direction.WEST, new Vector3i(2,-1,0)); put(Direction.NORTH_WEST, new Vector3i(1,-2,0)); put(Direction.NORTH_EAST, new Vector3i(0,-1,0)); }}), STONE_WALL_4("StoneWall4", new HashMap<Direction, Vector3i>() {{ put(Direction.EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_WEST, new Vector3i(0,0,0)); put(Direction.WEST, new Vector3i(3,0,0)); put(Direction.NORTH_WEST, new Vector3i(3,-3,0)); put(Direction.NORTH_EAST, new Vector3i(0,-3,0)); }}), CASTLE_BASE_CORNER("CastleBaseCorner"), CASTLE_BASE_STRAIGHT("CastleBaseStraight"), CASTLE_BASE_END("CastleBaseEnd"), CASTLE_WALL_CORNER("CastleWallCorner"), CASTLE_WALL_STRAIGHT("CastleWallStraight"), CASTLE_WALL_END("CastleWallEnd"), CASTLE_DOOR("CastleDoor", new HashMap<Direction, Vector3i>() {{ put(Direction.EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_WEST, new Vector3i(0,0,0)); put(Direction.WEST, new Vector3i(2,0,0)); put(Direction.NORTH_WEST, new Vector3i(2,-2,0)); put(Direction.NORTH_EAST, new Vector3i(0,-2,0)); }}), CASTLE_ARCH("CastleArch", new HashMap<Direction, Vector3i>() {{ put(Direction.EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_WEST, new Vector3i(0,0,0)); put(Direction.WEST, new Vector3i(2,0,0)); put(Direction.NORTH_WEST, new Vector3i(2,-2,0)); put(Direction.NORTH_EAST, new Vector3i(0,-2,0)); }}), CASTLE_FLAG("CastleFlag"), CASTLE_LADDER("CastleLadder"), CASTLE_BATTLEMENT("CastleBattlement"), HIVE_6("Hive6", new HashMap<Direction, Vector3i>() {{ put(Direction.EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_EAST, new Vector3i(1,0,0)); put(Direction.SOUTH_WEST, new Vector3i(1,-1,0)); put(Direction.WEST, new Vector3i(2,-1,0)); put(Direction.NORTH_WEST, new Vector3i(2,-2,0)); put(Direction.NORTH_EAST, new Vector3i(0,-2,0)); }}), GLACIER_1("Glacier1"), GLACIER_3("Glacier3", new HashMap<Direction, Vector3i>() {{ put(Direction.EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_WEST, new Vector3i(1,0,0)); put(Direction.WEST, new Vector3i(1,-1,0)); put(Direction.NORTH_WEST, new Vector3i(1,-1,0)); put(Direction.NORTH_EAST, new Vector3i(0,-1,0)); }}), GLACIER_4("Glacier4", new HashMap<Direction, Vector3i>() {{ put(Direction.EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_WEST, new Vector3i(1,0,0)); put(Direction.WEST, new Vector3i(2,-1,0)); put(Direction.NORTH_WEST, new Vector3i(1,-2,0)); put(Direction.NORTH_EAST, new Vector3i(0,-1,0)); }}), GLACIER_6("Glacier6", new HashMap<Direction, Vector3i>() {{ put(Direction.EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_EAST, new Vector3i(1,0,0)); put(Direction.SOUTH_WEST, new Vector3i(1,-1,0)); put(Direction.WEST, new Vector3i(2,-1,0)); put(Direction.NORTH_WEST, new Vector3i(2,-2,0)); put(Direction.NORTH_EAST, new Vector3i(0,-2,0)); }}), PALM_1("Palm1"), BRUSH_1("Brush1"), OUTCROP_1("Outcrop1"), OUTCROP_3("Outcrop3", new HashMap<Direction, Vector3i>() {{ put(Direction.EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_WEST, new Vector3i(1,0,0)); put(Direction.WEST, new Vector3i(1,-1,0)); put(Direction.NORTH_WEST, new Vector3i(1,-1,0)); put(Direction.NORTH_EAST, new Vector3i(0,-1,0)); }}), RUIN_6("Ruin6", new HashMap<Direction, Vector3i>() {{ put(Direction.EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_WEST, new Vector3i(1,0,0)); put(Direction.WEST, new Vector3i(4,-1,0)); put(Direction.NORTH_WEST, new Vector3i(3,-4,0)); put(Direction.NORTH_EAST, new Vector3i(-1,-3,0)); }}), RUIN_6_BREAKED("Ruin6Breaked", new HashMap<Direction, Vector3i>() {{ put(Direction.EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_WEST, new Vector3i(1,0,0)); put(Direction.WEST, new Vector3i(4,-1,0)); put(Direction.NORTH_WEST, new Vector3i(3,-4,0)); put(Direction.NORTH_EAST, new Vector3i(-1,-3,0)); }}), HIDDEN_GLYPH("Glyph") ; private String externalModelName; private Map<Direction, Vector3i> attachementTilePosition; private VirtualScapeDecorType(String externalModelName, Map<Direction, Vector3i> attachementTilePosition) { this.externalModelName = externalModelName; this.attachementTilePosition = attachementTilePosition; } private VirtualScapeDecorType(String externalModelName) { this.externalModelName = externalModelName; this.attachementTilePosition = new HashMap<Direction, Vector3i>() {{ put(Direction.EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_EAST, new Vector3i(0,0,0)); put(Direction.SOUTH_WEST, new Vector3i(0,0,0)); put(Direction.WEST, new Vector3i(0,0,0)); put(Direction.NORTH_WEST, new Vector3i(0,0,0)); put(Direction.NORTH_EAST, new Vector3i(0,0,0)); }}; } public String getExternalModelName() { return externalModelName; } public Map<Direction, Vector3i> getAttachementTilePosition() { return attachementTilePosition; } }