private void AssignActionsFrom(PatchEntity source, IProcessingData context) { _actions = new Dictionary <ActionQualifier, List <AssignmentExpression> >(); foreach (ActionQualifier qualifier in (ActionQualifier[])Enum.GetValues(typeof(ActionQualifier))) { _actions.Add(qualifier, new List <AssignmentExpression>()); } for (int i = 0; i < source.ActionEntries.Count; i++) { AssignmentExpression expression = ActionMaster.InterpretTransitionText(source.ActionEntries[i].Action, context); _actions[source.ActionEntries[i].Qualifier].Add(expression); } }
/// <summary> /// Called when the model has changed or is initialized. /// </summary> public void UpdateAction(ActionEntity action, IProcessingData context) { _selectedQualifier = action.Qualifier; SetQualifierText((int)_selectedQualifier); _actionDescriptionNode.Text = action.Action; _isRelevant = !string.IsNullOrEmpty(_actionDescriptionNode.Text); AssignmentExpression expression = ActionMaster.InterpretTransitionText(action.Action, context); _actionDescriptionNode.HintTooltip = expression == null ? "???" : expression.ToString(); bool validExpression = expression != null && expression.IsValid(); Color background = validExpression ? new Color(1, 0, 0, 0f) : new Color(1, 0, 0, 0.2f); _actionDescriptionNode.AddColorOverride("background_color", background); }