Advertisement
Guest User

Untitled

a guest
Jun 14th, 2015
293
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.59 KB | None | 0 0
  1.  
  2.  
  3. public enum Element
  4. {
  5.     FIRE(0, Stats.ATTACK_FIRE, Stats.DEFENCE_FIRE),
  6.     WATER(1, Stats.ATTACK_WATER, Stats.DEFENCE_WATER),
  7.     WIND(2, Stats.ATTACK_WIND, Stats.DEFENCE_WIND),
  8.     EARTH(3, Stats.ATTACK_EARTH, Stats.DEFENCE_EARTH),
  9.     HOLY(4, Stats.ATTACK_HOLY, Stats.DEFENCE_HOLY),
  10.     UNHOLY(5, Stats.ATTACK_UNHOLY, Stats.DEFENCE_UNHOLY),
  11.     NONE(-2, null, null);
  12.  
  13.     /** Массив элементов без NONE **/
  14.     public final static Element[] VALUES = Arrays.copyOf(values(), 6);
  15.  
  16.     private final int id;
  17.     private final Stats attack;
  18.     private final Stats defence;
  19.  
  20.     private Element(int id, Stats attack, Stats defence)
  21.     {
  22.         this.id = id;
  23.         this.attack = attack;
  24.         this.defence = defence;
  25.     }
  26.  
  27.     public int getId()
  28.     {
  29.         return id;
  30.     }
  31.  
  32.     public Stats getAttack()
  33.     {
  34.         return attack;
  35.     }
  36.  
  37.     public Stats getDefence()
  38.     {
  39.         return defence;
  40.     }
  41.  
  42.     public static Element getElementById(int id)
  43.     {
  44.         for(Element e : VALUES)
  45.             if(e.getId() == id)
  46.                 return e;
  47.         return NONE;
  48.     }
  49.  
  50.     /**
  51.      * Возвращает противоположный тип элемента
  52.      * @return значение элемента
  53.      */
  54.     public static Element getReverseElement(Element element)
  55.     {
  56.         switch(element)
  57.         {
  58.             case WATER:
  59.                 return FIRE;
  60.             case FIRE:
  61.                 return WATER;
  62.             case WIND:
  63.                 return EARTH;
  64.             case EARTH:
  65.                 return WIND;
  66.             case HOLY:
  67.                 return UNHOLY;
  68.             case UNHOLY:
  69.                 return HOLY;
  70.         }
  71.  
  72.         return NONE;
  73.     }
  74.  
  75.     public static Element getElementByName(String name)
  76.     {
  77.         for(Element e : VALUES)
  78.             if(e.name().equalsIgnoreCase(name))
  79.                 return e;
  80.         return NONE;
  81.     }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement