コード例 #1
0
 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);
         }
     }
 }
コード例 #2
0
        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);
        }