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

package io.grasscutter.net.proto.define;

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

  /**
   * <code>.Vector rot = 2;</code>
   * @return Whether the rot field is set.
   */
  boolean hasRot();
  /**
   * <code>.Vector rot = 2;</code>
   * @return The rot.
   */
  io.grasscutter.net.proto.define.Vector getRot();
  /**
   * <code>.Vector rot = 2;</code>
   */
  io.grasscutter.net.proto.define.VectorOrBuilder getRotOrBuilder();

  /**
   * <code>.Vector speed = 3;</code>
   * @return Whether the speed field is set.
   */
  boolean hasSpeed();
  /**
   * <code>.Vector speed = 3;</code>
   * @return The speed.
   */
  io.grasscutter.net.proto.define.Vector getSpeed();
  /**
   * <code>.Vector speed = 3;</code>
   */
  io.grasscutter.net.proto.define.VectorOrBuilder getSpeedOrBuilder();

  /**
   * <code>.Vector ref_pos = 6;</code>
   * @return Whether the refPos field is set.
   */
  boolean hasRefPos();
  /**
   * <code>.Vector ref_pos = 6;</code>
   * @return The refPos.
   */
  io.grasscutter.net.proto.define.Vector getRefPos();
  /**
   * <code>.Vector ref_pos = 6;</code>
   */
  io.grasscutter.net.proto.define.VectorOrBuilder getRefPosOrBuilder();

  /**
   * <code>repeated .Vector params = 5;</code>
   */
  java.util.List<io.grasscutter.net.proto.define.Vector> 
      getParamsList();
  /**
   * <code>repeated .Vector params = 5;</code>
   */
  io.grasscutter.net.proto.define.Vector getParams(int index);
  /**
   * <code>repeated .Vector params = 5;</code>
   */
  int getParamsCount();
  /**
   * <code>repeated .Vector params = 5;</code>
   */
  java.util.List<? extends io.grasscutter.net.proto.define.VectorOrBuilder> 
      getParamsOrBuilderList();
  /**
   * <code>repeated .Vector params = 5;</code>
   */
  io.grasscutter.net.proto.define.VectorOrBuilder getParamsOrBuilder(
      int index);

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

  /**
   * <code>uint32 scene_time = 8;</code>
   * @return The sceneTime.
   */
  int getSceneTime();

  /**
   * <code>uint32 arc_id = 10;</code>
   * @return The arcId.
   */
  int getArcId();

  /**
   * <code>uint64 interval_velocity = 9;</code>
   * @return The intervalVelocity.
   */
  long getIntervalVelocity();

  /**
   * <code>uint32 ref_id = 7;</code>
   * @return The refId.
   */
  int getRefId();

  /**
   * <code>uint32 DOIIHABEHKO = 11;</code>
   * @return The dOIIHABEHKO.
   */
  int getDOIIHABEHKO();

  /**
   * <code>.MotionState state = 4;</code>
   * @return The enum numeric value on the wire for state.
   */
  int getStateValue();
  /**
   * <code>.MotionState state = 4;</code>
   * @return The state.
   */
  io.grasscutter.net.proto.define.MotionState getState();
}
