1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-13 05:48:35 +00:00
Artemis/src/Artemis.Core/VisualScripting/DataBindingNodeScript.cs
Robert f6090dc296 Code style - Use file scoped namespaces
Code style - Ran code cleanup
2022-08-21 11:36:15 +02:00

41 lines
1.3 KiB
C#

using System;
using System.Linq;
using Artemis.Core.Internal;
using Artemis.Storage.Entities.Profile.Nodes;
namespace Artemis.Core;
internal class DataBindingNodeScript<TLayerProperty> : NodeScript
{
/// <inheritdoc />
public DataBindingNodeScript(string name, string description, DataBinding<TLayerProperty> dataBinding, object? context = null)
: base(name, description, context)
{
DataBindingExitNode = new DataBindingExitNode<TLayerProperty>(dataBinding);
ExitNode = DataBindingExitNode;
AddNode(ExitNode);
}
/// <inheritdoc />
public DataBindingNodeScript(string name, string description, DataBinding<TLayerProperty> dataBinding, NodeScriptEntity entity, object? context = null)
: base(name, description, entity, context)
{
DataBindingExitNode = new DataBindingExitNode<TLayerProperty>(dataBinding);
ExitNode = DataBindingExitNode;
AddNode(ExitNode);
Load();
}
#region Properties & Fields
internal DataBindingExitNode<TLayerProperty> DataBindingExitNode { get; }
/// <inheritdoc />
public override bool ExitNodeConnected => DataBindingExitNode.Pins.Any(p => p.ConnectedTo.Any());
/// <inheritdoc />
public override Type ResultType => typeof(object);
#endregion
}