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

package io.grasscutter.net.proto.define;

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

  /**
   * <code>.MathQuaternion rot_offset = 12;</code>
   * @return Whether the rotOffset field is set.
   */
  boolean hasRotOffset();
  /**
   * <code>.MathQuaternion rot_offset = 12;</code>
   * @return The rotOffset.
   */
  io.grasscutter.net.proto.define.MathQuaternion getRotOffset();
  /**
   * <code>.MathQuaternion rot_offset = 12;</code>
   */
  io.grasscutter.net.proto.define.MathQuaternionOrBuilder getRotOffsetOrBuilder();

  /**
   * <code>.Route route = 15;</code>
   * @return Whether the route field is set.
   */
  boolean hasRoute();
  /**
   * <code>.Route route = 15;</code>
   * @return The route.
   */
  io.grasscutter.net.proto.define.Route getRoute();
  /**
   * <code>.Route route = 15;</code>
   */
  io.grasscutter.net.proto.define.RouteOrBuilder getRouteOrBuilder();

  /**
   * <code>.Vector pos_offset = 11;</code>
   * @return Whether the posOffset field is set.
   */
  boolean hasPosOffset();
  /**
   * <code>.Vector pos_offset = 11;</code>
   * @return The posOffset.
   */
  io.grasscutter.net.proto.define.Vector getPosOffset();
  /**
   * <code>.Vector pos_offset = 11;</code>
   */
  io.grasscutter.net.proto.define.VectorOrBuilder getPosOffsetOrBuilder();

  /**
   * <code>.MathQuaternion start_rot = 9;</code>
   * @return Whether the startRot field is set.
   */
  boolean hasStartRot();
  /**
   * <code>.MathQuaternion start_rot = 9;</code>
   * @return The startRot.
   */
  io.grasscutter.net.proto.define.MathQuaternion getStartRot();
  /**
   * <code>.MathQuaternion start_rot = 9;</code>
   */
  io.grasscutter.net.proto.define.MathQuaternionOrBuilder getStartRotOrBuilder();

  /**
   * <code>.Vector start_pos = 7;</code>
   * @return Whether the startPos field is set.
   */
  boolean hasStartPos();
  /**
   * <code>.Vector start_pos = 7;</code>
   * @return The startPos.
   */
  io.grasscutter.net.proto.define.Vector getStartPos();
  /**
   * <code>.Vector start_pos = 7;</code>
   */
  io.grasscutter.net.proto.define.VectorOrBuilder getStartPosOrBuilder();

  /**
   * <code>.MovingPlatformType moving_platform_type = 13;</code>
   * @return The enum numeric value on the wire for movingPlatformType.
   */
  int getMovingPlatformTypeValue();
  /**
   * <code>.MovingPlatformType moving_platform_type = 13;</code>
   * @return The movingPlatformType.
   */
  io.grasscutter.net.proto.define.MovingPlatformType getMovingPlatformType();

  /**
   * <code>uint32 point_id = 16;</code>
   * @return The pointId.
   */
  int getPointId();

  /**
   * <code>uint32 start_scene_time = 4;</code>
   * @return The startSceneTime.
   */
  int getStartSceneTime();

  /**
   * <code>uint32 route_id = 1;</code>
   * @return The routeId.
   */
  int getRouteId();

  /**
   * <code>bool is_started = 8;</code>
   * @return The isStarted.
   */
  boolean getIsStarted();

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

  /**
   * <code>uint32 start_route_time = 3;</code>
   * @return The startRouteTime.
   */
  int getStartRouteTime();

  /**
   * <code>int32 start_index = 2;</code>
   * @return The startIndex.
   */
  int getStartIndex();

  /**
   * <code>uint32 stop_scene_time = 10;</code>
   * @return The stopSceneTime.
   */
  int getStopSceneTime();
}
