mirror of
https://github.com/Nioux/AideDeJeu.git
synced 2025-10-30 15:06:06 +00:00
Amélioration parsing
This commit is contained in:
parent
36a43fe7b6
commit
0fa553c9d2
1 changed files with 47 additions and 141 deletions
|
|
@ -167,7 +167,7 @@ namespace AideDeJeu.Tools
|
||||||
List<string> legendaryActions = null;
|
List<string> legendaryActions = null;
|
||||||
foreach (var block in document)
|
foreach (var block in document)
|
||||||
{
|
{
|
||||||
Debug.WriteLine(block.GetType());
|
//Debug.WriteLine(block.GetType());
|
||||||
//DumpBlock(block);
|
//DumpBlock(block);
|
||||||
if (block is Markdig.Syntax.HeadingBlock)
|
if (block is Markdig.Syntax.HeadingBlock)
|
||||||
{
|
{
|
||||||
|
|
@ -241,150 +241,56 @@ namespace AideDeJeu.Tools
|
||||||
var paragraphBlock = ininblock as Markdig.Syntax.ParagraphBlock;
|
var paragraphBlock = ininblock as Markdig.Syntax.ParagraphBlock;
|
||||||
//DumpParagraphBlock(paragraphBlock);
|
//DumpParagraphBlock(paragraphBlock);
|
||||||
var str = paragraphBlock.Inline.ToContainerString();
|
var str = paragraphBlock.Inline.ToContainerString();
|
||||||
//var match = regex.Match(str);
|
|
||||||
//var key = match.Groups["key"].Value;
|
var properties = new List<Tuple<string, Action<Monster, string>>>()
|
||||||
//var value = match.Groups["value"].Value;
|
|
||||||
//switch (key)
|
|
||||||
//{
|
|
||||||
//case "NameVO":
|
|
||||||
// monster.NameVO = value;
|
|
||||||
// break;
|
|
||||||
//case "SizeAlignment":
|
|
||||||
if(str.StartsWith("Classe d'armure "))
|
|
||||||
{
|
{
|
||||||
monster.ArmorClass = str;
|
new Tuple<string, Action<Monster, string>>("Classe d'armure ", (m, s) => m.ArmorClass = s),
|
||||||
}
|
new Tuple<string, Action<Monster, string>>("Points de vie ", (m, s) => m.HitPoints = s),
|
||||||
else if (str.StartsWith("Points de vie "))
|
new Tuple<string, Action<Monster, string>>("Vitesse ", (m, s) => m.Speed = s),
|
||||||
{
|
new Tuple<string, Action<Monster, string>>("Résistance aux dégâts ", (m, s) => m.DamageResistances = s),
|
||||||
monster.HitPoints = str;
|
new Tuple<string, Action<Monster, string>>("Résistances aux dégâts ", (m, s) => m.DamageResistances = s),
|
||||||
}
|
new Tuple<string, Action<Monster, string>>("Résistance contre les dégâts ", (m, s) => m.DamageResistances = s),
|
||||||
else if (str.StartsWith("Vitesse "))
|
new Tuple<string, Action<Monster, string>>("Résistances contre les dégâts ", (m, s) => m.DamageResistances = s),
|
||||||
{
|
new Tuple<string, Action<Monster, string>>("Immunité contre les dégâts ", (m, s) => m.DamageImmunities = s),
|
||||||
monster.Speed = str;
|
new Tuple<string, Action<Monster, string>>("Immunité contre des dégâts ", (m, s) => m.DamageImmunities = s),
|
||||||
}
|
new Tuple<string, Action<Monster, string>>("Immunité aux dégâts ", (m, s) => m.DamageImmunities = s),
|
||||||
else if (str.StartsWith("Résistance aux dégâts "))
|
new Tuple<string, Action<Monster, string>>("Immunité à l'état ", (m, s) => m.ConditionImmunities = s),
|
||||||
{
|
new Tuple<string, Action<Monster, string>>("Immunités à l'état ", (m, s) => m.ConditionImmunities = s),
|
||||||
monster.DamageResistances = str;
|
new Tuple<string, Action<Monster, string>>("Immunité contre l'état ", (m, s) => m.ConditionImmunities = s),
|
||||||
}
|
new Tuple<string, Action<Monster, string>>("Immunité contre les états ", (m, s) => m.ConditionImmunities = s),
|
||||||
else if (str.StartsWith("Résistances aux dégâts "))
|
new Tuple<string, Action<Monster, string>>("Immunités contre les états ", (m, s) => m.ConditionImmunities = s),
|
||||||
{
|
new Tuple<string, Action<Monster, string>>("Vulnérabilité ", (m, s) => m.DamageVulnerabilities = s),
|
||||||
monster.DamageResistances = str;
|
new Tuple<string, Action<Monster, string>>("Sens ", (m, s) => m.Senses = s),
|
||||||
}
|
new Tuple<string, Action<Monster, string>>("Langue ", (m, s) => m.Languages = s),
|
||||||
else if (str.StartsWith("Résistance contre les dégâts "))
|
new Tuple<string, Action<Monster, string>>("Dangerosité ", (m, s) => m.Challenge = s),
|
||||||
{
|
new Tuple<string, Action<Monster, string>>("Jets de sauvegarde ", (m, s) => m.Challenge = s),
|
||||||
monster.DamageResistances = str;
|
new Tuple<string, Action<Monster, string>>("Jet de sauvegarde ", (m, s) => m.Challenge = s),
|
||||||
}
|
new Tuple<string, Action<Monster, string>>("Compétences ", (m, s) => m.Skills = s),
|
||||||
else if (str.StartsWith("Résistances contre les dégâts "))
|
new Tuple<string, Action<Monster, string>>("Compétence ", (m, s) => m.Skills = s),
|
||||||
{
|
new Tuple<string, Action<Monster, string>>("Langues ", (m, s) => m.Languages = s),
|
||||||
monster.DamageResistances = str;
|
new Tuple<string, Action<Monster, string>>("", (m,s) =>
|
||||||
}
|
|
||||||
else if (str.StartsWith("Immunité contre les dégâts "))
|
|
||||||
{
|
|
||||||
monster.DamageImmunities = str;
|
|
||||||
}
|
|
||||||
else if (str.StartsWith("Immunité contre des dégâts "))
|
|
||||||
{
|
|
||||||
monster.DamageImmunities = str;
|
|
||||||
}
|
|
||||||
else if (str.StartsWith("Immunité aux dégâts "))
|
|
||||||
{
|
|
||||||
monster.DamageImmunities = str;
|
|
||||||
}
|
|
||||||
else if (str.StartsWith("Immunité à l'état "))
|
|
||||||
{
|
|
||||||
monster.ConditionImmunities = str;
|
|
||||||
}
|
|
||||||
else if (str.StartsWith("Immunités à l'état "))
|
|
||||||
{
|
|
||||||
monster.ConditionImmunities = str;
|
|
||||||
}
|
|
||||||
else if (str.StartsWith("Immunité contre l'état "))
|
|
||||||
{
|
|
||||||
monster.ConditionImmunities = str;
|
|
||||||
}
|
|
||||||
else if (str.StartsWith("Immunité contre les états "))
|
|
||||||
{
|
|
||||||
monster.ConditionImmunities = str;
|
|
||||||
}
|
|
||||||
else if (str.StartsWith("Immunités contre les états "))
|
|
||||||
{
|
|
||||||
monster.ConditionImmunities = str;
|
|
||||||
}
|
|
||||||
else if (str.StartsWith("Vulnérabilité "))
|
|
||||||
{
|
|
||||||
monster.DamageVulnerabilities = str;
|
|
||||||
}
|
|
||||||
else if (str.StartsWith("Sens "))
|
|
||||||
{
|
|
||||||
monster.Senses = str;
|
|
||||||
}
|
|
||||||
else if (str.StartsWith("Langue "))
|
|
||||||
{
|
|
||||||
monster.Languages = str;
|
|
||||||
}
|
|
||||||
else if (str.StartsWith("Dangerosité "))
|
|
||||||
{
|
|
||||||
monster.Challenge = str;
|
|
||||||
}
|
|
||||||
else if (str.StartsWith("Jets de sauvegarde "))
|
|
||||||
{
|
|
||||||
monster.Challenge = str;
|
|
||||||
}
|
|
||||||
else if (str.StartsWith("Jet de sauvegarde "))
|
|
||||||
{
|
|
||||||
monster.Challenge = str;
|
|
||||||
}
|
|
||||||
else if (str.StartsWith("Compétences "))
|
|
||||||
{
|
|
||||||
monster.Skills = str;
|
|
||||||
}
|
|
||||||
else if (str.StartsWith("Compétence "))
|
|
||||||
{
|
|
||||||
monster.Skills = str;
|
|
||||||
}
|
|
||||||
else if (str.StartsWith("Langues "))
|
|
||||||
{
|
|
||||||
monster.Languages = str;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (monster.Alignment != null)
|
|
||||||
{
|
{
|
||||||
App.Current.MainPage.DisplayAlert("Erreur de parsing", str, "OK");
|
if (m.Alignment != null)
|
||||||
|
{
|
||||||
|
App.Current.MainPage.DisplayAlert("Erreur de parsing", s, "OK");
|
||||||
|
}
|
||||||
|
//Debug.Assert(monster.Alignment == null, str);
|
||||||
|
var regexx = new Regex("(?<type>.*) de taille (?<size>.*), (?<alignment>.*)");
|
||||||
|
var matchh = regexx.Match(s);
|
||||||
|
m.Alignment = matchh.Groups["alignment"].Value;
|
||||||
|
m.Size = matchh.Groups["size"].Value;
|
||||||
|
m.Type = matchh.Groups["type"].Value;
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|
||||||
|
foreach(var property in properties)
|
||||||
|
{
|
||||||
|
if(str.StartsWith(property.Item1))
|
||||||
|
{
|
||||||
|
property.Item2.Invoke(monster, str.Substring(property.Item1.Length));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
//Debug.Assert(monster.Alignment == null, str);
|
|
||||||
var regexx = new Regex("(?<type>.*) de taille (?<size>.*), (?<alignment>.*)");
|
|
||||||
var matchh = regexx.Match(str);
|
|
||||||
monster.Alignment = matchh.Groups["alignment"].Value;
|
|
||||||
monster.Size = matchh.Groups["size"].Value;
|
|
||||||
monster.Type = matchh.Groups["type"].Value;
|
|
||||||
}
|
}
|
||||||
//break;
|
|
||||||
// if(str.st "ArmorClass":
|
|
||||||
// monster.ArmorClass = value;
|
|
||||||
// break;
|
|
||||||
// case "HitPoints":
|
|
||||||
// monster.HitPoints = value;
|
|
||||||
// break;
|
|
||||||
// case "Speed":
|
|
||||||
// monster.Speed = value;
|
|
||||||
// break;
|
|
||||||
// case "SavingThrows":
|
|
||||||
// monster.SavingThrows = value;
|
|
||||||
// break;
|
|
||||||
// case "Skills":
|
|
||||||
// monster.Skills = value ;
|
|
||||||
// break;
|
|
||||||
// case "Senses":
|
|
||||||
// monster.Senses = value;
|
|
||||||
// break;
|
|
||||||
// case "Languages":
|
|
||||||
// monster.Languages = value;
|
|
||||||
// break;
|
|
||||||
// case "Challenge":
|
|
||||||
// monster.Challenge = value;
|
|
||||||
// break;
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue