37 lines
1007 B
C#
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;
|
|
}
|
|
} |