change: SetNewRotation now takes in Vector3s instead
This commit is contained in:
@@ -29,9 +29,9 @@ namespace Reset.Units {
|
|||||||
//EndAction can be called from anywhere.
|
//EndAction can be called from anywhere.
|
||||||
protected override void OnExecute() {
|
protected override void OnExecute() {
|
||||||
if (relativeToIsDirection.value) {
|
if (relativeToIsDirection.value) {
|
||||||
agent.SetNewRotation(Quaternion.Euler(newRotation.value), relativity.value, absolute.value, Quaternion.Euler(relativeTo.value));
|
agent.SetNewRotation(newRotation.value, relativity.value, absolute.value, relativeTo.value);
|
||||||
} else {
|
} else {
|
||||||
agent.SetNewRotation(Quaternion.Euler(newRotation.value), relativity.value, absolute.value, Quaternion.LookRotation(relativeTo.value));
|
agent.SetNewRotation(newRotation.value, relativity.value, absolute.value, relativeTo.value);
|
||||||
}
|
}
|
||||||
EndAction(true);
|
EndAction(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,7 +51,6 @@ namespace Reset.Units{
|
|||||||
|
|
||||||
// Apply movement
|
// Apply movement
|
||||||
DoMovement(resolvedMovement.moveDirection.World, resolvedMovement.gravity, resolvedMovement.moveSpeed, data.gravityScale.Value);
|
DoMovement(resolvedMovement.moveDirection.World, resolvedMovement.gravity, resolvedMovement.moveSpeed, data.gravityScale.Value);
|
||||||
Debug.Log(controller.isGrounded);
|
|
||||||
DebugOverlayDrawer.ChangeValue("Movement", "Move Direction (Local)", resolvedMovement.moveDirection.Local);
|
DebugOverlayDrawer.ChangeValue("Movement", "Move Direction (Local)", resolvedMovement.moveDirection.Local);
|
||||||
DebugOverlayDrawer.ChangeValue("Movement", "Move Direction (World)", resolvedMovement.moveDirection.World);
|
DebugOverlayDrawer.ChangeValue("Movement", "Move Direction (World)", resolvedMovement.moveDirection.World);
|
||||||
}
|
}
|
||||||
@@ -246,13 +245,14 @@ namespace Reset.Units{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetNewRotation(Quaternion value, float relativity, bool absolute, Quaternion relativeTo = default){ // new
|
public void SetNewRotation(Vector3 value, float relativity, bool absolute, Vector3 relativeTo = default){ // new
|
||||||
Quaternion relativeValue = relativeTo * value;
|
Vector3 relativeValue = Quaternion.LookRotation(relativeTo) * value;
|
||||||
|
Quaternion valueAsQuaternion = Quaternion.Euler(relativeValue);
|
||||||
|
|
||||||
if (absolute){
|
if (absolute){
|
||||||
resolvedMovement.rotation = Quaternion.Lerp(resolvedMovement.rotation, relativeValue, relativity);
|
resolvedMovement.rotation = Quaternion.Lerp(resolvedMovement.rotation, valueAsQuaternion, relativity);
|
||||||
} else {
|
} else {
|
||||||
resolvedMovement.rotation = Quaternion.Lerp(resolvedMovement.rotation, resolvedMovement.rotation * relativeValue, relativity);
|
resolvedMovement.rotation = Quaternion.Lerp(resolvedMovement.rotation, resolvedMovement.rotation * valueAsQuaternion, relativity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user