mirror of
				https://github.com/Nioux/AideDeJeu.git
				synced 2025-10-30 23:16:09 +00:00 
			
		
		
		
	Déplacements
This commit is contained in:
		
							parent
							
								
									73dc2a2a20
								
							
						
					
					
						commit
						2bb2173f01
					
				
					 39 changed files with 107 additions and 72 deletions
				
			
		|  | @ -50,22 +50,22 @@ | |||
|     <Compile Update="Views\AboutPage.xaml.cs"> | ||||
|       <SubType>Code</SubType> | ||||
|     </Compile> | ||||
|     <Compile Update="Views\ItemDetailPage.xaml.cs"> | ||||
|     <Compile Update="Views\Library\ItemDetailPage.xaml.cs"> | ||||
|       <DependentUpon>ItemDetailPage.xaml</DependentUpon> | ||||
|     </Compile> | ||||
|     <Compile Update="Views\FilteredItemsPage.xaml.cs"> | ||||
|     <Compile Update="Views\Library\FilteredItemsPage.xaml.cs"> | ||||
|       <DependentUpon>FilteredItemsPage.xaml</DependentUpon> | ||||
|     </Compile> | ||||
|     <Compile Update="Views\ItemsPage.xaml.cs"> | ||||
|     <Compile Update="Views\Library\ItemsPage.xaml.cs"> | ||||
|       <DependentUpon>ItemsPage.xaml</DependentUpon> | ||||
|     </Compile> | ||||
|     <Compile Update="Views\MainTabbedPage.xaml.cs"> | ||||
|     <Compile Update="Views\Library\MainTabbedPage.xaml.cs"> | ||||
|       <DependentUpon>MainTabbedPage.xaml</DependentUpon> | ||||
|     </Compile> | ||||
|     <Compile Update="Views\ItemPicker.xaml.cs"> | ||||
|     <Compile Update="Views\PlayerCharacter\ItemPicker.xaml.cs"> | ||||
|       <DependentUpon>ItemPicker.xaml</DependentUpon> | ||||
|     </Compile> | ||||
|     <Compile Update="Views\ItemPickerView.xaml.cs"> | ||||
|     <Compile Update="Views\PlayerCharacter\ItemPickerView.xaml.cs"> | ||||
|       <DependentUpon>ItemPickerView.xaml</DependentUpon> | ||||
|     </Compile> | ||||
|   </ItemGroup> | ||||
|  | @ -85,10 +85,10 @@ | |||
|       <Generator>PublicResXFileCodeGenerator</Generator> | ||||
|       <LastGenOutput>Resource.Designer.cs</LastGenOutput> | ||||
|     </EmbeddedResource> | ||||
|     <EmbeddedResource Update="Views\BookmarksPage.xaml"> | ||||
|     <EmbeddedResource Update="Views\Library\BookmarksPage.xaml"> | ||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> | ||||
|     </EmbeddedResource> | ||||
|     <EmbeddedResource Update="Views\DeepSearchPage.xaml"> | ||||
|     <EmbeddedResource Update="Views\Library\DeepSearchPage.xaml"> | ||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> | ||||
|     </EmbeddedResource> | ||||
|     <EmbeddedResource Update="Views\MainNavigationPage.xaml"> | ||||
|  | @ -100,16 +100,16 @@ | |||
|     <EmbeddedResource Update="Views\MainShell.xaml"> | ||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> | ||||
|     </EmbeddedResource> | ||||
|     <EmbeddedResource Update="Views\MainTabbedPage.xaml"> | ||||
|     <EmbeddedResource Update="Views\Library\MainTabbedPage.xaml"> | ||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> | ||||
|     </EmbeddedResource> | ||||
|     <EmbeddedResource Update="Views\PlayerCharacterEditorPage.xaml"> | ||||
|     <EmbeddedResource Update="Views\PlayerCharacter\PlayerCharacterEditorPage.xaml"> | ||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> | ||||
|     </EmbeddedResource> | ||||
|     <EmbeddedResource Update="Views\StringPicker.xaml"> | ||||
|     <EmbeddedResource Update="Views\PlayerCharacter\StringPicker.xaml"> | ||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> | ||||
|     </EmbeddedResource> | ||||
|     <EmbeddedResource Update="Views\StringPickerView.xaml"> | ||||
|     <EmbeddedResource Update="Views\PlayerCharacter\StringPickerView.xaml"> | ||||
|       <Generator>MSBuild:UpdateDesignTimeXaml</Generator> | ||||
|     </EmbeddedResource> | ||||
|     <EmbeddedResource Update="Views\TextInputCancellableView.xaml"> | ||||
|  |  | |||
|  | @ -1,4 +1,5 @@ | |||
| using AideDeJeu.ViewModels; | ||||
| using AideDeJeu.ViewModels.Library; | ||||
| using AideDeJeu.Views; | ||||
| using AideDeJeuLib; | ||||
| using System.Linq; | ||||
|  |  | |||
|  | @ -1,4 +1,5 @@ | |||
| using AideDeJeu.ViewModels; | ||||
| using AideDeJeu.ViewModels.Library; | ||||
| 
 | ||||
