コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }