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