package com.red.circle.other.inner.enums.material;

import java.util.Arrays;
import java.util.Objects;

/**
 * 道具类型.
 *
 * @author houyong on 2021/01/18
 */
public enum ConsolePropsTypeEnum {
  /**
   * 头像框.
   */
  AVATAR_FRAME("AVATAR_FRAME", "头像框"),

  /**
   * 座驾.
   */
  RIDE("RIDE", "座驾"),

  /**
   * 贵族.
   */
  NOBLE_VIP("NOBLE_VIP", "贵族"),

  /**
   * 靓号.
   */
  SPECIAL_ID("SPECIAL_ID", "靓号"),

  /**
   * 主题.
   */
  THEME("THEME", "主题"),

  /**
   * 装扮
   */
  LAYOUT("LAYOUT", "装扮"),

  /**
   * 自定义(只读).
   */
  CUSTOMIZE("CUSTOMIZE", "自定义(只读)"),

  /**
   * 聊天气泡.
   */
  CHAT_BUBBLE("CHAT_BUBBLE", "聊天气泡"),

  /**
   * 碎片.
   */
  FRAGMENTS("FRAGMENTS", "碎片"),

  /**
   * 个人中心飘窗.
   */
  FLOAT_PICTURE("FLOAT_PICTURE", "个人中心飘窗"),

  /**
   * 资料卡.
   */
  DATA_CARD("DATA_CARD", "资料卡"),

  /**
   * 红包.
   */
  RED_PACKET("RED_PACKET", "红包封面");

  private final String desc;
  private final String name;

  ConsolePropsTypeEnum(String name, String desc) {
    this.name = name;
    this.desc = desc;
  }

  public static String getDescValue(String name) {
    return Arrays.stream(ConsolePropsTypeEnum.values())
        .filter(consolePropsTypeEnum -> Objects.equals(consolePropsTypeEnum.getName(), name))
        .findFirst()
        .map(ConsolePropsTypeEnum::getDesc)
        .orElse("未知");
  }

  public String getDesc() {
    return desc;
  }

  public String getName() {
    return name;
  }

}
