// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: define.proto

package io.grasscutter.net.proto.define;

public interface GadgetPlayInfoOrBuilder extends
    // @@protoc_insertion_point(interface_extends:GadgetPlayInfo)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <code>repeated uint32 progress_stage_list = 3;</code>
   * @return A list containing the progressStageList.
   */
  java.util.List<java.lang.Integer> getProgressStageListList();
  /**
   * <code>repeated uint32 progress_stage_list = 3;</code>
   * @return The count of progressStageList.
   */
  int getProgressStageListCount();
  /**
   * <code>repeated uint32 progress_stage_list = 3;</code>
   * @param index The index of the element to return.
   * @return The progressStageList at the given index.
   */
  int getProgressStageList(int index);

  /**
   * <code>uint32 start_cd = 4;</code>
   * @return The startCd.
   */
  int getStartCd();

  /**
   * <code>.GadgetCrucibleInfo crucible_info = 21;</code>
   * @return Whether the crucibleInfo field is set.
   */
  boolean hasCrucibleInfo();
  /**
   * <code>.GadgetCrucibleInfo crucible_info = 21;</code>
   * @return The crucibleInfo.
   */
  io.grasscutter.net.proto.define.GadgetCrucibleInfo getCrucibleInfo();
  /**
   * <code>.GadgetCrucibleInfo crucible_info = 21;</code>
   */
  io.grasscutter.net.proto.define.GadgetCrucibleInfoOrBuilder getCrucibleInfoOrBuilder();

  /**
   * <code>uint32 play_type = 1;</code>
   * @return The playType.
   */
  int getPlayType();

  /**
   * <code>uint32 duration = 2;</code>
   * @return The duration.
   */
  int getDuration();

  /**
   * <code>uint32 progress = 6;</code>
   * @return The progress.
   */
  int getProgress();

  /**
   * <code>uint32 start_time = 5;</code>
   * @return The startTime.
   */
  int getStartTime();

  public io.grasscutter.net.proto.define.GadgetPlayInfo.NCMNBDDIMHECase getNCMNBDDIMHECase();
}
