public bool AddLink(InputData _input, OutputData _output, ConstellationScriptData constellationScript, ConstellationEditorRules.LinkValid linkIsValid, ConstellationEditorRules.LinkAdded linkCreated) { var newLink = new LinkData(_input, _output); if (_output == null || _input == null) { return(false); } foreach (var constellationRule in constellationRules) { if (constellationRule.IsLinkValid(_input, _output)) { if (!IsLinkValid(newLink, constellationScript)) { return(false); } } else if (_input != null && _output != null) { return(false); } } linkIsValid(); constellationScript.AddLink(newLink); linkCreated(newLink.GUID); return(true); }
public bool AddLink(InputData _input, OutputData _output, ConstellationScriptData constellationScript, ConstellationEditorRules.LinkValid linkIsValid, ConstellationEditorRules.LinkAdded linkCreated) { var newLink = new LinkData(_input, _output); foreach (var constellationRule in constellationRules) { if (_output != null && _output.Type == UNDEFINED && _input != null && _input.Type != UNDEFINED) { return(false); } if (constellationRule.IsTypeValid(_input, _output)) { if (constellationRule.IsLinkValid(newLink, constellationScript)) { linkIsValid(); constellationScript.AddLink(newLink); linkCreated(newLink.GUID); return(true); } } } return(false); }