private List <TileStyle> StylesSelector(List <TileCategory> listcat, TileCategory category) { return((from cat in listcat from s in category.Styles where cat.FindStyleByName(s.Name) != null select s).ToList()); }
static void begin_map() { List <TileCategory> options = new List <TileCategory>(); if (fCorridorTiles.Count != 0) { options.Add(TileCategory.Plain); } if (fTiles[TileCategory.Stairway].Count != 0) { options.Add(TileCategory.Stairway); } if (options.Count == 0) { return; } int n = Session.Random.Next() % options.Count; TileCategory option = options[n]; switch (option) { case TileCategory.Plain: // Start with a corridor add_corridor(null, false); break; case TileCategory.Stairway: // Start with a stairway add_stairway(null); break; } }
public void SetTileCategory() { switch (tileType) { case TileType.Boots: tileCategory = TileCategory.Armor; break; case TileType.Chestplate: tileCategory = TileCategory.Armor; break; case TileType.Helmet: tileCategory = TileCategory.Armor; break; case TileType.Axe: tileCategory = TileCategory.Weapon; break; case TileType.Bow: tileCategory = TileCategory.Weapon; break; case TileType.Dagger: tileCategory = TileCategory.Weapon; break; case TileType.Hammer: tileCategory = TileCategory.Weapon; break; case TileType.Shield: tileCategory = TileCategory.Weapon; break; case TileType.Sword: tileCategory = TileCategory.Weapon; break; case TileType.Wand: tileCategory = TileCategory.Weapon; break; } }
public override void Populate() { var txtFileLines = File.ReadAllLines(Install.GetPath("floors.txt")); var typeNames = txtFileLines[1].Split(Separators); for (int i = 2; i < txtFileLines.Length; i++) { var infos = txtFileLines[i].Split('\t'); var category = new TileCategory(); category.Name = infos.Last(); var style = new TileStyle(); category.AddStyle(style); for (int j = 1; j < typeNames.Length - 2; j++) { if (infos[j] != "0") { var tile = new TileFloor { Id = short.Parse(infos[j]) }; style.AddTile(tile); tile.ChangeFloorPosition(j); } } Categories.Add(category); } }
public override void Populate() { var txtFileLines = File.ReadAllLines(Install.GetPath("misc.txt")); var typeNames = txtFileLines[1].Split(Separators); TileCategory category = null; for (int i = 2; i < txtFileLines.Length; i++) { var infos = txtFileLines[i].Split('\t'); if (infos[1] == "0") { category = new TileCategory(Int32.Parse(infos[2])); category.Name = infos.Last(); Categories.Add(category); } var style = new TileStyle(); category.AddStyle(style); style.Name = infos.Last(); style.Index = Int32.Parse(infos[1]); for (int j = 3; j < typeNames.Length - 2; j++) { if (infos[j] != "0") { var tile = new TileMisc { Id = short.Parse(infos[j]) }; style.AddTile(tile); } } } TilesCategorySDKModule.Supp.PositionCheck(Categories); }
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 override void Populate() { var txtFileLines = File.ReadAllLines(DataManager.Location.LocalPath + "roofs.txt"); var typeNames = txtFileLines[1].Split(Separators); TileCategory category = null; for (int i = 2; i < txtFileLines.Length; i++) { var infos = txtFileLines[i].Split('\t'); if (infos[1] == "0") { category = new TileCategory(Int32.Parse(infos[2]), TypeTile.Roofs) { Name = infos.Last() }; Categories.Add(category); } var style = new TileStyle(); category.AddStyle(style); style.Name = infos.Last(); style.Id = Int32.Parse(infos[1]); for (int j = 3; j < typeNames.Length - 3; j++) { if (infos[j] != "0") { var tile = new TileRoof { Id = uint.Parse(infos[j]) }; style.AddTile(tile); tile.Position = (j - 2); } } } }
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 override void Populate() { var txtFileLines = File.ReadAllLines(DataManager.Location.LocalPath + "doors.txt"); var typeNames = txtFileLines[1].Split(Separators); for (int i = 2; i < txtFileLines.Length; i++) { var infos = txtFileLines[i].Split('\t'); var category = new TileCategory(); category.Name = infos.Last(); var style = new TileStyle(); category.AddStyle(style); for (int j = 1; j < typeNames.Length - 2; j++) { if (infos[j] != "0") { var tile = new TileDoor { Id = uint.Parse(infos[j]) }; style.List.Add(tile); } } Categories.Add(category); } TilesCategorySDKModule.Supp.PositionCheck(Categories); }
private void ChangeDropdownSelection(object sender, SelectionChangedEventArgs e) { TileCategory category = !(CategorySelector.SelectedItem is string item) ? LoadedTileCategories[0] : LoadedTileCategories.First(c => c.Name == item.ToLowerInvariant().Replace(' ', '_')); _selectorGridCreator.CreateSelectionPanel(category); }
private void ChangeDropdownSelection(object sender, SelectionChangedEventArgs e) { TileCategory category = !(CategorySelector.SelectedItem is string item) ? ResourceHolder.Get.GetFirstTileCategory() : ResourceHolder.Get.GetCategoryByName(item); _selectorGridCreator.CreateSelectionPanel(category); }
private TileStyle Selector(TileCategory tileCategory, TileStyle s) { var style = from sh in tileCategory.List where sh.Name.Split(Separator, StringSplitOptions.RemoveEmptyEntries).Last() == s.Name.Split(Separator, StringSplitOptions.RemoveEmptyEntries).Last() select sh; return(style.FirstOrDefault()); }
public TileType(string codeName, Int2 gridSize, string toolboxIconSprite, TileCategory category, ITileTypeData data) { DebugEx.Assert(Sprite.IsValidElmFunctionName(codeName)); CodeName = codeName; GridSize = gridSize; ToolboxIconSprite = toolboxIconSprite; Category = category; Data = data; }
public TileSelectForm(System.Drawing.Size tilesize, TileCategory category) { this.InitializeComponent(); Application.Idle += new EventHandler(this.Application_Idle); this.fTileSize = tilesize; this.fCategory = category; this.MatchCatBtn.Text = string.Concat("Show only tiles in category: ", this.fCategory); this.update_tiles(); }
private TileCategory RemoveDuplicates(IEnumerable <TileCategory> listcat, TileCategory cat) { var styles = StylesSelector(listcat, cat); foreach (TileStyle tileStyle in styles) { cat.List.Remove(tileStyle); } return(cat); }
public void CreateSelectionPanel(TileCategory tileCategory) { ClearSelectorGrid(); int gridRowIndex = 0; IEnumerable <string> groups = GetGroups(tileCategory); IEnumerable <TileObject> otherObjects = GetStandaloneObjects(tileCategory); CreateGroups(groups, tileCategory.TileObjects, ref gridRowIndex); CreateStandaloneObjects(otherObjects, ref gridRowIndex); }
public void MassRemove(TileCategory categoryToRemove) { var tiletoremove = new List <MultiTile>(MultiTiles.Where(t => categoryToRemove.FindTile(t.Id) != null)); foreach (var multiTile in tiletoremove) { _multiTiles.Remove(multiTile); } RaisePropertyChanged(() => Text); UpdateCategories(); }
private void UpdateSelectorComboBox(ResourceType type) { ResourceHolder.Get.ChangeResourceType(type); List <TileCategory> categories = ResourceHolder.Get.GetSelectedCategories(); TileCategory category = ResourceHolder.Get.GetFirstTileCategory(); IEnumerable <string> strings = ResourceHolder.Get.GetCategoryName(); CategorySelector.ItemsSource = strings; CategorySelector.SelectedIndex = 0; _selectorGridCreator.UpdateTileGroup(categories); _selectorGridCreator.CreateSelectionPanel(category); }
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 TileCategory GetFirstTileCategory() { TileCategory nullPlaceholder = new TileCategory("", new List <TileObject>()); switch (CurrentType) { case ResourceType.Terrain: return(Get.Terrain.ElementAtOrDefault(0) ?? nullPlaceholder); case ResourceType.Structure: return(Get.Structures.ElementAtOrDefault(0) ?? nullPlaceholder); default: return(Get.Foliage.ElementAtOrDefault(0) ?? nullPlaceholder); } }
public TileSelectForm(Size tilesize, TileCategory category) { InitializeComponent(); Application.Idle += new EventHandler(Application_Idle); fTileSize = tilesize; fCategory = category; MatchCatBtn.Text = "Show only tiles in category: " + fCategory; update_tiles(); }
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 async static Task <string> SaveUIElementToFile(UIElement element, TileCategory cate) { try { string filename = ""; switch (cate) { case TileCategory.Small: filename = "smallTile.png"; break; case TileCategory.Medium: filename = "mediumTile.png"; break; case TileCategory.Wide: filename = "wideTile.png"; break; case TileCategory.Large: filename = "largeTile.png"; break; default: filename = "largeTile.png"; break; } var file = await ApplicationData.Current.LocalFolder.CreateFileAsync(filename, CreationCollisionOption.GenerateUniqueName); CachedFileManager.DeferUpdates(file); using (var stream = await file.OpenAsync(FileAccessMode.ReadWrite)) { var bitmap = new RenderTargetBitmap(); await bitmap.RenderAsync(element); var pixels = await bitmap.GetPixelsAsync(); var logicalDpi = DisplayInformation.GetForCurrentView().LogicalDpi; var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.PngEncoderId, stream); encoder.SetPixelData(BitmapPixelFormat.Bgra8, BitmapAlphaMode.Premultiplied, (uint)bitmap.PixelWidth, (uint)bitmap.PixelHeight, logicalDpi, logicalDpi, pixels.ToArray()); await encoder.FlushAsync(); } await CachedFileManager.CompleteUpdatesAsync(file); return(file.Name); } catch (Exception e) { return(null); } }
public void SubStitueWallCat(TileCategory wallIn, TileCategory WallOut) { List <MultiTile> multi = new List <MultiTile>(); foreach (var multiTile in MultiTiles.Where(multiTile => WallOut.FindTile(multiTile.ID) != null)) { multi.Add(multiTile); } var tiles = wallIn.AllTiles(); foreach (var multitile in multi) { foreach (var tIn in from tile in tiles select tile as TileWall into tIn let tOut = multitile.Tile as TileWall where tIn.Position == tOut.Position && tIn.PositionW == tOut.PositionW select tIn) { multitile.SetTile(tIn); } } }
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 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 GenerateCandidates(MultiTile multiTile, TileCategory category) { var oldTileDescription = _tileData.GetItemTile(multiTile.Id); var tileinfo = Categories.Select(c => c.FindTile(multiTile.Id)).FirstOrDefault(t => t != null); var candidates = category.AllTiles().Where(tile => tileinfo != null && (_tileData.GetItemTile(tile.Id).Height == oldTileDescription.Height && oldTileDescription.Flags.HasFlag(TileFlag.Window) == _tileData.GetItemTile(tile.Id).Flags.HasFlag(TileFlag.Window) && oldTileDescription.Flags.HasFlag(TileFlag.Wall) == _tileData.GetItemTile(tile.Id).Flags.HasFlag(TileFlag.Wall) && oldTileDescription.Flags.HasFlag(TileFlag.Roof) == _tileData.GetItemTile(tile.Id).Flags.HasFlag(TileFlag.Roof) && oldTileDescription.Flags.HasFlag(TileFlag.Surface) == _tileData.GetItemTile(tile.Id).Flags.HasFlag(TileFlag.Surface) && tile.PositionString == tileinfo.PositionString) ); Candidates = new ObservableCollection <Tile>(candidates); }
public void GenerateCandidates(ITile multiTile, TileCategory category) { if (multiTile is MultiTile) { GenerateCandidates(multiTile, category); } else { var newtile = _multiTiles.FirstOrDefault(t => t.Id == multiTile.Id); if (newtile != null) { GenerateCandidates(newtile, category); } else { if (Candidates != null) { Candidates.Clear(); } } } }
private void update_tiles() { List <Masterplan.Data.Tile> tiles = new List <Masterplan.Data.Tile>(); foreach (Library library in Session.Libraries) { foreach (Masterplan.Data.Tile tile in library.Tiles) { if (this.fMatchCategory && this.fCategory != tile.Category) { continue; } bool flag = false; if (this.fTileSize == System.Drawing.Size.Empty) { flag = true; } else { if (tile.Size.Width == this.fTileSize.Width && tile.Size.Height == this.fTileSize.Height) { flag = true; } if (tile.Size.Width == this.fTileSize.Height && tile.Size.Height == this.fTileSize.Width) { flag = true; } } if (!flag) { continue; } tiles.Add(tile); } } this.TileList.Groups.Clear(); switch (this.fGroupBy) { case TileSelectForm.GroupBy.Library: { List <Library> .Enumerator enumerator = Session.Libraries.GetEnumerator(); try { while (enumerator.MoveNext()) { Library current = enumerator.Current; this.TileList.Groups.Add(current.Name, current.Name); } break; } finally { ((IDisposable)enumerator).Dispose(); } } case TileSelectForm.GroupBy.Category: { IEnumerator enumerator1 = Enum.GetValues(typeof(TileCategory)).GetEnumerator(); try { while (enumerator1.MoveNext()) { TileCategory tileCategory = (TileCategory)enumerator1.Current; this.TileList.Groups.Add(tileCategory.ToString(), tileCategory.ToString()); } break; } finally { IDisposable disposable = enumerator1 as IDisposable; if (disposable != null) { disposable.Dispose(); } } } } this.TileList.BeginUpdate(); this.TileList.LargeImageList = new ImageList() { ColorDepth = ColorDepth.Depth32Bit, ImageSize = new System.Drawing.Size(64, 64) }; List <ListViewItem> listViewItems = new List <ListViewItem>(); foreach (Masterplan.Data.Tile tile1 in tiles) { ListViewItem listViewItem = new ListViewItem(tile1.ToString()) { Tag = tile1 }; switch (this.fGroupBy) { case TileSelectForm.GroupBy.Library: { Library library1 = Session.FindLibrary(tile1); listViewItem.Group = this.TileList.Groups[library1.Name]; break; } case TileSelectForm.GroupBy.Category: { listViewItem.Group = this.TileList.Groups[tile1.Category.ToString()]; break; } } Image image = (tile1.Image != null ? tile1.Image : tile1.BlankImage); Bitmap bitmap = new Bitmap(64, 64); if (tile1.Size.Width <= tile1.Size.Height) { System.Drawing.Size size = tile1.Size; System.Drawing.Size size1 = tile1.Size; int width = size.Width * 64 / size1.Height; Rectangle rectangle = new Rectangle((64 - width) / 2, 0, width, 64); Graphics.FromImage(bitmap).DrawImage(image, rectangle); } else { System.Drawing.Size size2 = tile1.Size; System.Drawing.Size size3 = tile1.Size; int height = size2.Height * 64 / size3.Width; Rectangle rectangle1 = new Rectangle(0, (64 - height) / 2, 64, height); Graphics.FromImage(bitmap).DrawImage(image, rectangle1); } this.TileList.LargeImageList.Images.Add(bitmap); listViewItem.ImageIndex = this.TileList.LargeImageList.Images.Count - 1; listViewItems.Add(listViewItem); } this.TileList.Items.Clear(); this.TileList.Items.AddRange(listViewItems.ToArray()); this.TileList.EndUpdate(); }
public void SubStitueWallCat(TileCategory wallIn, TileCategory WallOut) { List<MultiTile> multi = new List<MultiTile>(); foreach (var multiTile in MultiTiles.Where(multiTile => WallOut.FindTile(multiTile.ID)!=null)) { multi.Add(multiTile); } var tiles = wallIn.AllTiles(); foreach (var multitile in multi) { foreach (var tIn in from tile in tiles select tile as TileWall into tIn let tOut = multitile.Tile as TileWall where tIn.Position == tOut.Position && tIn.PositionW == tOut.PositionW select tIn) { multitile.SetTile(tIn); } } }
private void FullEmptyCategoriesTxTChecked(IEnumerable <TileCategory> list, IEnumerable <ModelItemData> datalist, TileCategory tileCategory) { var style = new TileStyle(); foreach (var itemData in datalist) { Tile tile; uint number = itemData.EntryId; var tiles = from cat in list let t = cat.FindTile(number) where t != null select t; tile = tiles.FirstOrDefault(); if (tile == null) { string name = string.Format("{0}-{1}", tileCategory.Name, itemData.Name.Replace(tileCategory.Name, "").Split(Separator2, StringSplitOptions . RemoveEmptyEntries) .FirstOrDefault()); if (string.IsNullOrEmpty(style.Name) || style.Name != name) { if (style.List.Count > 0 && tileCategory.FindStyleByName(style.Name) == null) { tileCategory.AddStyle(style); } var st2 = tileCategory.FindStyleByName(name); style = st2 ?? new TileStyle { Name = name }; } switch (tileCategory.TypeTile) { case TypeTile.Wall: { style.AddTile(new TileWall() { Id = number, Name = itemData.Name }); break; } case TypeTile.Roofs: { style.AddTile(new TileRoof() { Id = number, Name = itemData.Name }); break; } case TypeTile.Floor: { style.AddTile(new TileFloor() { Id = number, Name = itemData.Name }); break; } default: { style.AddTile(new Tile { Id = number, Name = itemData.Name }); break; } } } } tileCategory.AddStyle(style); }
public void Populate() { if (CheckFromTxt) { foreach (var factory in Factories) { factory.Populate(); } } foreach (var fact in Factories) { Categories.Add(fact.Categories); } var walls = DataManager.GetItemTile().Where(itemData => itemData.Flags.HasFlag(TileFlag.Wall) && itemData.Height >= 15 && !itemData.Name.Contains("arc") && !itemData.Flags.HasFlag(TileFlag.Window) && !itemData.Flags.HasFlag(TileFlag.Door)).ToList(); var windows = DataManager.GetItemTile().Where(itemData => itemData.Flags.HasFlag(TileFlag.Wall) && itemData.Height >= 15 && itemData.Flags.HasFlag(TileFlag.Window)).ToList(); var halfWalls = DataManager.GetItemTile().Where(itemData => itemData.Flags.HasFlag(TileFlag.Wall) && itemData.Height >= 10 && itemData.Height < 15 && !itemData.Flags.HasFlag(TileFlag.Window)).ToList(); var quarterWalls = DataManager.GetItemTile().Where(itemData => itemData.Flags.HasFlag(TileFlag.Wall) && itemData.Height >= 5 && itemData.Height < 10 && !itemData.Flags.HasFlag(TileFlag.Window)).ToList(); var archs = DataManager.GetItemTile().Where(itemData => itemData.Flags.HasFlag(TileFlag.Wall) && itemData.Name.Contains("arc")).ToList(); var roof = DataManager.GetItemTile().Where(itemData => itemData.Flags.HasFlag(TileFlag.Roof)).ToList(); var floors = DataManager.GetItemTile().Where(itemData => itemData.Flags.HasFlag(TileFlag.Surface)).ToList(); var wallCategory = new TileCategory() { Name = "wall", TypeTile = TypeTile.Wall }; var windowCategory = new TileCategory() { Name = "window", TypeTile = TypeTile.Wall }; var halfCategory = new TileCategory() { Name = "half", TypeTile = TypeTile.Wall }; var quarterCategory = new TileCategory() { Name = "quarter", TypeTile = TypeTile.Wall }; var arcsCategory = new TileCategory() { Name = "arch", TypeTile = TypeTile.Wall }; var roofCategory = new TileCategory() { Name = "roof", TypeTile = TypeTile.Roofs }; var floorcategory = new TileCategory() { Name = "floor", TypeTile = TypeTile.Floor }; var lists = Misc.Categories.Union(Walls.Categories).Union(Roofs.Categories).Union(Floors.Categories).ToList(); if (!CheckFromTxt) { lists.Clear(); } var listcat = new ObservableCollection <TileCategory>(); FullEmptyCategoriesTxTChecked(lists, walls, wallCategory); FullEmptyCategoriesTxTChecked(lists, quarterWalls, quarterCategory); FullEmptyCategoriesTxTChecked(lists, halfWalls, halfCategory); FullEmptyCategoriesTxTChecked(lists, windows, windowCategory); FullEmptyCategoriesTxTChecked(lists, archs, arcsCategory); FullEmptyCategoriesTxTChecked(lists, roof, roofCategory); FullEmptyCategoriesTxTChecked(lists, floors, floorcategory); foreach (var s in wallCategory.List) { var category = new TileCategory() { Name = s.Name }; category.AddStyle(s); var half = Selector(halfCategory, s); var quarter = Selector(quarterCategory, s); var window = Selector(windowCategory, s); var arch = Selector(arcsCategory, s); var r = Selector(roofCategory, s); if (half != null) { category.AddStyle(half); } if (quarter != null) { category.AddStyle(quarter); } if (window != null) { category.AddStyle(window); } if (arch != null) { category.AddStyle(arch); } if (r != null) { category.AddStyle(r); } listcat.Add(category); } listcat.Add(RemoveDuplicates(listcat, windowCategory)); listcat.Add(RemoveDuplicates(listcat, roofCategory)); listcat.Add(RemoveDuplicates(listcat, halfCategory)); listcat.Add(RemoveDuplicates(listcat, quarterCategory)); listcat.Add(RemoveDuplicates(listcat, arcsCategory)); Categories.Add(listcat); }
public void SubstitueWallCat(TileCategory InWalls, TileCategory OutWalls) { _multi.SubStitueWallCat(InWalls, OutWalls); }
public void GenerateCandidates(MultiTile multiTile, TileCategory category) { var oldTileDescription = _tileData.GetItemTile(multiTile.Id); var tileinfo = Categories.Select(c=>c.FindTile(multiTile.Id)).FirstOrDefault(t => t!=null); var candidates = category.AllTiles().Where(tile => tileinfo != null && (_tileData.GetItemTile(tile.Id).Height == oldTileDescription.Height && oldTileDescription.Flags.HasFlag(TileFlag.Window) == _tileData.GetItemTile(tile.Id).Flags.HasFlag(TileFlag.Window) && oldTileDescription.Flags.HasFlag(TileFlag.Wall) == _tileData.GetItemTile(tile.Id).Flags.HasFlag(TileFlag.Wall) && oldTileDescription.Flags.HasFlag(TileFlag.Roof) == _tileData.GetItemTile(tile.Id).Flags.HasFlag(TileFlag.Roof) && oldTileDescription.Flags.HasFlag(TileFlag.Surface) == _tileData.GetItemTile(tile.Id).Flags.HasFlag(TileFlag.Surface) && tile.PositionString == tileinfo.PositionString) ); Candidates= new ObservableCollection<Tile>(candidates); }
public void GenerateCandidates(ITile multiTile, TileCategory category) { if(multiTile is MultiTile) GenerateCandidates(multiTile,category); else { var newtile= _multiTiles.FirstOrDefault(t => t.Id == multiTile.Id); if(newtile!=null) GenerateCandidates(newtile,category); else { if(Candidates!=null) Candidates.Clear(); } } }
public void MassRemove(TileCategory categoryToRemove) { var tiletoremove = new List<MultiTile>(MultiTiles.Where(t => categoryToRemove.FindTile(t.Id) != null)); foreach (var multiTile in tiletoremove) { _multiTiles.Remove(multiTile); } RaisePropertyChanged(()=>Text); UpdateCategories(); }
public async static Task<string> SaveUIElementToFile(UIElement element, TileCategory cate) { try { string filename = ""; switch (cate) { case TileCategory.Small: filename = "smallTile.png"; break; case TileCategory.Medium: filename = "mediumTile.png"; break; case TileCategory.Wide: filename = "wideTile.png"; break; case TileCategory.Large: filename = "largeTile.png"; break; default: filename = "largeTile.png"; break; } var file = await ApplicationData.Current.LocalFolder.CreateFileAsync(filename, CreationCollisionOption.GenerateUniqueName); CachedFileManager.DeferUpdates(file); using (var stream = await file.OpenAsync(FileAccessMode.ReadWrite)) { var bitmap = new RenderTargetBitmap(); await bitmap.RenderAsync(element); var pixels = await bitmap.GetPixelsAsync(); var logicalDpi = DisplayInformation.GetForCurrentView().LogicalDpi; var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.PngEncoderId, stream); encoder.SetPixelData(BitmapPixelFormat.Bgra8, BitmapAlphaMode.Premultiplied, (uint)bitmap.PixelWidth, (uint)bitmap.PixelHeight, logicalDpi, logicalDpi, pixels.ToArray()); await encoder.FlushAsync(); } await CachedFileManager.CompleteUpdatesAsync(file); return file.Name; } catch (Exception e) { return null; } }