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

package io.grasscutter.net.proto.define;

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

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

  /**
   * <code>.BreakoutVector2 extra_ball_dir = 15;</code>
   * @return Whether the extraBallDir field is set.
   */
  boolean hasExtraBallDir();
  /**
   * <code>.BreakoutVector2 extra_ball_dir = 15;</code>
   * @return The extraBallDir.
   */
  io.grasscutter.net.proto.define.BreakoutVector2 getExtraBallDir();
  /**
   * <code>.BreakoutVector2 extra_ball_dir = 15;</code>
   */
  io.grasscutter.net.proto.define.BreakoutVector2OrBuilder getExtraBallDirOrBuilder();

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

  /**
   * <code>bool has_extra_ball = 14;</code>
   * @return The hasExtraBall.
   */
  boolean getHasExtraBall();

  /**
   * <code>bool is_failed = 4;</code>
   * @return The isFailed.
   */
  boolean getIsFailed();

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

  /**
   * <code>uint32 pre_index = 5;</code>
   * @return The preIndex.
   */
  int getPreIndex();

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

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

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

  /**
   * <code>uint32 peer_id = 10;</code>
   * @return The peerId.
   */
  int getPeerId();

  /**
   * <code>uint32 extra_ball_index = 16;</code>
   * @return The extraBallIndex.
   */
  int getExtraBallIndex();

  /**
   * <code>uint32 new_index = 6;</code>
   * @return The newIndex.
   */
  int getNewIndex();

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

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

  /**
   * <code>.BreakoutActionType action_type = 1;</code>
   * @return The enum numeric value on the wire for actionType.
   */
  int getActionTypeValue();
  /**
   * <code>.BreakoutActionType action_type = 1;</code>
   * @return The actionType.
   */
  io.grasscutter.net.proto.define.BreakoutActionType getActionType();

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

  /**
   * <code>uint64 HNGEGBANPJK = 18;</code>
   * @return The hNGEGBANPJK.
   */
  long getHNGEGBANPJK();
}
