public void RotateModelDuringTurn(float progress, Movement.ManeuverDirection direction) { float turningDirection = 0; turningDirection = (direction == Movement.ManeuverDirection.Right) ? 1 : -1; if (progress > 0.5f) { progress = 1 - progress; } modelCenter.localEulerAngles = new Vector3(0, 0, Mathf.Lerp(0, 45 * turningDirection, progress)); }
public Movement.MovementStruct ManeuverFromString(string parameters) { string[] arrParameters = parameters.Split('.'); Movement.ManeuverSpeed speed = Movement.ManeuverSpeed.Speed1; switch (arrParameters[0]) { case "1": speed = Movement.ManeuverSpeed.Speed1; break; case "2": speed = Movement.ManeuverSpeed.Speed2; break; case "3": speed = Movement.ManeuverSpeed.Speed3; break; case "4": speed = Movement.ManeuverSpeed.Speed4; break; case "5": speed = Movement.ManeuverSpeed.Speed5; break; } Movement.ManeuverDirection direction = Movement.ManeuverDirection.Forward; switch (arrParameters[1]) { case "F": direction = Movement.ManeuverDirection.Forward; break; case "L": direction = Movement.ManeuverDirection.Left; break; case "R": direction = Movement.ManeuverDirection.Right; break; } Movement.ManeuverBearing bearing = Movement.ManeuverBearing.Straight; switch (arrParameters[2]) { case "S": bearing = Movement.ManeuverBearing.Straight; break; case "R": bearing = Movement.ManeuverBearing.KoiogranTurn; break; case "B": bearing = Movement.ManeuverBearing.Bank; break; case "T": bearing = Movement.ManeuverBearing.Turn; break; } Movement.ManeuverColor color = Selection.ThisShip.GetColorComplexityOfManeuver(parameters); Movement.MovementStruct result = new Movement.MovementStruct(); result.Speed = speed; result.Direction = direction; result.Bearing = bearing; result.ColorComplexity = color; return(result); }