As the title suggests I would like some feedback as how to make this script better and more readable. All it does is smoothly rotates an object around its axis at 90 degrees when you input the A and D keys. It works fine, which is great, but it looks ugly. Any feedback would be great! Thank you.
The Script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class move : MonoBehaviour
{
Quaternion targetAngle90 = Quaternion.Euler(0, 0, -90);
Quaternion targetAngle180 = Quaternion.Euler(0, 0, -180);
Quaternion targetAngle270 = Quaternion.Euler(0, 0, -270);
Quaternion targetAngle360 = Quaternion.Euler(0, 0, -360);
Quaternion targetAngle0 = Quaternion.Euler(0, 0, 0);
public Quaternion currentAngle;
private void Start()
{
currentAngle = targetAngle0;
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.D))
{
DecreaseCurrentAngle();
}
else if (Input.GetKeyDown(KeyCode.A))
{
IncreaseCurrentAngle();
}
this.transform.rotation = Quaternion.Slerp(this.transform.rotation, currentAngle, .2f);
}
void DecreaseCurrentAngle()
{
if (currentAngle.eulerAngles.z == targetAngle0.eulerAngles.z)
{
currentAngle = targetAngle90;
}
else if (currentAngle.eulerAngles.z == targetAngle90.eulerAngles.z)
{
currentAngle = targetAngle180;
}
else if (currentAngle.eulerAngles.z == targetAngle180.eulerAngles.z)
{
currentAngle = targetAngle270;
}
else if (currentAngle.eulerAngles.z == targetAngle270.eulerAngles.z)
{
currentAngle = targetAngle0;
}
}
void IncreaseCurrentAngle()
{
if (currentAngle.eulerAngles.z == targetAngle0.eulerAngles.z)
{
currentAngle = targetAngle270;
}
else if (currentAngle.eulerAngles.z == targetAngle90.eulerAngles.z)
{
currentAngle = targetAngle0;
}
else if (currentAngle.eulerAngles.z == targetAngle180.eulerAngles.z)
{
currentAngle = targetAngle90;
}
else if (currentAngle.eulerAngles.z == targetAngle270.eulerAngles.z)
{
currentAngle = targetAngle180;
}
}
}