* Update RobustToolbox * Transition direct type usages * More updates * Fix invalid use of to map * Update RobustToolbox * Fix dropping items * Rename name usages of "GridCoordinates" to "EntityCoordinates" * Revert "Update RobustToolbox" This reverts commit 9f334a17c5908ded0043a63158bb671e4aa3f346. * Revert "Update RobustToolbox" This reverts commit 3a9c8cfa3606fa501aa84407796d2ad920853a09. # Conflicts: # RobustToolbox * Fix cursed IMapGrid method usage. * GridTileLookupTest now uses EntityCoordinates Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com> Co-authored-by: Víctor Aguilera Puerto <zddm@outlook.es>
60 lines
2.0 KiB
C#
60 lines
2.0 KiB
C#
using Robust.Shared.Interfaces.GameObjects;
|
|
using Robust.Shared.Map;
|
|
using Robust.Shared.Maths;
|
|
|
|
namespace Content.Shared.GameObjects.Components.Movement
|
|
{
|
|
// Does nothing except ensure uniqueness between mover components.
|
|
// There can only be one.
|
|
public interface IMoverComponent : IComponent
|
|
{
|
|
/// <summary>
|
|
/// Movement speed (m/s) that the entity walks.
|
|
/// </summary>
|
|
float CurrentWalkSpeed { get; }
|
|
|
|
/// <summary>
|
|
/// Movement speed (m/s) that the entity sprints.
|
|
/// </summary>
|
|
float CurrentSprintSpeed { get; }
|
|
|
|
|
|
/// <summary>
|
|
/// The movement speed (m/s) of the entity when it pushes off of a solid object in zero gravity.
|
|
/// </summary>
|
|
float CurrentPushSpeed { get; }
|
|
|
|
/// <summary>
|
|
/// How far an entity can reach (in meters) to grab hold of a solid object in zero gravity.
|
|
/// </summary>
|
|
float GrabRange { get; }
|
|
|
|
/// <summary>
|
|
/// Is the entity Sprinting (running)?
|
|
/// </summary>
|
|
bool Sprinting { get; }
|
|
|
|
/// <summary>
|
|
/// Calculated linear velocity direction of the entity.
|
|
/// </summary>
|
|
(Vector2 walking, Vector2 sprinting) VelocityDir { get; }
|
|
|
|
EntityCoordinates LastPosition { get; set; }
|
|
|
|
float StepSoundDistance { get; set; }
|
|
|
|
/// <summary>
|
|
/// Toggles one of the four cardinal directions. Each of the four directions are
|
|
/// composed into a single direction vector, <see cref="SharedPlayerInputMoverComponent.VelocityDir"/>. Enabling
|
|
/// opposite directions will cancel each other out, resulting in no direction.
|
|
/// </summary>
|
|
/// <param name="direction">Direction to toggle.</param>
|
|
/// <param name="subTick"></param>
|
|
/// <param name="enabled">If the direction is active.</param>
|
|
void SetVelocityDirection(Direction direction, ushort subTick, bool enabled);
|
|
|
|
void SetSprinting(ushort subTick, bool walking);
|
|
|
|
}
|
|
}
|