36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| 
 | |
| namespace Syntriax.Modules.Movement
 | |
| {
 | |
|     public interface IMovement
 | |
|     {
 | |
|         float BaseSpeed { get; set; }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The value will be multiplied with the <see cref="BaseSpeed"/> value
 | |
|         /// </summary>
 | |
|         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>
 | |
|         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();
 | |
|     }
 | |
| }
 |