mirror of
				https://github.com/Nioux/AideDeJeu.git
				synced 2025-10-30 23:16:09 +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), | ||||||
|  |                                             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), | ||||||
|  |                                             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), | ||||||
|  |                                             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), | ||||||
|  |                                             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), | ||||||
|  |                                             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), | ||||||
|  |                                             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), | ||||||
|  |                                             new Tuple<string, Action<Monster, string>>("Sens ", (m, s) => m.Senses = s), | ||||||
|  |                                             new Tuple<string, Action<Monster, string>>("Langue ", (m, s) => m.Languages = s), | ||||||
|  |                                             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), | ||||||
|  |                                             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), | ||||||
|  |                                             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), | ||||||
|  |                                             new Tuple<string, Action<Monster, string>>("", (m,s) => | ||||||
|                                             { |                                             { | ||||||
|                                             monster.HitPoints = str; |                                                 if (m.Alignment != null) | ||||||
|                                         } |  | ||||||
|                                         else if (str.StartsWith("Vitesse ")) |  | ||||||
|                                                 { |                                                 { | ||||||
|                                             monster.Speed = str; |                                                     App.Current.MainPage.DisplayAlert("Erreur de parsing", s, "OK"); | ||||||
|                                         } |  | ||||||
|                                         else if (str.StartsWith("Résistance aux dégâts ")) |  | ||||||
|                                         { |  | ||||||
|                                             monster.DamageResistances = str; |  | ||||||
|                                         } |  | ||||||
|                                         else if (str.StartsWith("Résistances aux dégâts ")) |  | ||||||
|                                         { |  | ||||||
|                                             monster.DamageResistances = str; |  | ||||||
|                                         } |  | ||||||
|                                         else if (str.StartsWith("Résistance contre les dégâts ")) |  | ||||||
|                                         { |  | ||||||
|                                             monster.DamageResistances = str; |  | ||||||
|                                         } |  | ||||||
|                                         else if (str.StartsWith("Résistances contre les dégâts ")) |  | ||||||
|                                         { |  | ||||||
|                                             monster.DamageResistances = str; |  | ||||||
|                                         } |  | ||||||
|                                         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"); |  | ||||||
|                                                 } |                                                 } | ||||||
|                                                 //Debug.Assert(monster.Alignment == null, str); |                                                 //Debug.Assert(monster.Alignment == null, str); | ||||||
|                                                 var regexx = new Regex("(?<type>.*) de taille (?<size>.*), (?<alignment>.*)"); |                                                 var regexx = new Regex("(?<type>.*) de taille (?<size>.*), (?<alignment>.*)"); | ||||||
|                                             var matchh = regexx.Match(str); |                                                 var matchh = regexx.Match(s); | ||||||
|                                             monster.Alignment = matchh.Groups["alignment"].Value; |                                                 m.Alignment = matchh.Groups["alignment"].Value; | ||||||
|                                             monster.Size = matchh.Groups["size"].Value; |                                                 m.Size = matchh.Groups["size"].Value; | ||||||
|                                             monster.Type = matchh.Groups["type"].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; | ||||||
|  |                                             } | ||||||
|                                         } |                                         } | ||||||
|                                                 //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
	
	 Yan Maniez
						Yan Maniez