public void Update() { if (IsVisible() || attachmentWindow.IsVisible() || colliderWindow.IsVisible()) { if (ValidatePart()) { position = PartUtil.GetPosition(part, referenceSpace, compoundTargetSelected); rotation = PartUtil.GetRotation(part, referenceSpace, compoundTargetSelected); axisLines.UpdateAxis(part, referenceSpace, compoundTargetSelected); } } }
private string SetRotation(int vectorIndex, string value) { float fValue = float.Parse(value, CultureInfo.InvariantCulture.NumberFormat); Quaternion rotation = PartUtil.GetRotation(part, referenceSpace, compoundTargetSelected); Vector3 partEulerAngles = rotation.eulerAngles; Vector3 eulerAngles = new Vector3(0, 0, 0); eulerAngles[vectorIndex] = fValue - partEulerAngles[vectorIndex]; if (part.isCompund) { CompoundPartTransform.Rotate((CompoundPart)part, eulerAngles, referenceSpace, compoundTargetSelected); } else { PartTransform.Rotate(part, eulerAngles, referenceSpace); } return(value); }