コード例 #1
0
 private static void LoadPartsData(GameSaving.VesselSave vesselToLoad, Part[] loadedParts)
 {
     for (int i = 0; i < vesselToLoad.parts.Length; i++)
     {
         Part part = loadedParts[i];
         bool flag = !(part == null);
         if (flag)
         {
             Part.Save save       = vesselToLoad.parts[i];
             Module[]  components = part.GetComponents <Module>();
             Array.Reverse(components);
             Array.Reverse(save.moduleSaves);
             for (int j = 0; j < Mathf.Min(part.modules.Length, save.moduleSaves.Length); j++)
             {
                 components[j].Load(save.moduleSaves[j]);
             }
         }
     }
     for (int k = 0; k < vesselToLoad.parts.Length; k++)
     {
         bool flag2 = !(loadedParts[k] == null);
         if (flag2)
         {
             Module[] components2 = loadedParts[k].GetComponents <Module>();
             for (int l = 0; l < Mathf.Min(loadedParts[k].modules.Length, vesselToLoad.parts[k].moduleSaves.Length); l++)
             {
                 components2[l].OnPartLoaded();
             }
         }
     }
 }
コード例 #2
0
    private static Part.Save[] GetPartsSaveData(List <Part> partsToSave)
    {
        int count = partsToSave.Count;

        Part.Save[] array = new Part.Save[count];
        for (int i = 0; i < count; i++)
        {
            array[i] = new Part.Save(partsToSave[i], partsToSave[i].orientation, partsToSave);
        }
        return(array);
    }
コード例 #3
0
 private static void LoadPartsData(GameSaving.VesselSave vesselToLoad, Part[] loadedParts)
 {
     for (int i = 0; i < vesselToLoad.parts.Length; i++)
     {
         Part      part       = loadedParts[i];
         Part.Save save       = vesselToLoad.parts[i];
         Module[]  components = part.GetComponents <Module>();
         Array.Reverse(components);
         Array.Reverse(save.moduleSaves);
         for (int j = 0; j < part.modules.Length; j++)
         {
             components[j].Load(save.moduleSaves[j]);
         }
     }
 }