// Code generated by protocol buffer compiler. Do not edit!
package emu.lunarcore.proto;

import us.hebi.quickbuf.ProtoEnum;
import us.hebi.quickbuf.ProtoUtil;

public final class DevelopmentTypeOuterClass {
  /**
   * Protobuf enum {@code DevelopmentType}
   */
  public enum DevelopmentType implements ProtoEnum<DevelopmentType> {
    /**
     * <code>DEVELOPMENT_NONE = 0;</code>
     */
    DEVELOPMENT_NONE("DEVELOPMENT_NONE", 0),

    /**
     * <code>DEVELOPMENT_ROGUE_COSMOS = 1;</code>
     */
    DEVELOPMENT_ROGUE_COSMOS("DEVELOPMENT_ROGUE_COSMOS", 1),

    /**
     * <code>DEVELOPMENT_ROGUE_CHESS = 2;</code>
     */
    DEVELOPMENT_ROGUE_CHESS("DEVELOPMENT_ROGUE_CHESS", 2),

    /**
     * <code>DEVELOPMENT_ROGUE_CHESS_NOUS = 3;</code>
     */
    DEVELOPMENT_ROGUE_CHESS_NOUS("DEVELOPMENT_ROGUE_CHESS_NOUS", 3),

    /**
     * <code>DEVELOPMENT_MEMORY_CHALLENGE = 4;</code>
     */
    DEVELOPMENT_MEMORY_CHALLENGE("DEVELOPMENT_MEMORY_CHALLENGE", 4),

    /**
     * <code>DEVELOPMENT_STORY_CHALLENGE = 5;</code>
     */
    DEVELOPMENT_STORY_CHALLENGE("DEVELOPMENT_STORY_CHALLENGE", 5),

    /**
     * <code>DEVELOPMENT_UNLOCK_AVATAR = 6;</code>
     */
    DEVELOPMENT_UNLOCK_AVATAR("DEVELOPMENT_UNLOCK_AVATAR", 6),

    /**
     * <code>DEVELOPMENT_UNLOCK_EQUIPMENT = 7;</code>
     */
    DEVELOPMENT_UNLOCK_EQUIPMENT("DEVELOPMENT_UNLOCK_EQUIPMENT", 7),

    /**
     * <code>DEVELOPMENT_ACTIVITY_START = 8;</code>
     */
    DEVELOPMENT_ACTIVITY_START("DEVELOPMENT_ACTIVITY_START", 8),

    /**
     * <code>DEVELOPMENT_ACTIVITY_END = 9;</code>
     */
    DEVELOPMENT_ACTIVITY_END("DEVELOPMENT_ACTIVITY_END", 9),

    /**
     * <code>DEVELOPMENT_BOSS_CHALLENGE = 10;</code>
     */
    DEVELOPMENT_BOSS_CHALLENGE("DEVELOPMENT_BOSS_CHALLENGE", 10),

    /**
     * <code>DEVELOPMENT_ROGUE_TOURN = 11;</code>
     */
    DEVELOPMENT_ROGUE_TOURN("DEVELOPMENT_ROGUE_TOURN", 11),

    /**
     * <code>DEVELOPMENT_ROGUE_TOURN_WEEK = 12;</code>
     */
    DEVELOPMENT_ROGUE_TOURN_WEEK("DEVELOPMENT_ROGUE_TOURN_WEEK", 12),

    /**
     * <code>DEVELOPMENT_ROGUE_MAGIC = 13;</code>
     */
    DEVELOPMENT_ROGUE_MAGIC("DEVELOPMENT_ROGUE_MAGIC", 13);

    /**
     * <code>DEVELOPMENT_NONE = 0;</code>
     */
    public static final int DEVELOPMENT_NONE_VALUE = 0;

    /**
     * <code>DEVELOPMENT_ROGUE_COSMOS = 1;</code>
     */
    public static final int DEVELOPMENT_ROGUE_COSMOS_VALUE = 1;

