Exemple #1
0
        public void MassSubstitue(TileCategory categoryContained, TileCategory categoryOutside)
        {
            var oldTiles = MultiTiles.Select(tile => categoryContained.FindTile(tile.Id)).Where(t => t != null);

            foreach (var oldtile in oldTiles)
            {
                var oldIdDescription = _tileData.GetItemTile(oldtile.Id);
                var tiles            = categoryOutside.FindByPosition(oldtile.PositionString);
                var tileDataTiles    =
                    tiles.Where(
                        tile =>
                        _tileData.GetItemTile(tile.Id).Height == oldIdDescription.Height &&
                        oldIdDescription.Flags.HasFlag(TileFlag.Window) ==
                        _tileData.GetItemTile(tile.Id).Flags.HasFlag(TileFlag.Window) &&
                        oldIdDescription.Flags.HasFlag(TileFlag.Wall) ==
                        _tileData.GetItemTile(tile.Id).Flags.HasFlag(TileFlag.Wall) &&
                        oldIdDescription.Flags.HasFlag(TileFlag.Roof) ==
                        _tileData.GetItemTile(tile.Id).Flags.HasFlag(TileFlag.Roof) &&
                        oldIdDescription.Flags.HasFlag(TileFlag.Surface) ==
                        _tileData.GetItemTile(tile.Id).Flags.HasFlag(TileFlag.Surface));
                var tmp = tileDataTiles.FirstOrDefault();
                if (tmp != null)
                {
                    MassSet(oldtile.Id, tmp);
                }
            }
            Categories.Remove(categoryContained);
            Categories.Add(categoryOutside);
            UpdateCategories();

            RaisePropertyChanged(() => Categories);
            RaisePropertyChanged(() => MultiTiles);
            RaisePropertyChanged(() => Text);
        }
        public void MassSubstitue(TileCategory categoryContained, TileCategory categoryOutside)
        {
            var oldTiles = MultiTiles.Select(tile => categoryContained.FindTile(tile.Id)).Where(t => t != null);

            foreach (var oldtile in oldTiles)
            {
                var oldIdDescription = _tileData.GetItemTile(oldtile.Id);
                var tiles = categoryOutside.FindByPosition(oldtile.PositionString);
                var tileDataTiles =
                    tiles.Where(
                        tile =>
                        _tileData.GetItemTile(tile.Id).Height == oldIdDescription.Height &&
                        oldIdDescription.Flags.HasFlag(TileFlag.Window) ==
                        _tileData.GetItemTile(tile.Id).Flags.HasFlag(TileFlag.Window) &&
                        oldIdDescription.Flags.HasFlag(TileFlag.Wall) ==
                        _tileData.GetItemTile(tile.Id).Flags.HasFlag(TileFlag.Wall) &&
                        oldIdDescription.Flags.HasFlag(TileFlag.Roof) ==
                        _tileData.GetItemTile(tile.Id).Flags.HasFlag(TileFlag.Roof) &&
                        oldIdDescription.Flags.HasFlag(TileFlag.Surface) ==
                        _tileData.GetItemTile(tile.Id).Flags.HasFlag(TileFlag.Surface));
                var tmp = tileDataTiles.FirstOrDefault();
                if(tmp!= null)
                MassSet(oldtile.Id,tmp);
            }
            Categories.Remove(categoryContained);
            Categories.Add(categoryOutside);
            UpdateCategories();

            RaisePropertyChanged(() => Categories);
            RaisePropertyChanged(() => MultiTiles);
            RaisePropertyChanged(()=>Text);

        }
Exemple #3
0
        public void RoofsSubstitue(TileCategory roof)
        {
            var miscTiles =
                from mt in MultiTiles
                where Roofs.Contains(mt.Tile.GetStyle().GetCategory())
                select mt;

            foreach (var multiTile in miscTiles)
            {
                var rooftile = multiTile.Tile as TileRoof;
                var roofs    = roof.FindByPosition(rooftile.PosRoof);
                multiTile.SetTile(roofs.First());
            }
        }
Exemple #4
0
        public void MiscSubstitue(TileCategory misc)
        {
            var miscTiles =
                from mt in MultiTiles
                where Misc.Contains(mt.Tile.GetStyle().GetCategory())
                select mt;

            foreach (var multiTile in miscTiles)
            {
                var misctile = multiTile.Tile;
                var miscs    = misc.FindByPosition(misctile.Position);
                multiTile.SetTile(miscs.First());
            }
        }
 public void WallSubstitue(TileCategory wallCat)
 {
     var wallTiles =
         from mt in MultiTiles
         where Walls.Contains(mt.Tile.GetStyle().GetCategory())
         select mt;
     foreach (var multiTile in wallTiles)
     {
         var wall = multiTile.Tile as TileWall;
         var walls = wallCat.FindByPosition(wall.Position);
         if(wall.PositionW!= PositionWallWindow.None)
         {
             walls =
                 from w in walls
                 where ((TileWall) w).WallPos == wall.WallPos
                 select w;
         }
         multiTile.SetTile(walls.First());
     }
 }
Exemple #6
0
        public void WallSubstitue(TileCategory wallCat)
        {
            var wallTiles =
                from mt in MultiTiles
                where Walls.Contains(mt.Tile.GetStyle().GetCategory())
                select mt;

            foreach (var multiTile in wallTiles)
            {
                var wall  = multiTile.Tile as TileWall;
                var walls = wallCat.FindByPosition(wall.Position);
                if (wall.PositionW != PositionWallWindow.None)
                {
                    walls =
                        from w in walls
                        where ((TileWall)w).WallPos == wall.WallPos
                        select w;
                }
                multiTile.SetTile(walls.First());
            }
        }
 public void RoofsSubstitue(TileCategory roof)
 {
     var miscTiles =
         from mt in MultiTiles
         where Roofs.Contains(mt.Tile.GetStyle().GetCategory())
         select mt;
     foreach (var multiTile in miscTiles)
     {
         var rooftile = multiTile.Tile as TileRoof;
         var roofs = roof.FindByPosition(rooftile.PosRoof);
         multiTile.SetTile(roofs.First());
     }
 }
 public void MiscSubstitue(TileCategory misc)
 {
     var miscTiles =
         from mt in MultiTiles
         where Misc.Contains(mt.Tile.GetStyle().GetCategory())
         select mt;
     foreach (var multiTile in miscTiles)
     {
         var misctile = multiTile.Tile;
         var miscs = misc.FindByPosition(misctile.Position);
         multiTile.SetTile(miscs.First());
     }
 }