public double Evaluate(Game game, EventContext context, Weights weights) { Dictionary<string, object> computedParameters = new Dictionary<string, object>(); foreach (var pair in parameters) { computedParameters.Add(pair.Key, context.GetScopedObjectByName(pair.Value)); } InformationInstance info = new InformationInstance(game.GetInformationById(informationId), computedParameters, game.CurrentTime); return weights.MeasureObserveInformation(info, game, context.CurrentCharacter); }