    /**
     * <code>DEVELOPMENT_ROGUE_CHESS = 2;</code>
     */
    public static final int DEVELOPMENT_ROGUE_CHESS_VALUE = 2;

    /**
     * <code>DEVELOPMENT_ROGUE_CHESS_NOUS = 3;</code>
     */
    public static final int DEVELOPMENT_ROGUE_CHESS_NOUS_VALUE = 3;

    /**
     * <code>DEVELOPMENT_MEMORY_CHALLENGE = 4;</code>
     */
    public static final int DEVELOPMENT_MEMORY_CHALLENGE_VALUE = 4;

    /**
     * <code>DEVELOPMENT_STORY_CHALLENGE = 5;</code>
     */
    public static final int DEVELOPMENT_STORY_CHALLENGE_VALUE = 5;

    /**
     * <code>DEVELOPMENT_UNLOCK_AVATAR = 6;</code>
     */
    public static final int DEVELOPMENT_UNLOCK_AVATAR_VALUE = 6;

    /**
     * <code>DEVELOPMENT_UNLOCK_EQUIPMENT = 7;</code>
     */
    public static final int DEVELOPMENT_UNLOCK_EQUIPMENT_VALUE = 7;

    /**
     * <code>DEVELOPMENT_ACTIVITY_START = 8;</code>
     */
    public static final int DEVELOPMENT_ACTIVITY_START_VALUE = 8;

    /**
     * <code>DEVELOPMENT_ACTIVITY_END = 9;</code>
     */
    public static final int DEVELOPMENT_ACTIVITY_END_VALUE = 9;

    /**
     * <code>DEVELOPMENT_BOSS_CHALLENGE = 10;</code>
     */
    public static final int DEVELOPMENT_BOSS_CHALLENGE_VALUE = 10;

    /**
     * <code>DEVELOPMENT_ROGUE_TOURN = 11;</code>
     */
    public static final int DEVELOPMENT_ROGUE_TOURN_VALUE = 11;

    /**
     * <code>DEVELOPMENT_ROGUE_TOURN_WEEK = 12;</code>
     */
    public static final int DEVELOPMENT_ROGUE_TOURN_WEEK_VALUE = 12;

    /**
     * <code>DEVELOPMENT_ROGUE_MAGIC = 13;</code>
     */
    public static final int DEVELOPMENT_ROGUE_MAGIC_VALUE = 13;

    private final String name;

    private final int number;

    private DevelopmentType(String name, int number) {
      this.name = name;
      this.number = number;
    }

    /**
     * @return the string representation of enum entry
     */
    @Override
    public String getName() {
      return name;
    }

    /**
     * @return the numeric wire value of this enum entry
     */
    @Override
    public int getNumber() {
      return number;
    }

    /**
     * @return a converter that maps between this enum's numeric and text representations
     */
    public static ProtoEnum.EnumConverter<DevelopmentType> converter() {
      return DevelopmentTypeConverter.INSTANCE;
    }

    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value, or null if unknown.
     */
    public static DevelopmentType forNumber(int value) {
      return DevelopmentTypeConverter.INSTANCE.forNumber(value);
    }

    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @param other Fallback value in case the value is not known.
     * @return The enum associated with the given numeric wire value, or the fallback value if unknown.
     */
    public static DevelopmentType forNumberOr(int number, DevelopmentType other) {
      DevelopmentType value = forNumber(number);
      return value == null ? other : value;
    }

    enum DevelopmentTypeConverter implements ProtoEnum.EnumConverter<DevelopmentType> {
      INSTANCE;

      private static final DevelopmentType[] lookup = new DevelopmentType[14];

