// automatically generated by the FlatBuffers compiler, do not modify

package MyGame.Example;

/**
 * Composite components of Monster color.
 */
@SuppressWarnings("unused")
public final class Color {
  private Color() { }
  public static final int Red = 1;
  /**
   * \brief color Green
   * Green is bit_flag with value (1u << 1)
   */
  public static final int Green = 2;
  /**
   * \brief color Blue (1u << 3)
   */
  public static final int Blue = 8;

  public static final String[] names = { "Red", "Green", "", "", "", "", "", "Blue", };

  public static String name(int e) { return names[e - Red]; }
}

