private static Rememberer SetFloat(RuleSplit split, StateSource source) { var @float = float.Parse(split.Value); switch (split.Operator) { case '=': return((query) => Rememberers.Set(query, split.Key, @float, source)); case '-': return((query) => Rememberers.SubtractFloat(query, split.Key, @float, source)); case '+': return((query) => Rememberers.AddFloat(query, split.Key, @float, source)); case '*': return((query) => Rememberers.MultiplyFloat(query, split.Key, @float, source)); case '/': return((query) => Rememberers.DivideFloat(query, split.Key, @float, source)); default: Debug.LogError($"Couldn't interpret criteria as float operation: {split}."); return(null); } }