Movement/IMovement.cs

36 lines
1.1 KiB
C#
Raw Normal View History

using System;
2021-12-23 12:41:01 +03:00
namespace Syntriax.Modules.Movement
{
public interface IMovement
{
2022-02-19 16:02:38 +03:00
float BaseSpeed { get; set; }
/// <summary>
/// The value will be multiplied with the <see cref="BaseSpeed"/> value
/// </summary>
2021-12-23 13:41:32 +03:00
float MovementMultiplier { get; set; }
/// <summary>
/// If the <see cref="IMovement"/> can be taken over by the <see cref="IMovementController"/>s as the <see cref="IMovementController.ActiveMovement"/>
/// </summary>
bool CanTakeOver { get; }
/// <summary>
/// Called everytime the <see cref="CanTakeOver"/> field is changed
/// </summary>
/// <value>The new value of <see cref="CanTakeOver"/></value>
Action<bool> OnTakeOverStateChanged { get; set; }
/// <summary>
/// Updates the movement data on the <see cref="IMovement"/>
/// </summary>
2021-12-23 12:41:01 +03:00
void Move(float x = 0f, float y = 0f, float z = 0f);
/// <summary>
/// Applies the movement that was passed on with the <see cref="Move"/> method
/// </summary>
void ApplyMovement();
2021-12-23 12:41:01 +03:00
}
}