1
0
Fork 0
mirror of https://github.com/Nioux/AideDeJeu.git synced 2025-10-30 15:06:06 +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
{
var assembly = typeof(AboutViewModel).GetTypeInfo().Assembly;
//var names = assembly.GetManifestResourceNames();
using (var stream = assembly.GetManifestResourceStream("AideDeJeu.monsters.json"))
if (_AllMonsters == null)
{
using (var reader = new System.IO.StreamReader(stream))
var serializer = new DataContractJsonSerializer(typeof(IEnumerable<Monster>));
var assembly = typeof(AboutViewModel).GetTypeInfo().Assembly;
//var names = assembly.GetManifestResourceNames();
using (var stream = assembly.GetManifestResourceStream("AideDeJeu.monsters.json"))
{
return reader.ReadToEnd();
_AllMonsters = serializer.ReadObject(stream) as IEnumerable<Monster>;
}
}
}
}
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;
return _AllMonsters;
}
}
public IEnumerable<Monster> GetMonsters(string category, string type, string minPower, string maxPower, string size, string legendary, string source)
{
var powerComparer = new PowerComparer();
return Monsters.Where(monster =>
return AllMonsters.Where(monster =>
monster.Type.Contains(type) &&
(string.IsNullOrEmpty(size) || monster.Size.Equals(size)) &&
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
{
var assembly = typeof(AboutViewModel).GetTypeInfo().Assembly;
//var names = assembly.GetManifestResourceNames();
using (var stream = assembly.GetManifestResourceStream("AideDeJeu.spells.json"))
if(_AllSpells == null)
{
using (var reader = new System.IO.StreamReader(stream))
var serializer = new DataContractJsonSerializer(typeof(IEnumerable<Spell>));
var assembly = typeof(AboutViewModel).GetTypeInfo().Assembly;
//var names = assembly.GetManifestResourceNames();
using (var stream = assembly.GetManifestResourceStream("AideDeJeu.spells.json"))
{
return reader.ReadToEnd();
_AllSpells = serializer.ReadObject(stream) as IEnumerable<Spell>;
}
}
}
}
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;
return _AllSpells;
}
}
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(niveauMax)) &&
spell.Type.Contains(ecole) &&