示例#1
0
        private void BuildFairing()
        {
            //MonoBehaviour.print("Building Fairing "+guiTopDiameter+" : "+guiBottomDiameter);
            needsRebuilt   = false;
            fairingCreated = true;
            int len = fairingParts.Length;

            if (HighLogic.LoadedSceneIsEditor)//only enforce editor sizing while in the editor;
            {
                for (int i = 0; i < len; i++)
                {
                    //MonoBehaviour.print("pt t/b " + fairingParts[i].topRadius + " : " + fairingParts[i].bottomRadius);
                    if (fairingParts[i].canAdjustTop && canAdjustTop)
                    {
                        fairingParts[i].topRadius = guiTopDiameter * 0.5f;
                    }
                    if (fairingParts[i].canAdjustBottom && canAdjustBottom)
                    {
                        fairingParts[i].bottomRadius = guiBottomDiameter * 0.5f;
                    }
                    //MonoBehaviour.print("pt t/b 2" + fairingParts[i].topRadius + " : " + fairingParts[i].bottomRadius);
                }
            }
            for (int i = 0; i < len; i++)
            {
                fairingParts[i].generateColliders = this.generateColliders;
                fairingParts[i].facesPerCollider  = 1;
                fairingParts[i].numOfSections     = (int)Math.Round(numOfSections);
                fairingParts[i].CreateFairing(editorTransparency ? 0.25f : 1f);
            }
            ROLModInterop.OnPartGeometryUpdate(part, true);
        }
示例#2
0
        public void DestroyFairing()
        {
            //MonoBehaviour.print("Destroying Fairing");
            int len = fairingParts.Length;

            for (int i = 0; i < len; i++)
            {
                fairingParts[i].DestroyFairing();
            }
            if (fairingCreated)
            {
                ROLModInterop.OnPartGeometryUpdate(part, true);
            }
            fairingCreated = false;
        }
示例#3
0
 private void JettisonFairing()
 {
     //MonoBehaviour.print("Jettisoning fairing - prev: "+prevAttachedPart);
     if (numOfSections == 1 && prevAttachedPart != null)
     {
         //MonoBehaviour.print("Reparenting fairing to: " + prevAttachedPart);
         ReparentFairing(prevAttachedPart);
         ROLModInterop.OnPartGeometryUpdate(prevAttachedPart, true);//update other parts highlight renderers, to add the new fairing bits to it.
     }
     else
     {
         //MonoBehaviour.print("Jettisoning Panels: " + fairingParts.Length);
         foreach (ROLNodeFairingData data in fairingParts)
         {
             data.JettisonPanels(part);
         }
     }
     prevAttachedPart  = null;
     fairingJettisoned = true;
     fairingEnabled    = false;
     DestroyFairing();//cleanup any leftover bits in fairing containers
 }
示例#4
0
 /// <summary>
 /// Calls the generic ROT procedural drag-cube updating routines.  Will update the drag cubes for whatever the current model state is.
 /// </summary>
 private void UpdateDragCubes()
 {
     ROLModInterop.OnPartGeometryUpdate(part, true);
 }