public static void SetNewGamePlotStates(
     this SFXSaveGameFile target,
     SFXSaveGameFile legacyImport,
     SFXSaveGameFile plusImport)
 {
     if (legacyImport != null)
     {
         target.CopyMe2PlotData(legacyImport);
         target.SetPlayerPlotData();
         target.DoMe2PlotImport(legacyImport);
     }
     else if (plusImport != null)
     {
         target.DoMe3NewGamePlusImport(plusImport);
         target.SetPlayerPlotData();
     }
     else
     {
         target.SetPlayerPlotData();
         target.ApplyCanonPlots(Me1CanonPlotVariables);
         target.ApplyCanonPlots(Me2CanonPlotVariables);
     }
 }
        public static void DoMe2PlotImport(
            this SFXSaveGameFile target,
            SFXSaveGameFile legacyImport)
        {
            if (legacyImport.ME1Plot.BoolVariables.Length > 0 ||
                legacyImport.ME1Plot.IntVariables.Count > 0 ||
                legacyImport.ME1Plot.FloatVariables.Count > 0)
            {
                target.MergeMe1PlotRecord(legacyImport.ME1Plot);
                target.FixMe1PlotsDuringMe2PlotImport();
                target.CopyPlots(Me1ToMe3PlotCopy);
                target.Plot.SetBoolVariable(Constants.ME3_Plots_Bool_Is_ME1_Import, true);
            }
            else
            {
                target.ApplyCanonPlots(Me1CanonPlotVariables);
                target.DoDarkHorseMe1PlotCopyAndPlotLogicFix();
            }

            target.CopyPlots(Me2ToMe3PlotCopy);
            target.Plot.SetBoolVariable(Constants.ME3_Plots_Bool_Is_ME2_Import, true);
        }