public static bool SaveLevelData() { //create a new level save object LevelSaveData levelData = new LevelSaveData(currentLevelName); //add the states data of all the level data objects foreach (ILevelData data in levelDataObjects) { levelData.AddObject(data.Name, data.State); } BreakableTilemap breakable = FindObjectOfType <BreakableTilemap>(); //add the breakable tilemap data if (breakable) { foreach (Vector2Int broken in breakable.Broken) { levelData.AddBroken(broken); } } //save the level data return(SaveLevelData(levelData)); }