コード例 #1
0
        private void NumberOfLetters_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (e.PropertyName is not nameof(ILaminarValue.Value))
            {
                return;
            }

            int NewNumberOfKeys = (int)NumberOfLetters.GetInput <double>();

            if (NewNumberOfKeys > Keys.VisualComponentList.Count)
            {
                for (int i = Keys.Count; i < NewNumberOfKeys; i++)
                {
                    INodeField newField = Constructor.NodeField($"Letter {i+1}").WithInput <Keys>();
                    newField.GetValue(INodeField.InputKey).PropertyChanged += AnyKey_PropertyChanged;
                    Keys.Add(newField);
                }
            }
            else if (NewNumberOfKeys < Keys.Count)
            {
                for (int i = Keys.Count; i >= NewNumberOfKeys; i--)
                {
                    Keys.RemoveAt(i);
                }
            }

            AnyKey_PropertyChanged(null, new PropertyChangedEventArgs(nameof(ILaminarValue.Value)));
        }
コード例 #2
0
 public void SetInstance(ICompiledScript script)
 {
     NodeName = script.OriginalScript.Name.Value;
     foreach (ILaminarValue input in script.Inputs)
     {
         AllInputs.Add(Constructor.NodeField(input.Name).WithValue("Display", input));
     }
 }
コード例 #3
0
        public static INodeComponentList NodeComponentList(IEnumerable <INodeComponent> components)
        {
            INodeComponentList output = Laminar.New <INodeComponentList>();

            foreach (INodeComponent component in components)
            {
                output.Add(component);
            }

            return(output);
        }