public void EditorGeometryUpdate()
 {
     if (ObjectsNotNull())
         if (fairingVisible != engineFairing.jettisonTransform.gameObject.activeSelf)
         {
             geoModule.RebuildAllMeshData();
             fairingVisible = !fairingVisible;
         }
 }
 public void EditorGeometryUpdate()
 {
     if (lastAttachState != part.attachState || lastTarget != part.target || !EditorLogic.SortedShipList.Contains(part.target))
     {
         geoModule.RebuildAllMeshData();
         lastAttachState = part.attachState;
         lastTarget      = part.target;
     }
 }
Exemple #3
0
 public void EditorGeometryUpdate()
 {
     if (lastAttachState == part.attachState &&
         lastTarget == part.target &&
         EditorLogic.SortedShipList.Contains(part.target))
     {
         return;
     }
     geoModule.RebuildAllMeshData();
     lastAttachState = part.attachState;
     lastTarget      = part.target;
 }
        public void EditorGeometryUpdate()
        {
            List <FairingPanel> panels = fairing.Panels;
            bool rebuildMesh           = false;

            rebuildMesh = prevPanelBounds.Count == panels.Count;        //if bounds count doesn't equal panels count, the number of panels changed

            if (rebuildMesh)
            {
                prevPanelBounds.Clear();
            }

            for (int i = 0; i < panels.Count; i++)      //set them back to where they started to prevent voxelization errors
            {
                panels[i].SetExplodedView(0);
                Bounds panelBounds = panels[i].GetBounds();

                if (i >= prevPanelBounds.Count)      //set new panel bounds
                {
                    rebuildMesh = true;
                    prevPanelBounds.Add(panelBounds);
                }
                else if (panelBounds != prevPanelBounds[i])
                {
                    rebuildMesh = true;
                    prevPanelBounds.Add(panelBounds);
                }
            }

            if (rebuildMesh)
            {
                geoModule.RebuildAllMeshData();
            }
        }
Exemple #5
0
        public void EditorGeometryUpdate()
        {
            Transform t = engineFairing.jettisonTransform;

            if (t == null)
            {
                return;
            }

            GameObject o = t.gameObject;

            if (o != null)
            {
                if (fairingVisible != engineFairing.jettisonTransform.gameObject.activeSelf)
                {
                    geoModule.RebuildAllMeshData();
                    fairingVisible = !fairingVisible;
                }
            }
        }
Exemple #6
0
        public void EditorGeometryUpdate()
        {
            List <FairingPanel> panels = fairing.Panels;

            if (panels == null)
            {
                return;
            }

            //if bounds count doesn't equal panels count, the number of panels changed
            bool rebuildMesh = prevPanelBounds.Count == panels.Count;

            if (rebuildMesh)
            {
                prevPanelBounds.Clear();
            }

            //set them back to where they started to prevent voxelization errors
            for (int i = 0; i < panels.Count; i++)
            {
                FairingPanel p           = panels[i];
                var          panelBounds = new Bounds();
                if (p != null)
                {
                    p.SetExplodedView(0);
                    p.SetOpacity(1);
                    p.SetTgtExplodedView(0);
                    p.SetTgtOpacity(1);
                    if (p.ColliderContainer)
                    {
                        p.ColliderContainer.SetActive(true);
                    }

                    panelBounds = p.GetBounds();
                }

                if (i >= prevPanelBounds.Count) //set new panel bounds
                {
                    rebuildMesh = true;
                    prevPanelBounds.Add(panelBounds);
                }
                else if (panelBounds != prevPanelBounds[i])
                {
                    rebuildMesh        = true;
                    prevPanelBounds[i] = panelBounds;
                }
            }

            if (rebuildMesh)
            {
                geoModule.RebuildAllMeshData();
            }
        }
Exemple #7
0
        private void UpdateGeometryModule(ConstructionEventType type, Part p)
        {
            GeometryPartModule g = p.GetComponent <GeometryPartModule>();

            if (g != null && g.Ready)
            {
                if (type == ConstructionEventType.Unknown)
                {
                    g.RebuildAllMeshData();
                }
                else
                {
                    g.EditorUpdate();
                }
            }
        }
Exemple #8
0
        private static void UpdateGeometryModule(ConstructionEventType type, Part p)
        {
            if (p is null)
            {
                return;
            }
            GeometryPartModule g = p.GetComponent <GeometryPartModule>();

            if (g == null || !g.Ready)
            {
                return;
            }
            if (type == ConstructionEventType.Unknown)
            {
                g.RebuildAllMeshData();
            }
            else
            {
                g.EditorUpdate();
            }
        }