private void btnAddGame_Click(object sender, EventArgs e) { var game = new Game() { Name = "Super Game", Rules = "There are no rules", MaxNumberOfPlayers = 2, AccessibleTerrainTypes = 2, InAccessibleTerrainTypes = 2, }; game.Map.LoadMap("Maps\\Map02.csv"); game.Map.Name = "Demo map"; game.Map.Description = "My first demo map created in google spreadsheets"; var gunSmallArms = new Weapon() { Class = 0, FiringRange = 2, Name = "small arms", RotatingSpeed = 90, ShieldDamage = 1, ArmorDamage = 2 }; var unitScout = new Unit() { Name = "Scout", Class = 0, Heading = enHeading.North, MovingSpeed = 3, MovingRange = 1, RotatingSpeed = 90, BuildTimeInSeconds = 10, MaxNumberOf = 1, Armor = 5, RadarRange = 1, Shields = 5, HasFixedGun = true, FixedGunArmorDamage = 1, FixedGunFiringRange = 1, FixedGunShieldDamage = 1, UnitTypeId = Guid.NewGuid().ToString() }; // unitScout.Weapons.Add(gunSmallArms); game.AvailableUnits.Add(unitScout); var gunTurret = new Weapon() { Class = 1, FiringRange = 2, Name = "heavy arms", RotatingSpeed = 45, ShieldDamage = 10, ArmorDamage = 20 }; var heavyUnit = new Unit() { Name = "Heavy", Class = 1, Heading = enHeading.NorthEast, MovingSpeed = 2, MovingRange = 1, RotatingSpeed = 45, BuildTimeInSeconds = 10, MaxNumberOf = 1, Armor = 100, RadarRange = 1, Shields = 200, HasFixedGun = true, FixedGunArmorDamage = 10, FixedGunFiringRange = 10, FixedGunShieldDamage = 10, UnitTypeId = Guid.NewGuid().ToString() }; // heavyUnit.Weapons.Add(gunTurret); game.AvailableUnits.Add(heavyUnit); game.Save(this.FAppPublic); }
private void UpdateRadarRange(PlayerGame playerGame, Game game, Unit newUnit) { //update tiles in radar range for user List<MapTile> radarRange = playerGame.Map.MapTiles.Where(c => c.Xpos >= newUnit.Position.Xpos - newUnit.RadarRange && c.Xpos <= newUnit.Position.Xpos + newUnit.RadarRange && c.Ypos >= newUnit.Position.Ypos - newUnit.RadarRange && c.Ypos <= newUnit.Position.Ypos + newUnit.RadarRange).ToList(); foreach (MapTile mt in radarRange) { MapTile motherTile = game.Map.MapTiles.Where(c => c.Xpos == mt.Xpos && c.Ypos == mt.Ypos).First(); mt.TerrainType = motherTile.TerrainType; mt.IsAccessible = motherTile.IsAccessible; mt.IsSpawningPoint = motherTile.IsSpawningPoint; mt.UserId = playerGame.UserId; PlayerMapTile pmt = this.flPlayerTiles.TypedItems<PlayerMapTile>().Where(c => c.Tile.Xpos == mt.Xpos && c.Tile.Ypos == mt.Ypos && c.UserId == playerGame.UserId).FirstOrDefault(); if (pmt == null) { PlayerMapTile playerMapTile = new PlayerMapTile(game.Id, playerGame.UserId, mt); playerMapTile.Save(this.FAppPrivate); } } }