Files
project-reset/Assets/Scripts/Player/ResolvedMovement.cs

37 lines
1007 B
C#

using Sirenix.OdinInspector;
using UnityEngine;
namespace Reset.Units{
public class ResolvedMovement{
public struct MoveDirection{
private Transform owner;
private Vector2 _moveDir; // Always local
public Vector2 World{
get => owner.TransformDirection(_moveDir);
set{
_moveDir = owner.InverseTransformDirection(value);
}
}
public Vector2 Local{
get => _moveDir;
set {
_moveDir = value;
}
}
public MoveDirection(Transform ownerTransform){
owner = ownerTransform;
_moveDir = Vector2.zero;
}
}
[ShowInInspector] public MoveDirection moveDirection;
public float moveSpeed;
public Quaternion rotation;
public float rotationSpeed;
public float gravity;
}
}