maint: renamed player folder to units to match namespaces. added unit class as well.
This commit is contained in:
57
Assets/Scripts/Units/ResolvedMovement.cs
Normal file
57
Assets/Scripts/Units/ResolvedMovement.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
using System;
|
||||
using Reset.Core.Tools;
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Reset.Units{
|
||||
public class ResolvedMovement{
|
||||
public struct MoveDirection{
|
||||
private Transform owner;
|
||||
|
||||
// Both are in world space, and translated to local
|
||||
private Vector2 _moveRaw;
|
||||
private Vector2 _moveDir;
|
||||
|
||||
[ShowInInspector]
|
||||
public Vector2 World{
|
||||
get{
|
||||
DebugOverlayDrawer.ChangeValue("Movement", "_moveDir", _moveDir);
|
||||
return _moveDir;
|
||||
}
|
||||
set{
|
||||
_moveDir = value;
|
||||
}
|
||||
}
|
||||
|
||||
[ShowInInspector]
|
||||
public Vector2 Local => owner.InverseTransformDirection(_moveDir.ToVector3()).ToVector2();
|
||||
|
||||
[ShowInInspector, PropertySpace(5)]
|
||||
public Vector2 RawWorld{
|
||||
get{
|
||||
DebugOverlayDrawer.ChangeValue("Movement", "_moveRaw", _moveRaw);
|
||||
// return owner.TransformDirection(_moveDir.ToVector3()).ToVector2();
|
||||
return _moveRaw;
|
||||
}
|
||||
set{
|
||||
_moveRaw = value;
|
||||
}
|
||||
}
|
||||
|
||||
[ShowInInspector]
|
||||
public Vector2 RawLocal => owner.InverseTransformDirection(_moveRaw.ToVector3()).ToVector2();
|
||||
|
||||
public MoveDirection(Transform ownerTransform){
|
||||
owner = ownerTransform;
|
||||
_moveDir = Vector2.zero;
|
||||
_moveRaw = Vector2.zero;
|
||||
}
|
||||
}
|
||||
|
||||
[ShowInInspector, InlineProperty, BoxGroup("Direction"), HideLabel] public MoveDirection moveDirection;
|
||||
public float moveSpeed;
|
||||
public Quaternion rotation;
|
||||
public float rotationSpeed;
|
||||
public float gravity;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user