public RunData() { var run = Run.instance; seed = run.seed.ToString(); difficulty = (int)run.selectedDifficulty; var stopWatch = run.GetFieldValue <Run.RunStopwatch>("runStopwatch"); isPaused = stopWatch.isPaused; offsetFromFixedTime = stopWatch.offsetFromFixedTime; fixedTime = run.fixedTime; stageClearCount = run.stageClearCount; sceneName = SceneManager.GetActiveScene().name; nextSceneName = run.nextStageScene.ChooseSceneName(); shopPortalCount = run.shopPortalCount; itemMask = new ItemMaskData(run.availableItems); equipmentMask = new EquipmentMaskData(run.availableEquipment); runRng = ProperSave.PreStageRng; eventFlags = run.GetFieldValue <HashSet <string> >("eventFlags").ToArray(); trialArtifact = (int)(ArtifactTrialMissionController.trialArtifact?.artifactIndex ?? ArtifactIndex.None); }