private void ConditionCommand(SceneConditionCommandInfo command) { var condition = EffectParser.ParseCondition(command.ConditionExpression); var entity = Entities.GetAll().FirstOrDefault(e => e.Name == command.ConditionEntity); if (condition(entity)) { RunCommands(command.Commands); } }
public static SceneConditionCommandInfo LoadConditionCommand(XElement node, string basePath) { var info = new SceneConditionCommandInfo(); info.ConditionExpression = node.RequireAttribute("condition").Value; var attr = node.Attribute("entity"); if (attr != null) { info.ConditionEntity = attr.Value; } info.Commands = LoadCommands(node, basePath); return(info); }