CapersProject/Assets/02.Scripts/Interface/IPhysicMovable.cs

25 lines
769 B
C#

using UnityEngine;
namespace BlueWater.Interfaces
{
public interface IPhysicMovable
{
Rigidbody Rigidbody { get; }
float MoveSpeed { get; }
float MoveSpeedCoefficient { get; }
bool IsMoveEnabled { get; }
bool IsMoving { get; }
Vector3 CurrentDirection { get; }
Vector3 PushDirection { get; }
float PushPower { get; }
float PushPowerReduction { get; }
void SetMoveSpeedCoefficient(float value);
void ResetMoveSpeedCoefficient();
void SetCurrentDirection(Vector3 normalDirection);
bool CanMove();
void Move();
void AddForce(Vector3 force, ForceMode forceMode);
void SetPush(Vector3 pushDirection, float pushPower);
}
}