mirror of
https://github.com/Nioux/AideDeJeu.git
synced 2025-10-31 23:45:39 +00:00
Dispose
This commit is contained in:
parent
ea491f8bcc
commit
f73d89f4b4
2 changed files with 20 additions and 54 deletions
|
|
@ -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) &&
|
||||||
|
|
|
||||||
|
|
@ -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) &&
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue