From 3167186e4f7204230f9fba1d30f2880d907f005d Mon Sep 17 00:00:00 2001 From: ruri Date: Sat, 13 Apr 2019 18:27:31 +0200 Subject: [PATCH] Fixed the EXISTS condition when using dictionaries. --- RuriLib/Blocks/BlockBase.cs | 4 ++-- RuriLib/Models/CVar.cs | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/RuriLib/Blocks/BlockBase.cs b/RuriLib/Blocks/BlockBase.cs index 6330d08..892a77c 100644 --- a/RuriLib/Blocks/BlockBase.cs +++ b/RuriLib/Blocks/BlockBase.cs @@ -221,12 +221,12 @@ namespace RuriLib if (args.Contains("(") && args.Contains(")")) { var dicKey = ParseArguments(args, '(', ')')[0]; - output = output.Replace(full, v.GetDictValue(dicKey)); + try { output = output.Replace(full, v.GetDictValue(dicKey)); } catch { } } else if (args.Contains("{") && args.Contains("}")) { var dicVal = ParseArguments(args, '{', '}')[0]; - output = output.Replace(full, v.GetDictKey(dicVal)); + try { output = output.Replace(full, v.GetDictKey(dicVal)); } catch { } } break; } diff --git a/RuriLib/Models/CVar.cs b/RuriLib/Models/CVar.cs index d790285..10794ca 100644 --- a/RuriLib/Models/CVar.cs +++ b/RuriLib/Models/CVar.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Linq; namespace RuriLib.Models @@ -153,7 +154,7 @@ namespace RuriLib.Models { var dict = Value as Dictionary; if (dict.ContainsKey(key)) return dict.First(d => d.Key == key).Value; - else return dict.FirstOrDefault(d => d.Key.Contains(key)).Value; + else throw new Exception("Key not in dictionary"); } /// @@ -165,7 +166,7 @@ namespace RuriLib.Models { var dict = Value as Dictionary; if (dict.ContainsValue(value)) return dict.First(d => d.Value == value).Key; - else return dict.FirstOrDefault(d => d.Value.Contains(value)).Key; + else throw new Exception("Value not in dictionary"); } } }