mirror of
				https://github.com/Nioux/AideDeJeu.git
				synced 2025-10-31 15:36:07 +00:00 
			
		
		
		
	Alignement
This commit is contained in:
		
							parent
							
								
									aa3d9d1114
								
							
						
					
					
						commit
						8b33b523f5
					
				
					 2 changed files with 87 additions and 22 deletions
				
			
		|  | @ -6,6 +6,7 @@ using System.Collections.Generic; | ||||||
| using System.Diagnostics; | using System.Diagnostics; | ||||||
| using System.Linq; | using System.Linq; | ||||||
| using System.Text; | using System.Text; | ||||||
|  | using System.Text.RegularExpressions; | ||||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
| using System.Windows.Input; | using System.Windows.Input; | ||||||
| using Xamarin.Forms; | using Xamarin.Forms; | ||||||
|  | @ -16,6 +17,7 @@ namespace AideDeJeu.ViewModels | ||||||
|     { |     { | ||||||
|         public PlayerCharacterEditorViewModel() |         public PlayerCharacterEditorViewModel() | ||||||
|         { |         { | ||||||
|  |             ResetAlignments(); | ||||||
|             Races = new NotifyTaskCompletion<List<RaceItem>>(Task.Run(() => LoadRacesAsync())); |             Races = new NotifyTaskCompletion<List<RaceItem>>(Task.Run(() => LoadRacesAsync())); | ||||||
|             Classes = new NotifyTaskCompletion<List<ClassItem>>(Task.Run(() => LoadClassesAsync())); |             Classes = new NotifyTaskCompletion<List<ClassItem>>(Task.Run(() => LoadClassesAsync())); | ||||||
| 
 | 
 | ||||||
|  | @ -42,9 +44,59 @@ namespace AideDeJeu.ViewModels | ||||||
|         } |         } | ||||||
|         #endregion Selected PC |         #endregion Selected PC | ||||||
| 
 | 
 | ||||||
|  |         #region Alignment | ||||||
|  |         private List<string> _AllAllignments = new List<string>() | ||||||
|  |             { | ||||||
|  |                 "Loyal Bon", | ||||||
|  |                 "Loyal Neutre", | ||||||
|  |                 "Loyal Mauvais", | ||||||
|  |                 "Neutre Bon", | ||||||
|  |                 "Neutre", | ||||||
|  |                 "Neutre Mauvais", | ||||||
|  |                 "Chaotique Bon", | ||||||
|  |                 "Chaotique Neutre", | ||||||
|  |                 "Chaotique Mauvais" | ||||||
|  |             }; | ||||||
|  | 
 | ||||||
|  |         private List<string> _Alignments = null; | ||||||
|  |         public List<string> Alignments | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 return _Alignments; | ||||||
|  |             } | ||||||
|  |             set | ||||||
|  |             { | ||||||
|  |                 SetProperty(ref _Alignments, value); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         private void ResetAlignments() | ||||||
|  |         { | ||||||
|  |             if (!string.IsNullOrEmpty(SelectedPlayerCharacter.PersonalityIdeal)) | ||||||
|  |             { | ||||||
|  |                 var regex = new Regex(".*\\((?<alignment>.*?)\\)$"); | ||||||
|  |                 var match = regex.Match(SelectedPlayerCharacter.PersonalityIdeal); | ||||||
|  |                 var alignment = match.Groups["alignment"].Value; | ||||||
|  |                 if (!string.IsNullOrEmpty(alignment)) | ||||||
|  |                 { | ||||||
|  |                     Alignments = _AllAllignments.Where(a => a.ToLower().Contains(alignment.ToLower())).ToList(); | ||||||
|  |                 } | ||||||
|  |                 else | ||||||
|  |                 { | ||||||
|  |                     Alignments = _AllAllignments; | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |             else | ||||||
|  |             { | ||||||
|  |                 Alignments = _AllAllignments; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         #endregion Alignment | ||||||
|  | 
 | ||||||
|         #region Race |         #region Race | ||||||
|         public NotifyTaskCompletion<List<RaceItem>> Races { get; private set; } |         public NotifyTaskCompletion<List<RaceItem>> Races { get; private set; } | ||||||
|         private int _RaceSelectedIndex = 0; |         private int _RaceSelectedIndex = -1; | ||||||
|         public int RaceSelectedIndex |         public int RaceSelectedIndex | ||||||
|         { |         { | ||||||
|             get |             get | ||||||
|  | @ -73,7 +125,7 @@ namespace AideDeJeu.ViewModels | ||||||
|         #region Class |         #region Class | ||||||
|         public NotifyTaskCompletion<List<ClassItem>> Classes { get; private set; } |         public NotifyTaskCompletion<List<ClassItem>> Classes { get; private set; } | ||||||
| 
 | 
 | ||||||
|         private int _ClassSelectedIndex = 0; |         private int _ClassSelectedIndex = -1; | ||||||
|         public int ClassSelectedIndex |         public int ClassSelectedIndex | ||||||
|         { |         { | ||||||
|             get |             get | ||||||
|  | @ -99,7 +151,7 @@ namespace AideDeJeu.ViewModels | ||||||
|         #region Background |         #region Background | ||||||
|         public NotifyTaskCompletion<List<BackgroundItem>> Backgrounds { get; private set; } |         public NotifyTaskCompletion<List<BackgroundItem>> Backgrounds { get; private set; } | ||||||
| 
 | 
 | ||||||
|         private int _BackgroundSelectedIndex = 0; |         private int _BackgroundSelectedIndex = -1; | ||||||
|         public int BackgroundSelectedIndex |         public int BackgroundSelectedIndex | ||||||
|         { |         { | ||||||
|             get |             get | ||||||
|  | @ -120,6 +172,7 @@ namespace AideDeJeu.ViewModels | ||||||
|                 SelectedPlayerCharacter.PersonalityIdeal = null; |                 SelectedPlayerCharacter.PersonalityIdeal = null; | ||||||
|                 SelectedPlayerCharacter.PersonalityLink = null; |                 SelectedPlayerCharacter.PersonalityLink = null; | ||||||
|                 SelectedPlayerCharacter.PersonalityDefect = null; |                 SelectedPlayerCharacter.PersonalityDefect = null; | ||||||
|  |                 ResetAlignments(); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  | @ -136,7 +189,7 @@ namespace AideDeJeu.ViewModels | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         private int _SubBackgroundSelectedIndex = 0; |         private int _SubBackgroundSelectedIndex = -1; | ||||||
|         public int SubBackgroundSelectedIndex |         public int SubBackgroundSelectedIndex | ||||||
|         { |         { | ||||||
|             get |             get | ||||||
|  | @ -324,7 +377,29 @@ namespace AideDeJeu.ViewModels | ||||||
|         { |         { | ||||||
|             get |             get | ||||||
|             { |             { | ||||||
|                 return new Command<List<string>>(async (strings) => SelectedPlayerCharacter.PersonalityIdeal = await ExecuteStringPickerCommandAsync(strings)); |                 return new Command<List<string>>(async (strings) => | ||||||
|  |                     { | ||||||
|  |                         SelectedPlayerCharacter.PersonalityIdeal = await ExecuteStringPickerCommandAsync(strings); | ||||||
|  |                         if (!string.IsNullOrEmpty(SelectedPlayerCharacter.PersonalityIdeal)) | ||||||
|  |                         { | ||||||
|  |                             var regex = new Regex(".*\\((?<alignment>.*?)\\)$"); | ||||||
|  |                             var match = regex.Match(SelectedPlayerCharacter.PersonalityIdeal); | ||||||
|  |                             var alignment = match.Groups["alignment"].Value; | ||||||
|  |                             if (!string.IsNullOrEmpty(alignment)) | ||||||
|  |                             { | ||||||
|  |                                 Alignments = _AllAllignments.Where(a => a.ToLower().Contains(alignment.ToLower())).ToList(); | ||||||
|  |                             } | ||||||
|  |                             else | ||||||
|  |                             { | ||||||
|  |                                 Alignments = _AllAllignments; | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                         else | ||||||
|  |                         { | ||||||
|  |                             Alignments = _AllAllignments; | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 ); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         public ICommand PersonalityLinkPickerCommand |         public ICommand PersonalityLinkPickerCommand | ||||||
|  | @ -346,7 +421,6 @@ namespace AideDeJeu.ViewModels | ||||||
|         { |         { | ||||||
|             var picker = new Views.StringPicker(); |             var picker = new Views.StringPicker(); | ||||||
|             var vm = picker.ViewModel; |             var vm = picker.ViewModel; | ||||||
|             vm.Title = "Trait de personnalité"; |  | ||||||
|             vm.Items = strings; |             vm.Items = strings; | ||||||
|             await Main.Navigator.Navigation.PushModalAsync(picker, true); |             await Main.Navigator.Navigation.PushModalAsync(picker, true); | ||||||
|             var result = await vm.PickValueAsync(); |             var result = await vm.PickValueAsync(); | ||||||
|  |  | ||||||
|  | @ -21,16 +21,7 @@ | ||||||
|     <ContentPage Title="Généralités"> |     <ContentPage Title="Généralités"> | ||||||
|         <StackLayout> |         <StackLayout> | ||||||
|             <Entry Placeholder="Nom" Text="{Binding Name}" /> |             <Entry Placeholder="Nom" Text="{Binding Name}" /> | ||||||
|             <Picker Title="Genre" HorizontalOptions="FillAndExpand"> |             <Picker Title="Alignement" HorizontalOptions="FillAndExpand" ItemsSource="{Binding Alignments}" ItemDisplayBinding="{Binding StringFormat='Alignement : {0}'}" /> | ||||||
|                 <Picker.ItemsSource> |  | ||||||
|                     <x:Array Type="{x:Type x:String}"> |  | ||||||
|                         <x:String>Autre</x:String> |  | ||||||
|                         <x:String>Féminin</x:String> |  | ||||||
|                         <x:String>Masculin</x:String> |  | ||||||
|                         <x:String>Non précisé</x:String> |  | ||||||
|                     </x:Array> |  | ||||||
|                 </Picker.ItemsSource> |  | ||||||
|             </Picker> |  | ||||||
|             <Picker Title="Niveau" HorizontalOptions="FillAndExpand" ItemsSource="{Binding Levels}" ItemDisplayBinding="{Binding StringFormat='Niveau : {0}'}" /> |             <Picker Title="Niveau" HorizontalOptions="FillAndExpand" ItemsSource="{Binding Levels}" ItemDisplayBinding="{Binding StringFormat='Niveau : {0}'}" /> | ||||||
|         </StackLayout> |         </StackLayout> | ||||||
|     </ContentPage> |     </ContentPage> | ||||||
|  | @ -59,20 +50,20 @@ | ||||||
|                     <mdview:MarkdownView Markdown="{Binding SelectedPlayerCharacter.Background.Description}" /> |                     <mdview:MarkdownView Markdown="{Binding SelectedPlayerCharacter.Background.Description}" /> | ||||||
|                     <mdview:MarkdownView Markdown="{Binding SelectedPlayerCharacter.SubBackground.Description}" /> |                     <mdview:MarkdownView Markdown="{Binding SelectedPlayerCharacter.SubBackground.Description}" /> | ||||||
| 
 | 
 | ||||||
|                     <Button IsVisible="{Binding PersonalityTraits.IsSuccessfullyCompleted}" Text="Trait de personnalité" Command="{Binding PersonalityTraitPickerCommand}" CommandParameter="{Binding PersonalityTraits.Result}" /> |                     <Button Visual="Material" IsVisible="{Binding PersonalityTraits.IsSuccessfullyCompleted}" Text="Trait de personnalité" Command="{Binding PersonalityTraitPickerCommand}" CommandParameter="{Binding PersonalityTraits.Result}" /> | ||||||
|                     <mdview:MarkdownView IsVisible="{Binding PersonalityTraits.IsSuccessfullyCompleted}" HorizontalOptions="FillAndExpand" Markdown="{Binding SelectedPlayerCharacter.PersonalityTrait}" /> |                     <mdview:MarkdownView IsVisible="{Binding PersonalityTraits.IsSuccessfullyCompleted}" HorizontalOptions="FillAndExpand" Markdown="{Binding SelectedPlayerCharacter.PersonalityTrait}" /> | ||||||
| 
 | 
 | ||||||
|                     <Button IsVisible="{Binding PersonalityIdeals.IsSuccessfullyCompleted}" Text="Idéal" Command="{Binding PersonalityIdealPickerCommand}" CommandParameter="{Binding PersonalityIdeals.Result}" /> |                     <Button Visual="Material" IsVisible="{Binding PersonalityIdeals.IsSuccessfullyCompleted}" Text="Idéal" Command="{Binding PersonalityIdealPickerCommand}" CommandParameter="{Binding PersonalityIdeals.Result}" /> | ||||||
|                     <mdview:MarkdownView IsVisible="{Binding PersonalityIdeals.IsSuccessfullyCompleted}" HorizontalOptions="FillAndExpand" Markdown="{Binding SelectedPlayerCharacter.PersonalityIdeal}" /> |                     <mdview:MarkdownView IsVisible="{Binding PersonalityIdeals.IsSuccessfullyCompleted}" HorizontalOptions="FillAndExpand" Markdown="{Binding SelectedPlayerCharacter.PersonalityIdeal}" /> | ||||||
| 
 | 
 | ||||||
|                     <Button IsVisible="{Binding PersonalityLinks.IsSuccessfullyCompleted}" Text="Lien" Command="{Binding PersonalityLinkPickerCommand}" CommandParameter="{Binding PersonalityLinks.Result}" /> |                     <Button Visual="Material" IsVisible="{Binding PersonalityLinks.IsSuccessfullyCompleted}" Text="Lien" Command="{Binding PersonalityLinkPickerCommand}" CommandParameter="{Binding PersonalityLinks.Result}" /> | ||||||
|                     <mdview:MarkdownView IsVisible="{Binding PersonalityLinks.IsSuccessfullyCompleted}" HorizontalOptions="FillAndExpand" Markdown="{Binding SelectedPlayerCharacter.PersonalityLink}" /> |                     <mdview:MarkdownView IsVisible="{Binding PersonalityLinks.IsSuccessfullyCompleted}" HorizontalOptions="FillAndExpand" Markdown="{Binding SelectedPlayerCharacter.PersonalityLink}" /> | ||||||
| 
 | 
 | ||||||
|                     <Button IsVisible="{Binding PersonalityDefects.IsSuccessfullyCompleted}" Text="Défaut" Command="{Binding PersonalityDefectPickerCommand}" CommandParameter="{Binding PersonalityDefects.Result}" /> |                     <Button Visual="Material" IsVisible="{Binding PersonalityDefects.IsSuccessfullyCompleted}" Text="Défaut" Command="{Binding PersonalityDefectPickerCommand}" CommandParameter="{Binding PersonalityDefects.Result}" /> | ||||||
|                     <mdview:MarkdownView IsVisible="{Binding PersonalityDefects.IsSuccessfullyCompleted}" HorizontalOptions="FillAndExpand" Markdown="{Binding SelectedPlayerCharacter.PersonalityDefect}" /> |                     <mdview:MarkdownView IsVisible="{Binding PersonalityDefects.IsSuccessfullyCompleted}" HorizontalOptions="FillAndExpand" Markdown="{Binding SelectedPlayerCharacter.PersonalityDefect}" /> | ||||||
| 
 | 
 | ||||||
|                     <!--<mdview:MarkdownView Markdown="{Binding SelectedPlayerCharacter.Background.Markdown}" /> |                     <mdview:MarkdownView Markdown="{Binding SelectedPlayerCharacter.Background.Markdown}" /> | ||||||
|                     <mdview:MarkdownView Markdown="{Binding SelectedPlayerCharacter.SubBackground.Markdown}" />--> |                     <mdview:MarkdownView Markdown="{Binding SelectedPlayerCharacter.SubBackground.Markdown}" /> | ||||||
|                 </StackLayout> |                 </StackLayout> | ||||||
|             </ScrollView> |             </ScrollView> | ||||||
|         </StackLayout> |         </StackLayout> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Yan Maniez
						Yan Maniez