private void Rotate(int vectorIndex, bool inverse, Space space)
        {
            Vector3 eulerAngles = new Vector3(0, 0, 0);

            eulerAngles[vectorIndex] = inverse ? -this.deltaRotation : this.deltaRotation;

            PartTransform.Rotate(this.part, eulerAngles, space);
        }
        private string SetRotation(int vectorIndex, string value, Space space)
        {
            float   fValue          = float.Parse(value, CultureInfo.InvariantCulture.NumberFormat);
            Vector3 partEulerAngles = (space == Space.Self) ? this.part.transform.localRotation.eulerAngles : this.part.transform.rotation.eulerAngles;
            Vector3 eulerAngles     = new Vector3(0, 0, 0);

            eulerAngles[vectorIndex] = fValue - partEulerAngles[vectorIndex];
            PartTransform.Rotate(this.part, eulerAngles, space);
            return(value);
        }
        private void Rotate(int vectorIndex, bool inverse)
        {
            Vector3 eulerAngles = new Vector3(0, 0, 0);

            eulerAngles[vectorIndex] = inverse ? -deltaRotation : deltaRotation;

            if (part.isCompund)
            {
                CompoundPartTransform.Rotate((CompoundPart)part, eulerAngles, referenceSpace, compoundTargetSelected);
            }
            else
            {
                PartTransform.Rotate(part, eulerAngles, referenceSpace);
            }
        }
        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);
        }