mirror of
				https://github.com/Nioux/AideDeJeu.git
				synced 2025-10-30 23:16:09 +00:00 
			
		
		
		
	MagicItems filtrés, nbsp
This commit is contained in:
		
							parent
							
								
									6e452d91e8
								
							
						
					
					
						commit
						bb113b8016
					
				
					 10 changed files with 2178 additions and 2066 deletions
				
			
		
							
								
								
									
										13
									
								
								AideDeJeu/AideDeJeu/Models/MagicItem.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								AideDeJeu/AideDeJeu/Models/MagicItem.cs
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,13 @@ | ||||||
|  | using AideDeJeuLib; | ||||||
|  | using System; | ||||||
|  | using System.Collections.Generic; | ||||||
|  | using System.Text; | ||||||
|  | 
 | ||||||
|  | namespace AideDeJeuLib | ||||||
|  | { | ||||||
|  |     public class MagicItem : Item | ||||||
|  |     { | ||||||
|  |         public string Type { get; set; } | ||||||
|  |         public string Rarity { get; set; } | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										16
									
								
								AideDeJeu/AideDeJeu/Models/MagicItems.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								AideDeJeu/AideDeJeu/Models/MagicItems.cs
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | ||||||
|  | using AideDeJeu.ViewModels; | ||||||
|  | using AideDeJeuLib; | ||||||
|  | using System; | ||||||
|  | using System.Collections.Generic; | ||||||
|  | using System.Text; | ||||||
|  | 
 | ||||||
|  | namespace AideDeJeuLib | ||||||
|  | { | ||||||
|  |     public class MagicItems : Item | ||||||
|  |     { | ||||||
|  |         public override FilterViewModel GetNewFilterViewModel() | ||||||
|  |         { | ||||||
|  |             return new VFMagicItemFilterViewModel(); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -835,4 +835,91 @@ namespace AideDeJeu.ViewModels | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     #endregion Equipments |     #endregion Equipments | ||||||
|  | 
 | ||||||
|  |     #region Magic Items | ||||||
|  |     public abstract class MagicItemFilterViewModel : FilterViewModel | ||||||
|  |     { | ||||||
|  |         private IEnumerable<Filter> _Filters = null; | ||||||
|  |         public override IEnumerable<Filter> Filters | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 if (_Filters == null) | ||||||
|  |                 { | ||||||
|  |                     _Filters = new List<Filter>() | ||||||
|  |                     { | ||||||
|  |                         new Filter() { Key = FilterKeys.Type, Name = "Type", KeyValues = Types, _Index = 0 }, | ||||||
|  |                         //new Filter() { Key = FilterKeys.MinPrice, Name = "Prix Minimum", KeyValues = Prices, _Index = 0 }, | ||||||
|  |                         //new Filter() { Key = FilterKeys.MaxPrice, Name = "Prix Maximum", KeyValues = Prices, _Index = 9 }, | ||||||
|  |                     }; | ||||||
|  |                     RegisterFilters(); | ||||||
|  |                 } | ||||||
|  |                 return _Filters; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public override async Task<IEnumerable<Item>> FilterItems(IEnumerable<Item> items, CancellationToken token = default) | ||||||
|  |         { | ||||||
|  |             return await Task.Run(() => | ||||||
|  |             { | ||||||
|  |                 var priceComparer = new PriceComparer(); | ||||||
|  |                 var type = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.Type).SelectedKey ?? ""; | ||||||
|  |                 //var minPrice = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MinPrice).SelectedKey ?? "0 pc"; | ||||||
|  |                 //var maxPrice = Filters.SingleOrDefault(filter => filter.Key == FilterKeys.MaxPrice).SelectedKey ?? "1 000 000 po"; | ||||||
|  |                 //token.ThrowIfCancellationRequested(); | ||||||
|  |                 return items.Where(item => | ||||||
|  |                 { | ||||||
|  |                     var magicitem = item as MagicItem; | ||||||
|  |                     return magicitem != null && | ||||||
|  |                         magicitem.Type.ToLower().Contains(type.ToLower()) && | ||||||
|  |                         //priceComparer.Compare(equipment.Price, minPrice) >= 0 && | ||||||
|  |                         //priceComparer.Compare(equipment.Price, maxPrice) <= 0 && | ||||||
|  |                         ( | ||||||
|  |                             (Helpers.RemoveDiacritics(magicitem.Name).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) || | ||||||
|  |                             (Helpers.RemoveDiacritics(magicitem.AltNameText ?? string.Empty).ToLower().Contains(Helpers.RemoveDiacritics(SearchText ?? string.Empty).ToLower())) | ||||||
|  |                         ); | ||||||
|  |                 }).OrderBy(eq => eq.Name) | ||||||
|  |                             .AsEnumerable(); | ||||||
|  |             }, token); | ||||||
|  | 
 | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public abstract List<KeyValuePair<string, string>> Types { get; } | ||||||
|  | 
 | ||||||
|  |         //public abstract List<KeyValuePair<string, string>> Prices { get; } | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     public class VFMagicItemFilterViewModel : MagicItemFilterViewModel | ||||||
|  |     { | ||||||
|  | 
 | ||||||
|  |         public override List<KeyValuePair<string, string>> Types { get; } = new List<KeyValuePair<string, string>>() | ||||||
|  |         { | ||||||
|  |             new KeyValuePair<string, string>("", "Tous" ), | ||||||
|  |             new KeyValuePair<string, string>("Anneau", "Anneau" ), | ||||||
|  |             new KeyValuePair<string, string>("Arme", "Arme" ), | ||||||
|  |             new KeyValuePair<string, string>("Armure", "Armure" ), | ||||||
|  |             new KeyValuePair<string, string>("Baguette", "Baguette" ), | ||||||
|  |             new KeyValuePair<string, string>("Bâton", "Bâton" ), | ||||||
|  |             new KeyValuePair<string, string>("Objet merveilleux", "Objet merveilleux" ), | ||||||
|  |             new KeyValuePair<string, string>("Parchemin", "Parchemin" ), | ||||||
|  |             new KeyValuePair<string, string>("Potion", "Potion" ), | ||||||
|  |             new KeyValuePair<string, string>("Sceptre", "Sceptre" ), | ||||||
|  |         }; | ||||||
|  | 
 | ||||||
|  |         //public override List<KeyValuePair<string, string>> Prices { get; } = new List<KeyValuePair<string, string>>() | ||||||
|  |         //{ | ||||||
|  |         //    new KeyValuePair<string, string>("0 pc", "0 pc" ), | ||||||
|  |         //    new KeyValuePair<string, string>("1 pc", "1 pc" ), | ||||||
|  |         //    new KeyValuePair<string, string>("1 pa", "1 pa" ), | ||||||
|  |         //    new KeyValuePair<string, string>("1 po", "1 po" ), | ||||||
|  |         //    new KeyValuePair<string, string>("10 po", "10 po" ), | ||||||
|  |         //    new KeyValuePair<string, string>("100 po", "100 po" ), | ||||||
|  |         //    new KeyValuePair<string, string>("1 000 po", "1 000 po" ), | ||||||
|  |         //    new KeyValuePair<string, string>("10 000 po", "10 000 po" ), | ||||||
|  |         //    new KeyValuePair<string, string>("100 000 po", "100 000 po" ), | ||||||
|  |         //    new KeyValuePair<string, string>("1 000 000 po", "1 000 000 po" ), | ||||||
|  |         //}; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     #endregion Equipments | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @ -95,7 +95,7 @@ namespace AideDeJeu.ViewModels | ||||||
|                                     if(!string.IsNullOrEmpty(subItem.AltNameText)) |                                     if(!string.IsNullOrEmpty(subItem.AltNameText)) | ||||||
|                                     { |                                     { | ||||||
|                                         var altname = subItem.AltNameText; |                                         var altname = subItem.AltNameText; | ||||||
|                                         var altlevel = Math.Max(1, Math.Min(6, subItem.NameLevel + 2)); |                                         var altlevel = Math.Max(1, Math.Min(6, subItem.NameLevel + 3)); | ||||||
|                                         currentItem.Markdown += $"\n\n{new String('#', altlevel)} _[{altname}]({link})_"; |                                         currentItem.Markdown += $"\n\n{new String('#', altlevel)} _[{altname}]({link})_"; | ||||||
|                                     } |                                     } | ||||||
|                                     currentItem.Markdown += "\n\n"; |                                     currentItem.Markdown += "\n\n"; | ||||||
|  |  | ||||||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -11,7 +11,7 @@ | ||||||
| # <!--Name-->Agrandir/rétrécir<!--/Name--> | # <!--Name-->Agrandir/rétrécir<!--/Name--> | ||||||
| - SRD: <!--AltName-->[Enlarge/Reduce](spells_vo.md#enlargereduce)<!--/AltName--> | - SRD: <!--AltName-->[Enlarge/Reduce](spells_vo.md#enlargereduce)<!--/AltName--> | ||||||
| - Book: <!--Book-->(MDR p36)(SRD p3)<!--/Book--> | - Book: <!--Book-->(MDR p36)(SRD p3)<!--/Book--> | ||||||
| - : <!--Type-->Transmutation<!--/Type--> de niveau <!--Level-->2<!--/Level--> | -  <!--Type-->Transmutation<!--/Type--> de niveau <!--Level-->2<!--/Level--> | ||||||
| - **Temps d'incantation :** <!--CastingTime-->1 action<!--/CastingTime--> | - **Temps d'incantation :** <!--CastingTime-->1 action<!--/CastingTime--> | ||||||
| - **Portée :** <!--Range-->9 mètres<!--/Range--> | - **Portée :** <!--Range-->9 mètres<!--/Range--> | ||||||
| - **Composantes :** <!--Components-->V, S, M (une pincée de limaille de fer)<!--/Components--> | - **Composantes :** <!--Components-->V, S, M (une pincée de limaille de fer)<!--/Components--> | ||||||
|  | @ -36,7 +36,7 @@ Si la cible est une créature, tout ce qu'elle porte et tout ce qu'elle transpor | ||||||
| # <!--Name-->Agrandir/rétrécir<!--/Name--> | # <!--Name-->Agrandir/rétrécir<!--/Name--> | ||||||
| 
 | 
 | ||||||
| - SRD: <!--AltName-->[Enlarge/Reduce](spells_vo.md#enlargereduce)<!--/AltName--> | - SRD: <!--AltName-->[Enlarge/Reduce](spells_vo.md#enlargereduce)<!--/AltName--> | ||||||
| - : <!--Type-->Transmutation<!--/Type--> de niveau <!--Level-->2<!--/Level--> | -  <!--Type-->Transmutation<!--/Type--> de niveau <!--Level-->2<!--/Level--> | ||||||
| 
 | 
 | ||||||
| - **Temps d'incantation :** <!--CastingTime-->1 action<!--/CastingTime--> | - **Temps d'incantation :** <!--CastingTime-->1 action<!--/CastingTime--> | ||||||
| - **Portée :** <!--Range-->9 mètres<!--/Range--> | - **Portée :** <!--Range-->9 mètres<!--/Range--> | ||||||
|  | @ -63,7 +63,7 @@ Si la cible est une créature, tout ce qu'elle porte et tout ce qu'elle transpor | ||||||
| 
 | 
 | ||||||
| - SRD: <!--AltName-->[Enlarge/Reduce](spells_vo.md#enlargereduce)<!--/AltName--> | - SRD: <!--AltName-->[Enlarge/Reduce](spells_vo.md#enlargereduce)<!--/AltName--> | ||||||
| 
 | 
 | ||||||
| - : <!--Type-->Transmutation<!--/Type--> de niveau <!--Level-->2<!--/Level--> | -  <!--Type-->Transmutation<!--/Type--> de niveau <!--Level-->2<!--/Level--> | ||||||
| - **Temps d'incantation :** <!--CastingTime-->1 action<!--/CastingTime--> | - **Temps d'incantation :** <!--CastingTime-->1 action<!--/CastingTime--> | ||||||
| - **Portée :** <!--Range-->9 mètres<!--/Range--> | - **Portée :** <!--Range-->9 mètres<!--/Range--> | ||||||
| - **Composantes :** <!--Components-->V, S, M (une pincée de limaille de fer)<!--/Components--> | - **Composantes :** <!--Components-->V, S, M (une pincée de limaille de fer)<!--/Components--> | ||||||
|  |  | ||||||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Yan Maniez
						Yan Maniez