override protected void OnExecuteStart(NodeFlowData p_flowData) { if (!Model.attributeName.IsNullOrWhitespace() && !Model.expression.IsNullOrWhitespace()) { if (!p_flowData.HasAttribute(Model.attributeName) || p_flowData.GetAttributeType(Model.attributeName) == Model.attributeType) { var value = ExpressionEvaluator.EvaluateTypedExpression(Model.expression, Model.attributeType, ParameterResolver, p_flowData); if (ExpressionEvaluator.hasErrorInEvaluation) { SetError(ExpressionEvaluator.errorMessage); return; } p_flowData.SetAttribute(Model.attributeName, value); } else { Debug.LogWarning("Changing flow data attribute type at runtime not allowed."); } } OnExecuteEnd(); OnExecuteOutput(0, p_flowData); }