      static {
        lookup[0] = DEVELOPMENT_NONE;
        lookup[1] = DEVELOPMENT_ROGUE_COSMOS;
        lookup[2] = DEVELOPMENT_ROGUE_CHESS;
        lookup[3] = DEVELOPMENT_ROGUE_CHESS_NOUS;
        lookup[4] = DEVELOPMENT_MEMORY_CHALLENGE;
        lookup[5] = DEVELOPMENT_STORY_CHALLENGE;
        lookup[6] = DEVELOPMENT_UNLOCK_AVATAR;
        lookup[7] = DEVELOPMENT_UNLOCK_EQUIPMENT;
        lookup[8] = DEVELOPMENT_ACTIVITY_START;
        lookup[9] = DEVELOPMENT_ACTIVITY_END;
        lookup[10] = DEVELOPMENT_BOSS_CHALLENGE;
        lookup[11] = DEVELOPMENT_ROGUE_TOURN;
        lookup[12] = DEVELOPMENT_ROGUE_TOURN_WEEK;
        lookup[13] = DEVELOPMENT_ROGUE_MAGIC;
      }

      @Override
      public final DevelopmentType forNumber(final int value) {
        if (value >= 0 && value < lookup.length) {
          return lookup[value];
        }
        return null;
      }

      @Override
      public final DevelopmentType forName(final CharSequence value) {
        switch (value.length()) {
          case 16: {
            if (ProtoUtil.isEqual("DEVELOPMENT_NONE", value)) {
              return DEVELOPMENT_NONE;
            }
            break;
          }
          case 23: {
            if (ProtoUtil.isEqual("DEVELOPMENT_ROGUE_CHESS", value)) {
              return DEVELOPMENT_ROGUE_CHESS;
            }
            if (ProtoUtil.isEqual("DEVELOPMENT_ROGUE_TOURN", value)) {
              return DEVELOPMENT_ROGUE_TOURN;
            }
            if (ProtoUtil.isEqual("DEVELOPMENT_ROGUE_MAGIC", value)) {
              return DEVELOPMENT_ROGUE_MAGIC;
            }
            break;
          }
          case 24: {
            if (ProtoUtil.isEqual("DEVELOPMENT_ROGUE_COSMOS", value)) {
              return DEVELOPMENT_ROGUE_COSMOS;
            }
            if (ProtoUtil.isEqual("DEVELOPMENT_ACTIVITY_END", value)) {
              return DEVELOPMENT_ACTIVITY_END;
            }
            break;
          }
          case 25: {
            if (ProtoUtil.isEqual("DEVELOPMENT_UNLOCK_AVATAR", value)) {
              return DEVELOPMENT_UNLOCK_AVATAR;
            }
            break;
          }
          case 26: {
            if (ProtoUtil.isEqual("DEVELOPMENT_ACTIVITY_START", value)) {
              return DEVELOPMENT_ACTIVITY_START;
            }
            if (ProtoUtil.isEqual("DEVELOPMENT_BOSS_CHALLENGE", value)) {
              return DEVELOPMENT_BOSS_CHALLENGE;
            }
            break;
          }
          case 27: {
            if (ProtoUtil.isEqual("DEVELOPMENT_STORY_CHALLENGE", value)) {
              return DEVELOPMENT_STORY_CHALLENGE;
            }
            break;
          }
          case 28: {
            if (ProtoUtil.isEqual("DEVELOPMENT_ROGUE_CHESS_NOUS", value)) {
              return DEVELOPMENT_ROGUE_CHESS_NOUS;
            }
            if (ProtoUtil.isEqual("DEVELOPMENT_MEMORY_CHALLENGE", value)) {
              return DEVELOPMENT_MEMORY_CHALLENGE;
            }
            if (ProtoUtil.isEqual("DEVELOPMENT_UNLOCK_EQUIPMENT", value)) {
              return DEVELOPMENT_UNLOCK_EQUIPMENT;
            }
            if (ProtoUtil.isEqual("DEVELOPMENT_ROGUE_TOURN_WEEK", value)) {
              return DEVELOPMENT_ROGUE_TOURN_WEEK;
            }
            break;
          }
        }
        return null;
      }
    }
  }
}
