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

package io.grasscutter.net.proto.define;

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

  /**
   * <code>repeated .BreakoutPhysicalObject physical_object_list = 4;</code>
   */
  java.util.List<io.grasscutter.net.proto.define.BreakoutPhysicalObject> 
      getPhysicalObjectListList();
  /**
   * <code>repeated .BreakoutPhysicalObject physical_object_list = 4;</code>
   */
  io.grasscutter.net.proto.define.BreakoutPhysicalObject getPhysicalObjectList(int index);
  /**
   * <code>repeated .BreakoutPhysicalObject physical_object_list = 4;</code>
   */
  int getPhysicalObjectListCount();
  /**
   * <code>repeated .BreakoutPhysicalObject physical_object_list = 4;</code>
   */
  java.util.List<? extends io.grasscutter.net.proto.define.BreakoutPhysicalObjectOrBuilder> 
      getPhysicalObjectListOrBuilderList();
  /**
   * <code>repeated .BreakoutPhysicalObject physical_object_list = 4;</code>
   */
  io.grasscutter.net.proto.define.BreakoutPhysicalObjectOrBuilder getPhysicalObjectListOrBuilder(
      int index);

  /**
   * <code>repeated .BreakoutAction action_list = 5;</code>
   */
  java.util.List<io.grasscutter.net.proto.define.BreakoutAction> 
      getActionListList();
  /**
   * <code>repeated .BreakoutAction action_list = 5;</code>
   */
  io.grasscutter.net.proto.define.BreakoutAction getActionList(int index);
  /**
   * <code>repeated .BreakoutAction action_list = 5;</code>
   */
  int getActionListCount();
  /**
   * <code>repeated .BreakoutAction action_list = 5;</code>
   */
  java.util.List<? extends io.grasscutter.net.proto.define.BreakoutActionOrBuilder> 
      getActionListOrBuilderList();
  /**
   * <code>repeated .BreakoutAction action_list = 5;</code>
   */
  io.grasscutter.net.proto.define.BreakoutActionOrBuilder getActionListOrBuilder(
      int index);

  /**
   * <code>repeated .BreakoutPhysicalObject dynamic_object_list = 18;</code>
   */
  java.util.List<io.grasscutter.net.proto.define.BreakoutPhysicalObject> 
      getDynamicObjectListList();
  /**
   * <code>repeated .BreakoutPhysicalObject dynamic_object_list = 18;</code>
   */
  io.grasscutter.net.proto.define.BreakoutPhysicalObject getDynamicObjectList(int index);
  /**
   * <code>repeated .BreakoutPhysicalObject dynamic_object_list = 18;</code>
   */
  int getDynamicObjectListCount();
  /**
   * <code>repeated .BreakoutPhysicalObject dynamic_object_list = 18;</code>
   */
  java.util.List<? extends io.grasscutter.net.proto.define.BreakoutPhysicalObjectOrBuilder> 
      getDynamicObjectListOrBuilderList();
  /**
   * <code>repeated .BreakoutPhysicalObject dynamic_object_list = 18;</code>
   */
  io.grasscutter.net.proto.define.BreakoutPhysicalObjectOrBuilder getDynamicObjectListOrBuilder(
      int index);

  /**
   * <code>repeated .BreakoutElementReactionCounter ball_element_reaction_list = 16;</code>
   */
  java.util.List<io.grasscutter.net.proto.define.BreakoutElementReactionCounter> 
      getBallElementReactionListList();
  /**
   * <code>repeated .BreakoutElementReactionCounter ball_element_reaction_list = 16;</code>
   */
  io.grasscutter.net.proto.define.BreakoutElementReactionCounter getBallElementReactionList(int index);
  /**
   * <code>repeated .BreakoutElementReactionCounter ball_element_reaction_list = 16;</code>
   */
  int getBallElementReactionListCount();
  /**
   * <code>repeated .BreakoutElementReactionCounter ball_element_reaction_list = 16;</code>
   */
  java.util.List<? extends io.grasscutter.net.proto.define.BreakoutElementReactionCounterOrBuilder> 
      getBallElementReactionListOrBuilderList();
  /**
   * <code>repeated .BreakoutElementReactionCounter ball_element_reaction_list = 16;</code>
   */
  io.grasscutter.net.proto.define.BreakoutElementReactionCounterOrBuilder getBallElementReactionListOrBuilder(
      int index);

  /**
   * <code>repeated .BreakoutPhysicalObject ball_list = 3;</code>
   */
  java.util.List<io.grasscutter.net.proto.define.BreakoutPhysicalObject> 
      getBallListList();
  /**
   * <code>repeated .BreakoutPhysicalObject ball_list = 3;</code>
   */
  io.grasscutter.net.proto.define.BreakoutPhysicalObject getBallList(int index);
  /**
   * <code>repeated .BreakoutPhysicalObject ball_list = 3;</code>
   */
  int getBallListCount();
  /**
   * <code>repeated .BreakoutPhysicalObject ball_list = 3;</code>
   */
  java.util.List<? extends io.grasscutter.net.proto.define.BreakoutPhysicalObjectOrBuilder> 
      getBallListOrBuilderList();
  /**
   * <code>repeated .BreakoutPhysicalObject ball_list = 3;</code>
   */
  io.grasscutter.net.proto.define.BreakoutPhysicalObjectOrBuilder getBallListOrBuilder(
      int index);

  /**
   * <code>repeated uint32 id_index_list = 19;</code>
   * @return A list containing the idIndexList.
   */
  java.util.List<java.lang.Integer> getIdIndexListList();
  /**
   * <code>repeated uint32 id_index_list = 19;</code>
   * @return The count of idIndexList.
   */
  int getIdIndexListCount();
  /**
   * <code>repeated uint32 id_index_list = 19;</code>
   * @param index The index of the element to return.
   * @return The idIndexList at the given index.
   */
  int getIdIndexList(int index);

  /**
   * <code>repeated .BreakoutElementReactionCounter brick_element_reaction_list = 15;</code>
   */
  java.util.List<io.grasscutter.net.proto.define.BreakoutElementReactionCounter> 
      getBrickElementReactionListList();
  /**
   * <code>repeated .BreakoutElementReactionCounter brick_element_reaction_list = 15;</code>
   */
  io.grasscutter.net.proto.define.BreakoutElementReactionCounter getBrickElementReactionList(int index);
  /**
   * <code>repeated .BreakoutElementReactionCounter brick_element_reaction_list = 15;</code>
   */
  int getBrickElementReactionListCount();
  /**
   * <code>repeated .BreakoutElementReactionCounter brick_element_reaction_list = 15;</code>
   */
  java.util.List<? extends io.grasscutter.net.proto.define.BreakoutElementReactionCounterOrBuilder> 
      getBrickElementReactionListOrBuilderList();
  /**
   * <code>repeated .BreakoutElementReactionCounter brick_element_reaction_list = 15;</code>
   */
  io.grasscutter.net.proto.define.BreakoutElementReactionCounterOrBuilder getBrickElementReactionListOrBuilder(
      int index);

  /**
   * <code>repeated .BreakoutSpawnPoint spawn_point_list = 13;</code>
   */
  java.util.List<io.grasscutter.net.proto.define.BreakoutSpawnPoint> 
      getSpawnPointListList();
  /**
   * <code>repeated .BreakoutSpawnPoint spawn_point_list = 13;</code>
   */
  io.grasscutter.net.proto.define.BreakoutSpawnPoint getSpawnPointList(int index);
  /**
   * <code>repeated .BreakoutSpawnPoint spawn_point_list = 13;</code>
   */
  int getSpawnPointListCount();
  /**
   * <code>repeated .BreakoutSpawnPoint spawn_point_list = 13;</code>
   */
  java.util.List<? extends io.grasscutter.net.proto.define.BreakoutSpawnPointOrBuilder> 
      getSpawnPointListOrBuilderList();
  /**
   * <code>repeated .BreakoutSpawnPoint spawn_point_list = 13;</code>
   */
  io.grasscutter.net.proto.define.BreakoutSpawnPointOrBuilder getSpawnPointListOrBuilder(
      int index);

  /**
   * <code>repeated .BreakoutSyncConnectUidInfo uid_info_list = 17;</code>
   */
  java.util.List<io.grasscutter.net.proto.define.BreakoutSyncConnectUidInfo> 
      getUidInfoListList();
  /**
   * <code>repeated .BreakoutSyncConnectUidInfo uid_info_list = 17;</code>
   */
  io.grasscutter.net.proto.define.BreakoutSyncConnectUidInfo getUidInfoList(int index);
  /**
   * <code>repeated .BreakoutSyncConnectUidInfo uid_info_list = 17;</code>
   */
  int getUidInfoListCount();
  /**
   * <code>repeated .BreakoutSyncConnectUidInfo uid_info_list = 17;</code>
   */
  java.util.List<? extends io.grasscutter.net.proto.define.BreakoutSyncConnectUidInfoOrBuilder> 
      getUidInfoListOrBuilderList();
  /**
   * <code>repeated .BreakoutSyncConnectUidInfo uid_info_list = 17;</code>
   */
  io.grasscutter.net.proto.define.BreakoutSyncConnectUidInfoOrBuilder getUidInfoListOrBuilder(
      int index);

  /**
   * <code>bool is_finish = 7;</code>
   * @return The isFinish.
   */
  boolean getIsFinish();

  /**
   * <code>int32 raw_client_game_time = 20;</code>
   * @return The rawClientGameTime.
   */
  int getRawClientGameTime();

  /**
   * <code>uint64 server_game_time = 2;</code>
   * @return The serverGameTime.
   */
  long getServerGameTime();

  /**
   * <code>uint32 life_count = 11;</code>
   * @return The lifeCount.
   */
  int getLifeCount();

  /**
   * <code>uint64 client_game_time = 1;</code>
   * @return The clientGameTime.
   */
  long getClientGameTime();

  /**
   * <code>uint32 max_combo = 10;</code>
   * @return The maxCombo.
   */
  int getMaxCombo();

  /**
   * <code>uint32 remaining_boss_hp = 14;</code>
   * @return The remainingBossHp.
   */
  int getRemainingBossHp();

  /**
   * <code>uint32 score = 8;</code>
   * @return The score.
   */
  int getScore();

  /**
   * <code>uint32 wave_suite_index = 12;</code>
   * @return The waveSuiteIndex.
   */
  int getWaveSuiteIndex();

  /**
   * <code>uint32 wave_index = 6;</code>
   * @return The waveIndex.
   */
  int getWaveIndex();

  /**
   * <code>uint32 combo = 9;</code>
   * @return The combo.
   */
  int getCombo();
}
