public LevelState GetLevelState(bool includeEverything) { var levelState = new LevelState(levelName); var allUnitData = new List <Unit.UnitData>(); if (includeEverything) { allUnitData.AddRange(currentObstacleManager.GetDataOfUnits()); allUnitData.AddRange(currentMobManager.GetDataOfUnits()); } else { allUnitData.AddRange(currentObstacleManager.GetDataOfUnits <ItemOnGround>()); } levelState.unitData = allUnitData; return(levelState); }