| namespace AideDeJeuLib | ||||
| { | ||||
|  |  | |||
							
								
								
									
										35
									
								
								AideDeJeu/AideDeJeu/Models/Items/Attribute.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								AideDeJeu/AideDeJeu/Models/Items/Attribute.cs
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,35 @@ | |||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Collections.Specialized; | ||||
| using System.Text; | ||||
| 
 | ||||
| namespace AideDeJeuLib | ||||
| { | ||||
|     public class ItemAttribute | ||||
|     { | ||||
|         public ItemAttribute(string key, string value) | ||||
|         { | ||||
|             Key = key; | ||||
|             Value = value; | ||||
|         } | ||||
|         public string Key { get; set; } | ||||
|         public string Value { get; set; } | ||||
| 
 | ||||
|         public static OrderedDictionary ExtractKeyValues(OrderedDictionary attributes) | ||||
|         { | ||||
|             var dico = new OrderedDictionary(); | ||||
|             foreach (string akey in attributes.Keys) | ||||
|             { | ||||
|                 if (akey.EndsWith("Key")) | ||||
|                 { | ||||
|                     var key = akey.Substring(0, akey.Length - 3); | ||||
|                     if (attributes.Contains(key + "Value")) | ||||
|                     { | ||||
|                         dico[key] = new ItemAttribute(attributes[key + "Key"] as string, attributes[key + "Value"] as string); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|             return dico; | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | @ -1,5 +1,6 @@ | |||
| using AideDeJeu.Tools; | ||||
| using AideDeJeu.ViewModels; | ||||
| using AideDeJeu.ViewModels.Library; | ||||
| using SQLite; | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
|  | @ -349,16 +350,6 @@ namespace AideDeJeuLib | |||
|             return $"{Name} ({NewId})"; | ||||
|         } | ||||
| 
 | ||||
|         public class Attribute | ||||
|         { | ||||
|             public Attribute(string key, string value) | ||||
|             { | ||||
|                 Key = key; | ||||
|                 Value = value; | ||||
|             } | ||||
|             public string Key { get; set; } | ||||
|             public string Value { get; set; } | ||||
|         } | ||||
|         [NotMapped] | ||||
|         [IgnoreDataMember] | ||||
|         public virtual OrderedDictionary Attributes { get; set; } = new OrderedDictionary(); | ||||
|  | @ -367,19 +358,7 @@ namespace AideDeJeuLib | |||
|         { | ||||
|             get | ||||
|             { | ||||
|                 var dico = new OrderedDictionary(); | ||||
|                 foreach (string akey in Attributes.Keys) | ||||
|                 { | ||||
|                     if (akey.EndsWith("Key")) | ||||
|                     { | ||||
|                         var key = akey.Substring(0, akey.Length - 3); | ||||
|                         if (Attributes.Contains(key + "Value")) | ||||
|                         { | ||||
|                             dico[key] = new Attribute(Attributes[key + "Key"] as string, Attributes[key + "Value"] as string); | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|                 return dico; | ||||
|                 return ItemAttribute.ExtractKeyValues(Attributes); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,5 @@ | |||
| using AideDeJeu.ViewModels; | ||||
| using AideDeJeu.ViewModels.Library; | ||||
| 
 | ||||
| namespace AideDeJeuLib | ||||
| { | ||||
|  |  | |||
|  | @ -1,4 +1,5 @@ | |||
| using AideDeJeu.ViewModels; | ||||
| using AideDeJeu.ViewModels.Library; | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Text; | ||||
|  |  | |||
|  | @ -5,6 +5,7 @@ using System.Runtime.Serialization; | |||
| using System.Text; | ||||
| using YamlDotNet.Serialization; | ||||
| using System.Linq; | ||||
| using AideDeJeu.ViewModels.Library; | ||||
| 
 | ||||
| namespace AideDeJeuLib | ||||
| { | ||||
|  |  | |||
|  | @ -1,4 +1,5 @@ | |||
| using System; | ||||
| using AideDeJeu.ViewModels.Library; | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.ComponentModel; | ||||
| using System.Runtime.CompilerServices; | ||||
|  |  | |||
|  | @ -11,7 +11,7 @@ using System.Windows.Input; | |||
| using Xamarin.Forms; | ||||
| using Xamarin.Forms.Internals; | ||||
| 
 | ||||
| namespace AideDeJeu.ViewModels | ||||
| namespace AideDeJeu.ViewModels.Library | ||||
| { | ||||
|     public class BookmarksViewModel : BaseViewModel | ||||
|     { | ||||
|  | @ -9,7 +9,7 @@ using System.Threading.Tasks; | |||
| using System.Windows.Input; | ||||
| using Xamarin.Forms; | ||||
| 
 | ||||
| namespace AideDeJeu.ViewModels | ||||
| namespace AideDeJeu.ViewModels.Library | ||||
| { | ||||
|     public class DeepSearchViewModel : BaseViewModel | ||||
|     { | ||||
|  | @ -6,7 +6,7 @@ using System.Threading; | |||
| using System.Threading.Tasks; | ||||
| using System.Windows.Input; | ||||
| 
 | ||||
| namespace AideDeJeu.ViewModels | ||||
| namespace AideDeJeu.ViewModels.Library | ||||
| { | ||||
|     public abstract class FilterViewModel : BaseViewModel | ||||
|     { | ||||
|  | @ -1,6 +1,6 @@ | |||
| using AideDeJeuLib; | ||||
| 
 | ||||
| namespace AideDeJeu.ViewModels | ||||
| namespace AideDeJeu.ViewModels.Library | ||||
| { | ||||
|     public class ItemDetailViewModel : BaseViewModel | ||||
|     { | ||||
|  | @ -8,7 +8,7 @@ using System.Threading.Tasks; | |||
| using System.Windows.Input; | ||||
| using Xamarin.Forms; | ||||
| 
 | ||||
| namespace AideDeJeu.ViewModels | ||||
| namespace AideDeJeu.ViewModels.Library | ||||
| { | ||||
|     public class ItemsViewModel : BaseViewModel | ||||
|     { | ||||
|  | @ -1,4 +1,5 @@ | |||
| using AideDeJeu.Tools; | ||||
| using AideDeJeu.ViewModels.Library; | ||||
| using AideDeJeu.Views; | ||||
| using AideDeJeuLib; | ||||
| using Rg.Plugins.Popup.Services; | ||||
|  |  | |||
|  | @ -11,14 +11,14 @@ using System.Threading.Tasks; | |||
| using System.Windows.Input; | ||||
| using Xamarin.Forms; | ||||
| 
 | ||||
| namespace AideDeJeu.ViewModels | ||||
| namespace AideDeJeu.ViewModels.PlayerCharacter | ||||
| { | ||||
|     public class PlayerCharacterEditorViewModel : BaseViewModel | ||||
|     { | ||||
|         public PlayerCharacterEditorViewModel() | ||||
|         { | ||||
|             ResetAlignments(); | ||||
|             Races = new NotifyTaskCompletion<List<ExpandedRaceItem>>(Task.Run(() => LoadRacesAsync())); | ||||
|             Races = new NotifyTaskCompletion<List<RaceViewModel>>(Task.Run(() => LoadRacesAsync())); | ||||
|             Classes = new NotifyTaskCompletion<List<ClassItem>>(Task.Run(() => LoadClassesAsync())); | ||||
| 
 | ||||
|             Backgrounds = new NotifyTaskCompletion<List<BackgroundItem>>(Task.Run(() => LoadBackgroundsAsync())); | ||||
|  | @ -149,7 +149,7 @@ namespace AideDeJeu.ViewModels | |||
|         #endregion Alignment | ||||
| 
 | ||||
|         #region Race | ||||
|         public NotifyTaskCompletion<List<ExpandedRaceItem>> Races { get; private set; } | ||||
|         public NotifyTaskCompletion<List<RaceViewModel>> Races { get; private set; } | ||||
|         private int _RaceSelectedIndex = -1; | ||||
|         public int RaceSelectedIndex | ||||
|         { | ||||
|  | @ -166,8 +166,8 @@ namespace AideDeJeu.ViewModels | |||
|                 } | ||||
|             } | ||||
|         } | ||||
|         private ExpandedRaceItem _SelectedRace = null; | ||||
|         public ExpandedRaceItem SelectedRace | ||||
|         private RaceViewModel _SelectedRace = null; | ||||
|         public RaceViewModel SelectedRace | ||||
|         { | ||||
|             get | ||||
|             { | ||||
|  | @ -180,19 +180,19 @@ namespace AideDeJeu.ViewModels | |||
|             } | ||||
|         } | ||||
| 
 | ||||
|         public class ExpandedRaceItem : RaceItem | ||||
|         public class RaceViewModel : BaseViewModel | ||||
|         { | ||||
|             public RaceItem Race { get; set; } | ||||
|             public SubRaceItem SubRace { get; set; } | ||||
| 
 | ||||
|             private RaceItem RaceOrSubRace { get { return SubRace ?? Race; } } | ||||
|             public override string Name { get { return RaceOrSubRace.Name; } } | ||||
|             public override string Description { get { return RaceOrSubRace.Description; } } | ||||
|             public override string NewId { get { return RaceOrSubRace.NewId; } } | ||||
|             public override string Id { get { return RaceOrSubRace.Id; } } | ||||
|             public override string RootId { get { return RaceOrSubRace.RootId; } } | ||||
|             public string Name { get { return RaceOrSubRace.Name; } } | ||||
|             public string Description { get { return RaceOrSubRace.Description; } } | ||||
|             public string NewId { get { return RaceOrSubRace.NewId; } } | ||||
|             public string Id { get { return RaceOrSubRace.Id; } } | ||||
|             public string RootId { get { return RaceOrSubRace.RootId; } } | ||||
| 
 | ||||
|             public override string AbilityScoreIncrease | ||||
|             public string AbilityScoreIncrease | ||||
|             { | ||||
|                 get | ||||
|                 { | ||||
|  | @ -203,7 +203,7 @@ namespace AideDeJeu.ViewModels | |||
|                     return Race.AbilityScoreIncrease; | ||||
|                 } | ||||
|             } | ||||
|             public override OrderedDictionary Attributes | ||||
|             public OrderedDictionary Attributes | ||||
|             { | ||||
|                 get | ||||
|                 { | ||||
|  | @ -224,18 +224,26 @@ namespace AideDeJeu.ViewModels | |||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             public override string Age { get { return Race.Age; } } | ||||
|             public override string Alignment { get { return Race.Alignment; } } | ||||
|             public override string Size { get { return Race.Size; } } | ||||
|             public override string Speed { get { return Race.Speed; } } | ||||
|             public override string Darkvision { get { return Race.Darkvision; } } | ||||
|             public override string Languages { get { return Race.Languages; } } | ||||
|             public virtual OrderedDictionary AttributesKeyValue | ||||
|             { | ||||
|                 get | ||||
|                 { | ||||
|                     return AideDeJeuLib.ItemAttribute.ExtractKeyValues(Attributes); | ||||
|                 } | ||||
|         public async Task<List<ExpandedRaceItem>> LoadRacesAsync() | ||||
|             } | ||||
| 
 | ||||
|             public string Age { get { return Race.Age; } } | ||||
|             public string Alignment { get { return Race.Alignment; } } | ||||
|             public string Size { get { return Race.Size; } } | ||||
|             public string Speed { get { return Race.Speed; } } | ||||
|             public string Darkvision { get { return Race.Darkvision; } } | ||||
|             public string Languages { get { return Race.Languages; } } | ||||
|         } | ||||
|         public async Task<List<RaceViewModel>> LoadRacesAsync() | ||||
|         { | ||||
|             using (var context = await StoreViewModel.GetLibraryContextAsync()) | ||||
|             { | ||||
|                 var expandedRaces = new List<ExpandedRaceItem>(); | ||||
|                 var expandedRaces = new List<RaceViewModel>(); | ||||
|                 var races = context.Races.Where(r => r.GetType() == typeof(RaceItem)); | ||||
|                 foreach(var race in races) | ||||
|                 { | ||||
|  | @ -244,12 +252,12 @@ namespace AideDeJeu.ViewModels | |||
|                         var subraces = context.SubRaces.Where(sr => sr.ParentLink == race.Id); | ||||
|                         foreach(var subrace in subraces) | ||||
|                         { | ||||
|                             expandedRaces.Add(new ExpandedRaceItem() { Race = race, SubRace = subrace }); | ||||
|                             expandedRaces.Add(new RaceViewModel() { Race = race, SubRace = subrace }); | ||||
|                         } | ||||
|                     } | ||||
|                     else | ||||
|                     { | ||||
|                         expandedRaces.Add(new ExpandedRaceItem() { Race = race, SubRace = null }); | ||||
|                         expandedRaces.Add(new RaceViewModel() { Race = race, SubRace = null }); | ||||
|                     } | ||||
|                 } | ||||
|                 return expandedRaces.OrderBy(r => Tools.Helpers.RemoveDiacritics(r.Name)).ToList(); | ||||
|  | @ -3,7 +3,7 @@ using System; | |||
| using System.Collections.Generic; | ||||
| using System.Text; | ||||
| 
 | ||||
| namespace AideDeJeu.ViewModels | ||||
| namespace AideDeJeu.ViewModels.PlayerCharacter | ||||
| { | ||||
|     public class PlayerCharacterViewModel : BaseViewModel | ||||
|     { | ||||
|  | @ -1,4 +1,5 @@ | |||
| using AideDeJeu.ViewModels; | ||||
| using AideDeJeu.ViewModels.Library; | ||||
| using AideDeJeuLib; | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
|  | @ -1,4 +1,5 @@ | |||
| using AideDeJeu.ViewModels; | ||||
| using AideDeJeu.ViewModels.Library; | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Linq; | ||||
|  | @ -7,7 +8,7 @@ using System.Threading.Tasks; | |||
| 
 | ||||
| using Xamarin.Forms; | ||||
| using Xamarin.Forms.Xaml; | ||||
| using static AideDeJeu.ViewModels.DeepSearchViewModel; | ||||
| using static AideDeJeu.ViewModels.Library.DeepSearchViewModel; | ||||
| 
 | ||||
| namespace AideDeJeu.Views | ||||
| { | ||||
|  | @ -1,4 +1,5 @@ | |||
| using AideDeJeu.ViewModels; | ||||
| using AideDeJeu.ViewModels.Library; | ||||
| using System; | ||||
| using System.Linq; | ||||
| using Xamarin.Forms; | ||||
|  | @ -1,5 +1,6 @@ | |||
|  | ||||
| using AideDeJeu.ViewModels; | ||||
| using AideDeJeu.ViewModels.Library; | ||||
| using AideDeJeuLib; | ||||
| using SkiaSharp; | ||||
| using SkiaSharp.Views.Forms; | ||||
|  | @ -1,4 +1,5 @@ | |||
| using AideDeJeu.ViewModels; | ||||
| using AideDeJeu.ViewModels.Library; | ||||
| using System; | ||||
| using System.Linq; | ||||
| using Xamarin.Forms; | ||||
|  | @ -14,7 +14,7 @@ namespace AideDeJeu.Views | |||
|     [XamlCompilation(XamlCompilationOptions.Compile)] | ||||
|     public partial class ItemPicker : ContentPage | ||||
|     { | ||||
|         public PickerViewModel<Item> ViewModel { get; set; } = new PickerViewModel<Item>(); | ||||
|         public PickerViewModel<object> ViewModel { get; set; } = new PickerViewModel<object>(); | ||||
|         public ItemPicker() | ||||
|         { | ||||
|             InitializeComponent(); | ||||
|  | @ -49,16 +49,16 @@ namespace AideDeJeu.Views | |||
|             typeof(ItemPickerView), | ||||
|             defaultValue: default(string)); | ||||
| 
 | ||||
|         public Item SelectedItem | ||||
|         public object SelectedItem | ||||
|         { | ||||
|             get { return (Item)GetValue(SelectedItemProperty); } | ||||
|             get { return (object)GetValue(SelectedItemProperty); } | ||||
|             set { SetValue(SelectedItemProperty, value); } | ||||
|         } | ||||
|         public static readonly BindableProperty SelectedItemProperty = BindableProperty.Create( | ||||
|             nameof(SelectedItem),  | ||||
|             typeof(Item),  | ||||
|             typeof(object),  | ||||
|             typeof(ItemPickerView),  | ||||
|             defaultValue: default(Item),  | ||||
|             defaultValue: default(object),  | ||||
|             defaultBindingMode: BindingMode.TwoWay); | ||||
| 
 | ||||
|         public System.Collections.IEnumerable ItemsSource | ||||
|  | @ -85,7 +85,7 @@ namespace AideDeJeu.Views | |||
|                 return new Command<System.Collections.IList>(async (items) => SelectedItem = await ExecuteItemPickerCommandAsync(items)); | ||||
|             } | ||||
|         } | ||||
|         private async Task<Item> ExecuteItemPickerCommandAsync(System.Collections.IEnumerable items) | ||||
|         private async Task<object> ExecuteItemPickerCommandAsync(System.Collections.IEnumerable items) | ||||
|         { | ||||
|             var picker = new Views.ItemPicker(); | ||||
|             var vm = picker.ViewModel; | ||||
|  | @ -1,4 +1,5 @@ | |||
| using AideDeJeu.ViewModels; | ||||
| using AideDeJeu.ViewModels.PlayerCharacter; | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Linq; | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Yan Maniez
						Yan Maniez