public GameSetupSvc(AppConfigMgnr conf) { int id = -1; FileHelper fReader = new FileHelper(); var persistentLevels = fReader.ReadFromXml<Level>(conf.GetSetting<string>("LevelFile")); AllLevels = new List<NonPersistentLevel>(); int k = 0; foreach (Level level in persistentLevels) { NonPersistentLevel npl = new NonPersistentLevel(); npl.Lvl = level; npl.Coins = new List<Coin>(); int rasterHalb = level.Raster / 2; for (int i = 0; i < level.Height / level.Raster; i++) // vertical { for (int j = 0; j < level.Width / level.Raster; j++) // horizontal { Coin c = new Coin(); c.Pos = new Point() { X = j * level.Raster + rasterHalb, Y = i * level.Raster + rasterHalb }; c.Id = ++id; npl.Coins.Add(c); } } AllLevels.Add(npl); ++k; } }
private void DrawCoins(NonPersistentLevel level) { foreach (Coin c in level.Coins) { Ellipse e = DrawEllipse(Scale(c.Pos.X), Scale(c.Pos.Y), Scale(Const.COIN_RADIUS), Color.FromRgb(0, 255, 0)); coins.Add(c.Pos, e); } }
private void initLevel(NonPersistentLevel l) { Point size = new Point(l.Lvl.Width, l.Lvl.Height); IMap2d map = new Map2d(size); Model.Map = map; map.InsertWalls(l.Lvl.Walls); //add coins int coinSize = 1; for (int i = 0; i < l.Coins.Count; i++) { ModelCoin mc = new ModelCoin(Model, l.Coins[i].Id, coinSize); Model.AddModelObject(mc, l.Coins[i].Pos); } }
private void OnReset() { lvl = GameClient.Get(); TotalCounter = lvl.Lvl.Walls.Count; CurrentCounter = lvl.Lvl.Walls.Count; LevelName = lvl.Lvl.Name; }
public void Save(NonPersistentLevel level) { try { int idx = AllLevels.FindIndex(x => x.Lvl.Name.Equals(level.Lvl.Name)); if (idx >= 0) AllLevels[idx] = level; FileHelper fWriter = new FileHelper(); fWriter.WriteAsXml<Level>(AllLevels.Select(x => x.Lvl).ToList(), Conf.GetSetting<string>("LevelFile")); } catch (Exception e) { throw ThrowWCFException(e, 500); } }
public void Save(NonPersistentLevel currentLevel) { IGameSetup4ClientSvc svc = Svc; svc.Save(currentLevel); EpMgnr.CloseWcfChannel(svc); }