Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
                }
            }

        }