public static Config CreateNewConfig() { Config config = new Config { Id = 0, Name = "Nazwa", CreationDate = DateTime.Now, DrawStartPoint = true, NrOfLevels = 2, WaitingTime = 3f, Levels = new List <LevelConfig>() }; var level1 = new LevelConfig { levelNumber = 1, shape = Shape.HorizontalLine, lineStroke = LineStroke.Medium, shapeColor = PastelColorFactory.RandomColor }; level1.brushColor = PastelColorFactory.RandomColorWithExclude(level1.shapeColor); config.Levels.Add(level1); var level2 = new LevelConfig { levelNumber = 2, shape = Shape.VerticalLine, lineStroke = LineStroke.Medium, shapeColor = PastelColorFactory.RandomColor }; level2.brushColor = PastelColorFactory.RandomColorWithExclude(level2.shapeColor); config.Levels.Add(level2); return(config); }
public void AddLevel(int pos) { var level = new LevelConfig { levelNumber = pos + 1, shape = Shape.HorizontalLine, lineStroke = LineStroke.Medium, shapeColor = PastelColorFactory.RandomColor }; level.brushColor = PastelColorFactory.RandomColorWithExclude(level.shapeColor); config.Levels.Insert(pos, level); config.NrOfLevels++; OnLevelAdded(pos); _levelManagers.Insert(pos, InstantiateLevelManager(level, pos)); int from = 0; int to = 0; if (pos <= activeLevelManager) { activeLevelManager++; from = 0; to = activeLevelManager; config.Levels[activeLevelManager].levelNumber = activeLevelManager + 1; _levelManagers[activeLevelManager].UpdateTitle(); } else { from = pos + 1; to = _levelManagers.Count; } for (int i = from; i < to; ++i) { SetPosition(_levelManagers[i].gameObject, i); } for (int i = pos; i < config.Levels.Count; ++i) { config.Levels[i].levelNumber = i + 1; } foreach (var lvl in _levelManagers) { lvl.UpdateTitle(); } if (pos <= activeLevelManager) { SetActiveLevelPrevious(); } else { SetActiveLevelNext(); } }