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

package io.grasscutter.net.proto.define;

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

  /**
   * <code>.BreakoutVector2 move_dir = 5;</code>
   * @return Whether the moveDir field is set.
   */
  boolean hasMoveDir();
  /**
   * <code>.BreakoutVector2 move_dir = 5;</code>
   * @return The moveDir.
   */
  io.grasscutter.net.proto.define.BreakoutVector2 getMoveDir();
  /**
   * <code>.BreakoutVector2 move_dir = 5;</code>
   */
  io.grasscutter.net.proto.define.BreakoutVector2OrBuilder getMoveDirOrBuilder();

  /**
   * <code>repeated .BreakoutPhysicalObjectModifier modifier_list = 11;</code>
   */
  java.util.List<io.grasscutter.net.proto.define.BreakoutPhysicalObjectModifier> 
      getModifierListList();
  /**
   * <code>repeated .BreakoutPhysicalObjectModifier modifier_list = 11;</code>
   */
  io.grasscutter.net.proto.define.BreakoutPhysicalObjectModifier getModifierList(int index);
  /**
   * <code>repeated .BreakoutPhysicalObjectModifier modifier_list = 11;</code>
   */
  int getModifierListCount();
  /**
   * <code>repeated .BreakoutPhysicalObjectModifier modifier_list = 11;</code>
   */
  java.util.List<? extends io.grasscutter.net.proto.define.BreakoutPhysicalObjectModifierOrBuilder> 
      getModifierListOrBuilderList();
  /**
   * <code>repeated .BreakoutPhysicalObjectModifier modifier_list = 11;</code>
   */
  io.grasscutter.net.proto.define.BreakoutPhysicalObjectModifierOrBuilder getModifierListOrBuilder(
      int index);

  /**
   * <code>repeated .BreakoutBrickInfo info_list = 13;</code>
   */
  java.util.List<io.grasscutter.net.proto.define.BreakoutBrickInfo> 
      getInfoListList();
  /**
   * <code>repeated .BreakoutBrickInfo info_list = 13;</code>
   */
  io.grasscutter.net.proto.define.BreakoutBrickInfo getInfoList(int index);
  /**
   * <code>repeated .BreakoutBrickInfo info_list = 13;</code>
   */
  int getInfoListCount();
  /**
   * <code>repeated .BreakoutBrickInfo info_list = 13;</code>
   */
  java.util.List<? extends io.grasscutter.net.proto.define.BreakoutBrickInfoOrBuilder> 
      getInfoListOrBuilderList();
  /**
   * <code>repeated .BreakoutBrickInfo info_list = 13;</code>
   */
  io.grasscutter.net.proto.define.BreakoutBrickInfoOrBuilder getInfoListOrBuilder(
      int index);

  /**
   * <code>.BreakoutVector2 pos = 4;</code>
   * @return Whether the pos field is set.
   */
  boolean hasPos();
  /**
   * <code>.BreakoutVector2 pos = 4;</code>
   * @return The pos.
   */
  io.grasscutter.net.proto.define.BreakoutVector2 getPos();
  /**
   * <code>.BreakoutVector2 pos = 4;</code>
   */
  io.grasscutter.net.proto.define.BreakoutVector2OrBuilder getPosOrBuilder();

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

  /**
   * <code>int32 offset = 16;</code>
   * @return The offset.
   */
  int getOffset();

  /**
   * <code>uint32 element_reaction_buff = 10;</code>
   * @return The elementReactionBuff.
   */
  int getElementReactionBuff();

  /**
   * <code>uint32 speed_increase_count = 15;</code>
   * @return The speedIncreaseCount.
   */
  int getSpeedIncreaseCount();

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

  /**
   * <code>uint32 id = 1;</code>
   * @return The id.
   */
  int getId();

  /**
   * <code>uint32 init_peer_id = 7;</code>
   * @return The initPeerId.
   */
  int getInitPeerId();

  /**
   * <code>int32 speed = 6;</code>
   * @return The speed.
   */
  int getSpeed();

  /**
   * <code>uint32 element_type = 9;</code>
   * @return The elementType.
   */
  int getElementType();

  /**
   * <code>uint32 last_hit_peer_id = 14;</code>
   * @return The lastHitPeerId.
   */
  int getLastHitPeerId();

  /**
   * <code>int32 total_rotation = 12;</code>
   * @return The totalRotation.
   */
  int getTotalRotation();

  /**
   * <code>bool is_active = 3;</code>
   * @return The isActive.
   */
  boolean getIsActive();
}
