1
0
Fork 0
mirror of https://github.com/Nioux/AideDeJeu.git synced 2025-10-31 07:26:09 +00:00
This commit is contained in:
Yan Maniez 2018-05-21 22:15:48 +02:00
parent ea491f8bcc
commit f73d89f4b4
2 changed files with 20 additions and 54 deletions

View file

@ -233,46 +233,29 @@ namespace AideDeJeu.ViewModels
private string MonstersJson private IEnumerable<Monster> _AllMonsters = null;
private IEnumerable<Monster> AllMonsters
{ {
get get
{ {
if (_AllMonsters == null)
{
var serializer = new DataContractJsonSerializer(typeof(IEnumerable<Monster>));
var assembly = typeof(AboutViewModel).GetTypeInfo().Assembly; var assembly = typeof(AboutViewModel).GetTypeInfo().Assembly;
//var names = assembly.GetManifestResourceNames(); //var names = assembly.GetManifestResourceNames();
using (var stream = assembly.GetManifestResourceStream("AideDeJeu.monsters.json")) using (var stream = assembly.GetManifestResourceStream("AideDeJeu.monsters.json"))
{ {
using (var reader = new System.IO.StreamReader(stream)) _AllMonsters = serializer.ReadObject(stream) as IEnumerable<Monster>;
{
return reader.ReadToEnd();
} }
} }
} return _AllMonsters;
}
private IEnumerable<Monster> _Monsters = null;
private IEnumerable<Monster> Monsters
{
get
{
if (_Monsters == null)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(IEnumerable<Monster>));
MemoryStream stream = new MemoryStream();
var writer = new StreamWriter(stream);
writer.Write(MonstersJson);
writer.Flush();
stream.Seek(0, SeekOrigin.Begin);
_Monsters = serializer.ReadObject(stream) as IEnumerable<Monster>;
}
return _Monsters;
} }
} }
public IEnumerable<Monster> GetMonsters(string category, string type, string minPower, string maxPower, string size, string legendary, string source) public IEnumerable<Monster> GetMonsters(string category, string type, string minPower, string maxPower, string size, string legendary, string source)
{ {
var powerComparer = new PowerComparer(); var powerComparer = new PowerComparer();
return Monsters.Where(monster => return AllMonsters.Where(monster =>
monster.Type.Contains(type) && monster.Type.Contains(type) &&
(string.IsNullOrEmpty(size) || monster.Size.Equals(size)) && (string.IsNullOrEmpty(size) || monster.Size.Equals(size)) &&
monster.Source.Contains(source) && monster.Source.Contains(source) &&

View file

@ -179,45 +179,28 @@ namespace AideDeJeu.ViewModels
{ {
} }
private string SpellsJson private IEnumerable<Spell> _AllSpells = null;
private IEnumerable<Spell> AllSpells
{ {
get get
{ {
if(_AllSpells == null)
{
var serializer = new DataContractJsonSerializer(typeof(IEnumerable<Spell>));
var assembly = typeof(AboutViewModel).GetTypeInfo().Assembly; var assembly = typeof(AboutViewModel).GetTypeInfo().Assembly;
//var names = assembly.GetManifestResourceNames(); //var names = assembly.GetManifestResourceNames();
using (var stream = assembly.GetManifestResourceStream("AideDeJeu.spells.json")) using (var stream = assembly.GetManifestResourceStream("AideDeJeu.spells.json"))
{ {
using (var reader = new System.IO.StreamReader(stream)) _AllSpells = serializer.ReadObject(stream) as IEnumerable<Spell>;
{
return reader.ReadToEnd();
} }
} }
} return _AllSpells;
}
private IEnumerable<Spell> _Spells = null;
private IEnumerable<Spell> Spells
{
get
{
if(_Spells == null)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(IEnumerable<Spell>));
MemoryStream stream = new MemoryStream();
var writer = new StreamWriter(stream);
writer.Write(SpellsJson);
writer.Flush();
stream.Seek(0, SeekOrigin.Begin);
_Spells = serializer.ReadObject(stream) as IEnumerable<Spell>;
}
return _Spells;
} }
} }
public IEnumerable<Spell> GetSpells(string classe, string niveauMin, string niveauMax, string ecole, string rituel, string source) public IEnumerable<Spell> GetSpells(string classe, string niveauMin, string niveauMax, string ecole, string rituel, string source)
{ {
return Spells.Where(spell => return AllSpells.Where(spell =>
(int.Parse(spell.Level) >= int.Parse(niveauMin)) && (int.Parse(spell.Level) >= int.Parse(niveauMin)) &&
(int.Parse(spell.Level) <= int.Parse(niveauMax)) && (int.Parse(spell.Level) <= int.Parse(niveauMax)) &&
spell.Type.Contains(ecole) && spell.Type.Contains(ecole) &&