private void OnNodeStateChanged(object sender, EventArgs e) { var guidanceNode = sender as IConditionalNode; if (guidanceNode != null) { BlackboardManager.Current.Set(BlackboardWorkflowBinder.StateOverrideKey(feature, guidanceNode), guidanceNode.HasStateOverride.ToString()); } }
private void OnHasStateOverrideChanged(object sender, EventArgs e) { // If the override property changed, it means the state has // been just overriden (HasStateOverride = true), in which // case we do nothing as the OnNodeStateChanged would have // caught it already. If it's false, then we have to clear // the overriden state from storage. var guidanceNode = sender as IConditionalNode; if (guidanceNode != null && !guidanceNode.HasStateOverride) { BlackboardManager.Current.Set(BlackboardWorkflowBinder.StateOverrideKey(feature, guidanceNode), guidanceNode.State.ToString()); } }