internal void ApplyGUIUpdate(CloudGUI cloudGUI)
 {
     mainTexture.Clone(cloudGUI.MainTexture);
     detailTexture.Clone(cloudGUI.DetailTexture);
     scaledShaderFloats.Clone(cloudGUI.ScaledShaderFloats);
     shaderFloats.Clone(cloudGUI.ShaderFloats);
     altitude  = cloudGUI.Altitude.AltitudeF;
     color     = cloudGUI.Color.Color;
     useVolume = cloudGUI.UseVolume;
     UpdateTextures();
     UpdateFloats();
     CloudOverlay.UpdateAltitude(true, altitude);
     if (useVolume)
     {
         CloudOverlay.MacroCallback    = MacroCallback;
         CloudOverlay.DominantCallback = DominantCallback;
         if (volume != null)
         {
             volume.Destroy();
             volume = null;
         }
     }
     else
     {
         CloudOverlay.MacroCallback    = null;
         CloudOverlay.DominantCallback = null;
         if (volume != null)
         {
             volume.Destroy();
             volume = null;
         }
     }
 }