From 3fd967e70479152f6cbcf494c9b3324a8dd65698 Mon Sep 17 00:00:00 2001 From: frozenreflex Date: Wed, 17 Apr 2024 03:41:26 -0500 Subject: [PATCH 1/2] Start of automatic binding generation --- Bindings/Devices/ViveTrackerBattery.cs | 95 ----- Bindings/JSON/JsonAddToObject.cs | 71 ---- Bindings/JSON/JsonAppendToArrayBinding.cs | 68 ---- .../JSON/JsonCountArrayChildrenBinding.cs | 62 --- .../JSON/JsonCountObjectChildrenBinding.cs | 63 --- Bindings/JSON/JsonEmptyArrayBinding.cs | 42 -- Bindings/JSON/JsonEmptyObjectBinding.cs | 42 -- Bindings/JSON/JsonGetFromArrayBinding.cs | 69 ---- Bindings/JSON/JsonGetFromObjectBinding.cs | 68 ---- Bindings/JSON/JsonInsertToArrayBinding.cs | 71 ---- Bindings/JSON/JsonNullValueBinding.cs | 42 -- Bindings/JSON/JsonParseStringArrayBinding.cs | 63 --- Bindings/JSON/JsonParseStringBinding.cs | 63 --- .../JSON/JsonQuickGetFromObjectBinding.cs | 68 ---- Bindings/JSON/JsonRemoveFromArrayBinding.cs | 68 ---- Bindings/JSON/JsonRemoveFromObjectBinding.cs | 68 ---- Bindings/JSON/JsonToStringBinding.cs | 63 --- .../Math/Physics/CentipetalForceBinding.cs | 69 ---- .../Math/Physics/DragCalculationBinding.cs | 56 --- .../Math/Physics/KineticFrictionBinding.cs | 52 --- Bindings/Math/Physics/RefractNodeBinding.cs | 54 --- Bindings/Strings/CountSubstringBinding.cs | 66 ---- Bindings/Strings/DecodeBase64.cs | 61 --- Bindings/Strings/DecodeMorse.cs | 61 --- Bindings/Strings/EncodeBase64.cs | 61 --- Bindings/Strings/EncodeMD5.cs | 61 --- Bindings/Strings/EncodeMorse.cs | 61 --- Bindings/Strings/EncodeSHA256.cs | 61 --- Bindings/Strings/HMAC.cs | 69 ---- Bindings/Strings/HammingDistance.cs | 66 ---- .../Strings/HammingDistanceNonNullable.cs | 66 ---- Bindings/User/IsUserInNoclipBinding.cs | 61 --- Bindings/User/IsUserInSeatedModeBinding.cs | 61 --- Bindings/Utility/writetolog.cs | 96 ----- .../BindingGenerator.cs | 368 ++++++++++++++++++ .../SourceGenerators.csproj | 10 + ProjectObsidian.sln | 8 +- .../Components}/Mesh/MengerSponge.cs | 0 .../Components}/Mesh/MengerSpongeMesh.cs | 0 .../Components}/Mesh/SierpinskiPyramid.cs | 0 .../Components}/Mesh/SierpinskiPyramidMesh.cs | 0 .../Drivers/MultiValueArithmeticDriver.cs | 0 .../Users/BoundingBoxUserTracker.cs | 0 .../ProjectObsidian.csproj | 4 + .../ProtoFlux}/Devices/ViveTrackerBattery.cs | 2 +- .../ProtoFlux}/JSON/JsonAddToObject.cs | 2 +- .../ProtoFlux}/JSON/JsonAppendToArray.cs | 2 +- .../JSON/JsonCountArrayChildrenNode.cs | 2 +- .../JSON/JsonCountObjectChildrenNode.cs | 2 +- .../ProtoFlux}/JSON/JsonEmpty.cs | 6 +- .../ProtoFlux}/JSON/JsonGetFromArrayNode.cs | 2 +- .../ProtoFlux}/JSON/JsonGetFromObject.cs | 2 +- .../ProtoFlux}/JSON/JsonInfo.cs | 0 .../ProtoFlux}/JSON/JsonInsertToArrayNode.cs | 2 +- .../ProtoFlux}/JSON/JsonParseStringArray.cs | 2 +- .../ProtoFlux}/JSON/JsonParseStringNode.cs | 2 +- .../ProtoFlux}/JSON/JsonQuickGetObject.cs | 2 +- .../JSON/JsonRemoveFromArrayNode.cs | 2 +- .../JSON/JsonRemoveFromObjectNode.cs | 2 +- .../ProtoFlux/JSON/JsonToStringNode.cs | 20 + .../CentripetalForceCalculationNode.cs | 0 .../Math/Physics/DragCalculationNode.cs | 0 .../Math/Physics/KinecticFrictionNode.cs | 0 .../Math/Physics/RefractCalculationNode.cs | 0 .../ProtoFlux}/NodeExstensions.cs | 0 .../ProtoFlux}/Strings/CountSubstring.cs | 0 .../ProtoFlux}/Strings/DecodeBase64Node.cs | 0 .../ProtoFlux}/Strings/DecodeMorseNode.cs | 0 .../ProtoFlux}/Strings/EncodeBase64Node.cs | 0 .../ProtoFlux}/Strings/EncodeMD5.cs | 0 .../ProtoFlux}/Strings/EncodeMorse.cs | 0 .../ProtoFlux}/Strings/EncodeSHA256.cs | 0 .../ProtoFlux}/Strings/HMAC.cs | 0 .../ProtoFlux}/Strings/HammingDistanceNode.cs | 0 .../Strings/HammingDistanceNonNullableNode.cs | 0 .../ProtoFlux}/Users/IsUserInNoclipNode.cs | 2 +- .../Users/Status/IsUserInSeatedMode.cs | 2 +- .../ProtoFlux}/Utility/WriteToLogNode.cs | 0 .../UserComponents}/ViveTrackerProxy.cs | 0 ProtoFlux/JSON/JsonToStringNode.cs | 21 - 80 files changed, 427 insertions(+), 2208 deletions(-) delete mode 100644 Bindings/Devices/ViveTrackerBattery.cs delete mode 100644 Bindings/JSON/JsonAddToObject.cs delete mode 100644 Bindings/JSON/JsonAppendToArrayBinding.cs delete mode 100644 Bindings/JSON/JsonCountArrayChildrenBinding.cs delete mode 100644 Bindings/JSON/JsonCountObjectChildrenBinding.cs delete mode 100644 Bindings/JSON/JsonEmptyArrayBinding.cs delete mode 100644 Bindings/JSON/JsonEmptyObjectBinding.cs delete mode 100644 Bindings/JSON/JsonGetFromArrayBinding.cs delete mode 100644 Bindings/JSON/JsonGetFromObjectBinding.cs delete mode 100644 Bindings/JSON/JsonInsertToArrayBinding.cs delete mode 100644 Bindings/JSON/JsonNullValueBinding.cs delete mode 100644 Bindings/JSON/JsonParseStringArrayBinding.cs delete mode 100644 Bindings/JSON/JsonParseStringBinding.cs delete mode 100644 Bindings/JSON/JsonQuickGetFromObjectBinding.cs delete mode 100644 Bindings/JSON/JsonRemoveFromArrayBinding.cs delete mode 100644 Bindings/JSON/JsonRemoveFromObjectBinding.cs delete mode 100644 Bindings/JSON/JsonToStringBinding.cs delete mode 100644 Bindings/Math/Physics/CentipetalForceBinding.cs delete mode 100644 Bindings/Math/Physics/DragCalculationBinding.cs delete mode 100644 Bindings/Math/Physics/KineticFrictionBinding.cs delete mode 100644 Bindings/Math/Physics/RefractNodeBinding.cs delete mode 100644 Bindings/Strings/CountSubstringBinding.cs delete mode 100644 Bindings/Strings/DecodeBase64.cs delete mode 100644 Bindings/Strings/DecodeMorse.cs delete mode 100644 Bindings/Strings/EncodeBase64.cs delete mode 100644 Bindings/Strings/EncodeMD5.cs delete mode 100644 Bindings/Strings/EncodeMorse.cs delete mode 100644 Bindings/Strings/EncodeSHA256.cs delete mode 100644 Bindings/Strings/HMAC.cs delete mode 100644 Bindings/Strings/HammingDistance.cs delete mode 100644 Bindings/Strings/HammingDistanceNonNullable.cs delete mode 100644 Bindings/User/IsUserInNoclipBinding.cs delete mode 100644 Bindings/User/IsUserInSeatedModeBinding.cs delete mode 100644 Bindings/Utility/writetolog.cs create mode 100644 ProjectObsidian.SourceGenerators/BindingGenerator.cs create mode 100644 ProjectObsidian.SourceGenerators/SourceGenerators.csproj rename {Components => ProjectObsidian/Components}/Mesh/MengerSponge.cs (100%) rename {Components => ProjectObsidian/Components}/Mesh/MengerSpongeMesh.cs (100%) rename {Components => ProjectObsidian/Components}/Mesh/SierpinskiPyramid.cs (100%) rename {Components => ProjectObsidian/Components}/Mesh/SierpinskiPyramidMesh.cs (100%) rename {Components => ProjectObsidian/Components}/Transform/Drivers/MultiValueArithmeticDriver.cs (100%) rename {Components => ProjectObsidian/Components}/Users/BoundingBoxUserTracker.cs (100%) rename ProjectObsidian.csproj => ProjectObsidian/ProjectObsidian.csproj (90%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/Devices/ViveTrackerBattery.cs (100%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/JSON/JsonAddToObject.cs (97%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/JSON/JsonAppendToArray.cs (96%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/JSON/JsonCountArrayChildrenNode.cs (91%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/JSON/JsonCountObjectChildrenNode.cs (91%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/JSON/JsonEmpty.cs (85%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/JSON/JsonGetFromArrayNode.cs (96%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/JSON/JsonGetFromObject.cs (96%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/JSON/JsonInfo.cs (100%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/JSON/JsonInsertToArrayNode.cs (96%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/JSON/JsonParseStringArray.cs (94%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/JSON/JsonParseStringNode.cs (94%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/JSON/JsonQuickGetObject.cs (96%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/JSON/JsonRemoveFromArrayNode.cs (95%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/JSON/JsonRemoveFromObjectNode.cs (94%) create mode 100644 ProjectObsidian/ProtoFlux/JSON/JsonToStringNode.cs rename {ProtoFlux => ProjectObsidian/ProtoFlux}/Math/Physics/CentripetalForceCalculationNode.cs (100%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/Math/Physics/DragCalculationNode.cs (100%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/Math/Physics/KinecticFrictionNode.cs (100%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/Math/Physics/RefractCalculationNode.cs (100%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/NodeExstensions.cs (100%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/Strings/CountSubstring.cs (100%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/Strings/DecodeBase64Node.cs (100%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/Strings/DecodeMorseNode.cs (100%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/Strings/EncodeBase64Node.cs (100%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/Strings/EncodeMD5.cs (100%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/Strings/EncodeMorse.cs (100%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/Strings/EncodeSHA256.cs (100%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/Strings/HMAC.cs (100%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/Strings/HammingDistanceNode.cs (100%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/Strings/HammingDistanceNonNullableNode.cs (100%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/Users/IsUserInNoclipNode.cs (92%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/Users/Status/IsUserInSeatedMode.cs (88%) rename {ProtoFlux => ProjectObsidian/ProtoFlux}/Utility/WriteToLogNode.cs (100%) rename {UserComponents => ProjectObsidian/UserComponents}/ViveTrackerProxy.cs (100%) delete mode 100644 ProtoFlux/JSON/JsonToStringNode.cs diff --git a/Bindings/Devices/ViveTrackerBattery.cs b/Bindings/Devices/ViveTrackerBattery.cs deleted file mode 100644 index 1341291..0000000 --- a/Bindings/Devices/ViveTrackerBattery.cs +++ /dev/null @@ -1,95 +0,0 @@ -using System; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using FrooxEngine.ProtoFlux.Runtimes.Execution; -using ProtoFlux.Core; - - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Devices" })] -public class ViveTrackerBattery : VoidNode -{ - public readonly SyncRef> User; - - public readonly SyncRef> BodyNode; - - public readonly NodeValueOutput IsActive; - - public readonly NodeValueOutput BatteryLevel; - - public readonly NodeValueOutput IsBatteryCharging; - - public override Type NodeType => typeof(ProtoFlux.Runtimes.Execution.Nodes.FrooxEngine.Input.ViveTrackerBattery); - - public ProtoFlux.Runtimes.Execution.Nodes.FrooxEngine.Input.ViveTrackerBattery TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 2; - - public override int NodeOutputCount => base.NodeOutputCount + 3; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - ProtoFlux.Runtimes.Execution.Nodes.FrooxEngine.Input.ViveTrackerBattery viveTrackerBattery = (TypedNodeInstance = new ProtoFlux.Runtimes.Execution.Nodes.FrooxEngine.Input.ViveTrackerBattery()); - return viveTrackerBattery as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is ProtoFlux.Runtimes.Execution.Nodes.FrooxEngine.Input.ViveTrackerBattery typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(ProtoFlux.Runtimes.Execution.Nodes.FrooxEngine.Input.ViveTrackerBattery)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - switch (index) - { - case 0: - return User; - case 1: - return BodyNode; - default: - index -= 2; - return null; - } - } - - protected override INodeOutput GetOutputInternal(ref int index) - { - INodeOutput outputInternal = base.GetOutputInternal(ref index); - if (outputInternal != null) - { - return outputInternal; - } - switch (index) - { - case 0: - return IsActive; - case 1: - return BatteryLevel; - case 2: - return IsBatteryCharging; - default: - index -= 3; - return null; - } - } -} \ No newline at end of file diff --git a/Bindings/JSON/JsonAddToObject.cs b/Bindings/JSON/JsonAddToObject.cs deleted file mode 100644 index e2265bb..0000000 --- a/Bindings/JSON/JsonAddToObject.cs +++ /dev/null @@ -1,71 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json; -using Newtonsoft.Json.Linq; - - - [Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Json" })] - public class JsonAddToObject : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode - { - public readonly SyncRef> Input; - public readonly SyncRef> Tag; - public readonly SyncRef> Object; - - public override Type NodeType => typeof(JsonAddToObjectNode); - - public JsonAddToObjectNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 3; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - JsonAddToObjectNode jsonAddToObjectInstance = (TypedNodeInstance = new JsonAddToObjectNode()); - return jsonAddToObjectInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is JsonAddToObjectNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(JsonAddToObjectNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - switch (index) - { - case 0: - return Input; - case 1: - return Tag; - case 2: - return Object; - default: - index -= 3; - return null; - } - } - } diff --git a/Bindings/JSON/JsonAppendToArrayBinding.cs b/Bindings/JSON/JsonAppendToArrayBinding.cs deleted file mode 100644 index 1cbfeac..0000000 --- a/Bindings/JSON/JsonAppendToArrayBinding.cs +++ /dev/null @@ -1,68 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json; -using Newtonsoft.Json.Linq; -using FrooxEngine.ProtoFlux; - - [Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Json" })] - public class JsonAppendToArray : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode - { - public readonly SyncRef> Array; - public readonly SyncRef> Object; - - public override Type NodeType => typeof(JsonAppendToArrayNode); - - public JsonAppendToArrayNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 2; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - JsonAppendToArrayNode jsonAppendToArrayInstance = (TypedNodeInstance = new JsonAppendToArrayNode()); - return jsonAppendToArrayInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is JsonAppendToArrayNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(JsonAppendToArrayNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - switch (index) - { - case 0: - return Array; - case 1: - return Object; - default: - index -= 2; - return null; - } - } - } - diff --git a/Bindings/JSON/JsonCountArrayChildrenBinding.cs b/Bindings/JSON/JsonCountArrayChildrenBinding.cs deleted file mode 100644 index 9ca7a75..0000000 --- a/Bindings/JSON/JsonCountArrayChildrenBinding.cs +++ /dev/null @@ -1,62 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json; -using Newtonsoft.Json.Linq; -using FrooxEngine.ProtoFlux; - - [Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Json" })] - public class JsonCountArrayChildren : FrooxEngine.ProtoFlux.Runtimes.Execution.ValueFunctionNode - { - public readonly SyncRef> Input; - - public override Type NodeType => typeof(JsonCountArrayChildrenNode); - - public JsonCountArrayChildrenNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 1; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - JsonCountArrayChildrenNode jsonCountArrayChildrenInstance = (TypedNodeInstance = new JsonCountArrayChildrenNode()); - return jsonCountArrayChildrenInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is JsonCountArrayChildrenNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(JsonCountArrayChildrenNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - if (index == 0) - { - return Input; - } - index -= 1; - return null; - } - } diff --git a/Bindings/JSON/JsonCountObjectChildrenBinding.cs b/Bindings/JSON/JsonCountObjectChildrenBinding.cs deleted file mode 100644 index d51f428..0000000 --- a/Bindings/JSON/JsonCountObjectChildrenBinding.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json; -using Newtonsoft.Json.Linq; -using FrooxEngine.ProtoFlux; - - - [Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Json" })] - public class JsonCountObjectChildren : FrooxEngine.ProtoFlux.Runtimes.Execution.ValueFunctionNode - { - public readonly SyncRef> Input; - - public override Type NodeType => typeof(JsonCountObjectChildrenNode); - - public JsonCountObjectChildrenNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 1; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - JsonCountObjectChildrenNode jsonCountObjectChildrenInstance = (TypedNodeInstance = new JsonCountObjectChildrenNode()); - return jsonCountObjectChildrenInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is JsonCountObjectChildrenNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(JsonCountObjectChildrenNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - if (index == 0) - { - return Input; - } - index -= 1; - return null; - } - } diff --git a/Bindings/JSON/JsonEmptyArrayBinding.cs b/Bindings/JSON/JsonEmptyArrayBinding.cs deleted file mode 100644 index 4e26034..0000000 --- a/Bindings/JSON/JsonEmptyArrayBinding.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using Newtonsoft.Json.Linq; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json; - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Json" })] - public class JsonEmptyArray : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode - { - public override Type NodeType => typeof(JsonEmptyArrayNode); - - public JsonEmptyArrayNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => 0; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - throw new InvalidOperationException("Node has already been instantiated"); - - TypedNodeInstance = new JsonEmptyArrayNode(); - return TypedNodeInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is JsonEmptyArrayNode typedNodeInstance) - TypedNodeInstance = typedNodeInstance; - else - throw new ArgumentException("Node instance is not of type " + typeof(JsonEmptyArrayNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - } - diff --git a/Bindings/JSON/JsonEmptyObjectBinding.cs b/Bindings/JSON/JsonEmptyObjectBinding.cs deleted file mode 100644 index 2851624..0000000 --- a/Bindings/JSON/JsonEmptyObjectBinding.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using Newtonsoft.Json.Linq; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json; - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Json" })] - public class JsonEmptyObject : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode - { - public override Type NodeType => typeof(JsonEmptyObjectNode); - - public JsonEmptyObjectNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => 0; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - throw new InvalidOperationException("Node has already been instantiated"); - - TypedNodeInstance = new JsonEmptyObjectNode(); - return TypedNodeInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is JsonEmptyObjectNode typedNodeInstance) - TypedNodeInstance = typedNodeInstance; - else - throw new ArgumentException("Node instance is not of type " + typeof(JsonEmptyObjectNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - } - diff --git a/Bindings/JSON/JsonGetFromArrayBinding.cs b/Bindings/JSON/JsonGetFromArrayBinding.cs deleted file mode 100644 index 1c24a57..0000000 --- a/Bindings/JSON/JsonGetFromArrayBinding.cs +++ /dev/null @@ -1,69 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json; -using Newtonsoft.Json.Linq; -using FrooxEngine.ProtoFlux; - - - [Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Json" })] - public class JsonGetFromArray : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode - { - public readonly SyncRef> Input; - public readonly SyncRef> Index; - - public override Type NodeType => typeof(JsonGetFromArrayNode); - - public JsonGetFromArrayNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 2; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - JsonGetFromArrayNode jsonGetFromArrayInstance = (TypedNodeInstance = new JsonGetFromArrayNode()); - return jsonGetFromArrayInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is JsonGetFromArrayNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(JsonGetFromArrayNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - switch (index) - { - case 0: - return Input; - case 1: - return Index; - default: - index -= 2; - return null; - } - } - } - diff --git a/Bindings/JSON/JsonGetFromObjectBinding.cs b/Bindings/JSON/JsonGetFromObjectBinding.cs deleted file mode 100644 index a5c51e6..0000000 --- a/Bindings/JSON/JsonGetFromObjectBinding.cs +++ /dev/null @@ -1,68 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json; -using Newtonsoft.Json.Linq; -using FrooxEngine.ProtoFlux; - - - [Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Json" })] - public class JsonGetFromObject : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode - { - public readonly SyncRef> Input; - public readonly SyncRef> Tag; - - public override Type NodeType => typeof(JsonGetFromObjectNode); - - public JsonGetFromObjectNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 2; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - JsonGetFromObjectNode jsonGetFromObjectInstance = (TypedNodeInstance = new JsonGetFromObjectNode()); - return jsonGetFromObjectInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is JsonGetFromObjectNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(JsonGetFromObjectNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - switch (index) - { - case 0: - return Input; - case 1: - return Tag; - default: - index -= 2; - return null; - } - } - } diff --git a/Bindings/JSON/JsonInsertToArrayBinding.cs b/Bindings/JSON/JsonInsertToArrayBinding.cs deleted file mode 100644 index 85b5999..0000000 --- a/Bindings/JSON/JsonInsertToArrayBinding.cs +++ /dev/null @@ -1,71 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json; -using Newtonsoft.Json.Linq; -using FrooxEngine.ProtoFlux; - - - [Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Json" })] - public class JsonInsertToArray : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode - { - public readonly SyncRef> Array; - public readonly SyncRef> Object; - public readonly SyncRef> Index; - - public override Type NodeType => typeof(JsonInsertToArrayNode); - - public JsonInsertToArrayNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 3; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - JsonInsertToArrayNode jsonInsertToArrayInstance = (TypedNodeInstance = new JsonInsertToArrayNode()); - return jsonInsertToArrayInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is JsonInsertToArrayNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(JsonInsertToArrayNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - switch (index) - { - case 0: - return Array; - case 1: - return Object; - case 2: - return Index; - default: - index -= 3; - return null; - } - } - } diff --git a/Bindings/JSON/JsonNullValueBinding.cs b/Bindings/JSON/JsonNullValueBinding.cs deleted file mode 100644 index 5e04255..0000000 --- a/Bindings/JSON/JsonNullValueBinding.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using Newtonsoft.Json.Linq; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json; - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Json" })] - public class JsonNullValue : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode - { - public override Type NodeType => typeof(JsonNullValueNode); - - public JsonNullValueNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => 0; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - throw new InvalidOperationException("Node has already been instantiated"); - - TypedNodeInstance = new JsonNullValueNode(); - return TypedNodeInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is JsonNullValueNode typedNodeInstance) - TypedNodeInstance = typedNodeInstance; - else - throw new ArgumentException("Node instance is not of type " + typeof(JsonNullValueNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - } - diff --git a/Bindings/JSON/JsonParseStringArrayBinding.cs b/Bindings/JSON/JsonParseStringArrayBinding.cs deleted file mode 100644 index 3382a19..0000000 --- a/Bindings/JSON/JsonParseStringArrayBinding.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json; -using Newtonsoft.Json.Linq; -using FrooxEngine.ProtoFlux; - - - [Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Json" })] - public class JsonParseStringArray : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode - { - public readonly SyncRef> Input; - - public override Type NodeType => typeof(JsonParseStringArrayNode); - - public JsonParseStringArrayNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 1; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - JsonParseStringArrayNode jsonParseStringArrayInstance = (TypedNodeInstance = new JsonParseStringArrayNode()); - return jsonParseStringArrayInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is JsonParseStringArrayNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(JsonParseStringArrayNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - if (index == 0) - { - return Input; - } - index -= 1; - return null; - } - } diff --git a/Bindings/JSON/JsonParseStringBinding.cs b/Bindings/JSON/JsonParseStringBinding.cs deleted file mode 100644 index 69e9578..0000000 --- a/Bindings/JSON/JsonParseStringBinding.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json; -using Newtonsoft.Json.Linq; -using FrooxEngine.ProtoFlux; - - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Json" })] -public class JsonParseString : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode -{ - public readonly SyncRef> Input; - - public override Type NodeType => typeof(JsonParseStringNode); - - public JsonParseStringNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 1; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - JsonParseStringNode jsonParseStringArrayInstance = (TypedNodeInstance = new JsonParseStringNode()); - return jsonParseStringArrayInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is JsonParseStringNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(JsonParseStringNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - if (index == 0) - { - return Input; - } - index -= 1; - return null; - } -} diff --git a/Bindings/JSON/JsonQuickGetFromObjectBinding.cs b/Bindings/JSON/JsonQuickGetFromObjectBinding.cs deleted file mode 100644 index 2a3257e..0000000 --- a/Bindings/JSON/JsonQuickGetFromObjectBinding.cs +++ /dev/null @@ -1,68 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json; -using Newtonsoft.Json.Linq; -using FrooxEngine.ProtoFlux; - - - [Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Json" })] - public class JsonQuickGetFromObject : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode - { - public readonly SyncRef> Input; - public readonly SyncRef> Tag; - - public override Type NodeType => typeof(JsonQuickGetFromObjectNode); - - public JsonQuickGetFromObjectNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 2; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - JsonQuickGetFromObjectNode jsonQuickGetFromObjectInstance = (TypedNodeInstance = new JsonQuickGetFromObjectNode()); - return jsonQuickGetFromObjectInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is JsonQuickGetFromObjectNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(JsonQuickGetFromObjectNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - switch (index) - { - case 0: - return Input; - case 1: - return Tag; - default: - index -= 2; - return null; - } - } - } diff --git a/Bindings/JSON/JsonRemoveFromArrayBinding.cs b/Bindings/JSON/JsonRemoveFromArrayBinding.cs deleted file mode 100644 index 02147dc..0000000 --- a/Bindings/JSON/JsonRemoveFromArrayBinding.cs +++ /dev/null @@ -1,68 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json; -using Newtonsoft.Json.Linq; - - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Json" })] -public class JsonRemoveFromArray : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode -{ - public readonly SyncRef> Array; - public readonly SyncRef> Index; - - public override Type NodeType => typeof(JsonRemoveFromArrayNode); - - public JsonRemoveFromArrayNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 2; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - JsonRemoveFromArrayNode jsonAddToObjectInstance = (TypedNodeInstance = new JsonRemoveFromArrayNode()); - return jsonAddToObjectInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is JsonRemoveFromArrayNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(JsonRemoveFromArrayNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - switch (index) - { - case 0: - return Array; - case 1: - return Index; - default: - index -= 2; - return null; - } - } -} diff --git a/Bindings/JSON/JsonRemoveFromObjectBinding.cs b/Bindings/JSON/JsonRemoveFromObjectBinding.cs deleted file mode 100644 index bf5cdcc..0000000 --- a/Bindings/JSON/JsonRemoveFromObjectBinding.cs +++ /dev/null @@ -1,68 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json; -using Newtonsoft.Json.Linq; - - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Json" })] -public class JsonRemoveFromObject : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode -{ - public readonly SyncRef> Input; - public readonly SyncRef> Tag; - - public override Type NodeType => typeof(JsonRemoveFromObjectNode); - - public JsonRemoveFromObjectNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 2; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - JsonRemoveFromObjectNode jsonAddToObjectInstance = (TypedNodeInstance = new JsonRemoveFromObjectNode()); - return jsonAddToObjectInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is JsonRemoveFromObjectNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(JsonRemoveFromObjectNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - switch (index) - { - case 0: - return Input; - case 1: - return Tag; - default: - index -= 2; - return null; - } - } -} diff --git a/Bindings/JSON/JsonToStringBinding.cs b/Bindings/JSON/JsonToStringBinding.cs deleted file mode 100644 index 4299455..0000000 --- a/Bindings/JSON/JsonToStringBinding.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json; -using Newtonsoft.Json.Linq; -using FrooxEngine.ProtoFlux; - - - [Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Json" })] - public class JsonToString : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode where T : JToken - { - public readonly SyncRef> Input; - - public override Type NodeType => typeof(JsonToStringNode); - - public JsonToStringNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 1; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - JsonToStringNode jsonToStringInstance = (TypedNodeInstance = new JsonToStringNode()); - return jsonToStringInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is JsonToStringNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(JsonToStringNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - if (index == 0) - { - return Input; - } - index -= 1; - return null; - } - } diff --git a/Bindings/Math/Physics/CentipetalForceBinding.cs b/Bindings/Math/Physics/CentipetalForceBinding.cs deleted file mode 100644 index 909be9e..0000000 --- a/Bindings/Math/Physics/CentipetalForceBinding.cs +++ /dev/null @@ -1,69 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Math.Physics; - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Math/Physics" })] -public class CentripetalForceCalculation : FrooxEngine.ProtoFlux.Runtimes.Execution.ValueFunctionNode -{ - public readonly SyncRef> Mass; - public readonly SyncRef> Velocity; - public readonly SyncRef> Radius; - - public override Type NodeType => typeof(ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Math.Physics.CentripetalForceCalculationNode); - - public ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Math.Physics.CentripetalForceCalculationNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 3; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Math.Physics.CentripetalForceCalculationNode centripetalForceCalculationNode2 = (TypedNodeInstance = new ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Math.Physics.CentripetalForceCalculationNode()); - return centripetalForceCalculationNode2 as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Math.Physics.CentripetalForceCalculationNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Math.Physics.CentripetalForceCalculationNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - switch (index) - { - case 0: - return Mass; - case 1: - return Velocity; - case 2: - return Radius; - default: - index -= 3; - return null; - } - } -} diff --git a/Bindings/Math/Physics/DragCalculationBinding.cs b/Bindings/Math/Physics/DragCalculationBinding.cs deleted file mode 100644 index 2587be9..0000000 --- a/Bindings/Math/Physics/DragCalculationBinding.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Math.Physics; - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Math/Physics" })] -public class DragCalculation : FrooxEngine.ProtoFlux.Runtimes.Execution.ValueFunctionNode -{ - public readonly SyncRef> FluidDensity; - public readonly SyncRef> ObjectVelocity; - public readonly SyncRef> DragCoefficient; - public readonly SyncRef> CrossSectionalArea; - - public override Type NodeType => typeof(DragCalculationNode); - - public DragCalculationNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => 4; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - TypedNodeInstance = new DragCalculationNode(); - return TypedNodeInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - TypedNodeInstance = node as DragCalculationNode ?? throw new ArgumentException("Node instance is not of type DragCalculationNode"); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - switch (index) - { - case 0: return FluidDensity; - case 1: return ObjectVelocity; - case 2: return DragCoefficient; - case 3: return CrossSectionalArea; - default: index -= 4; return null; - } - } -} diff --git a/Bindings/Math/Physics/KineticFrictionBinding.cs b/Bindings/Math/Physics/KineticFrictionBinding.cs deleted file mode 100644 index c17666c..0000000 --- a/Bindings/Math/Physics/KineticFrictionBinding.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Math.Physics; - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Math/Physics" })] -public class KineticFriction : FrooxEngine.ProtoFlux.Runtimes.Execution.ValueFunctionNode -{ - public readonly SyncRef> NormalForce; - public readonly SyncRef> KineticFrictionCoefficient; - - public override Type NodeType => typeof(KineticFrictionNode); - - public KineticFrictionNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => 2; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - TypedNodeInstance = new KineticFrictionNode(); - return TypedNodeInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - TypedNodeInstance = node as KineticFrictionNode ?? throw new ArgumentException("Node instance is not of type KineticFrictionNode"); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - switch (index) - { - case 0: return NormalForce; - case 1: return KineticFrictionCoefficient; - default: index -= 2; return null; - } - } -} diff --git a/Bindings/Math/Physics/RefractNodeBinding.cs b/Bindings/Math/Physics/RefractNodeBinding.cs deleted file mode 100644 index bb20a43..0000000 --- a/Bindings/Math/Physics/RefractNodeBinding.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Math.Physics; - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Math/Physics" })] -public class Refraction : FrooxEngine.ProtoFlux.Runtimes.Execution.ValueFunctionNode -{ - public readonly SyncRef> RefractiveIndex1; - public readonly SyncRef> RefractiveIndex2; - public readonly SyncRef> AngleOfIncidence; - - public override Type NodeType => typeof(RefractionNode); - - public RefractionNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => 3; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - TypedNodeInstance = new RefractionNode(); - return TypedNodeInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - TypedNodeInstance = node as RefractionNode ?? throw new ArgumentException("Node instance is not of type RefractionNode"); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - switch (index) - { - case 0: return RefractiveIndex1; - case 1: return RefractiveIndex2; - case 2: return AngleOfIncidence; - default: index -= 3; return null; - } - } -} diff --git a/Bindings/Strings/CountSubstringBinding.cs b/Bindings/Strings/CountSubstringBinding.cs deleted file mode 100644 index f831371..0000000 --- a/Bindings/Strings/CountSubstringBinding.cs +++ /dev/null @@ -1,66 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Strings; - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/String" })] -public class CountSubstring : FrooxEngine.ProtoFlux.Runtimes.Execution.ValueFunctionNode -{ - public readonly SyncRef> String; - public readonly SyncRef> Pattern; - - public override Type NodeType => typeof(CountSubstringNode); - - public CountSubstringNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 2; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - CountSubstringNode countSubstringNodeInstance = (TypedNodeInstance = new CountSubstringNode()); - return countSubstringNodeInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is CountSubstringNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(CountSubstringNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - switch (index) - { - case 0: - return String; - case 1: - return Pattern; - default: - index -= 2; - return null; - } - } -} diff --git a/Bindings/Strings/DecodeBase64.cs b/Bindings/Strings/DecodeBase64.cs deleted file mode 100644 index 0ca8124..0000000 --- a/Bindings/Strings/DecodeBase64.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Strings; - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/String" })] -public class DecodeBase64 : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode -{ - public readonly SyncRef> Input; - - public override Type NodeType => typeof(DecodeBase64Node); - - public DecodeBase64Node TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 1; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - DecodeBase64Node decodeBase64NodeInstance = (TypedNodeInstance = new DecodeBase64Node()); - return decodeBase64NodeInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is DecodeBase64Node typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(DecodeBase64Node)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - if (index == 0) - { - return Input; - } - index -= 1; - return null; - } -} diff --git a/Bindings/Strings/DecodeMorse.cs b/Bindings/Strings/DecodeMorse.cs deleted file mode 100644 index 8c8cfdb..0000000 --- a/Bindings/Strings/DecodeMorse.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Strings; - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/String" })] -public class DecodeMorse : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode -{ - public readonly SyncRef> Input; - - public override Type NodeType => typeof(DecodeMorseNode); - - public DecodeMorseNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 1; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - DecodeMorseNode decodeMorseNodeInstance = (TypedNodeInstance = new DecodeMorseNode()); - return decodeMorseNodeInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is DecodeMorseNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(DecodeMorseNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - if (index == 0) - { - return Input; - } - index -= 1; - return null; - } -} diff --git a/Bindings/Strings/EncodeBase64.cs b/Bindings/Strings/EncodeBase64.cs deleted file mode 100644 index 5574ad8..0000000 --- a/Bindings/Strings/EncodeBase64.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Strings; - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/String" })] -public class EncodeBase64 : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode -{ - public readonly SyncRef> Input; - - public override Type NodeType => typeof(EncodeBase64Node); - - public EncodeBase64Node TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 1; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - EncodeBase64Node encodeBase64NodeInstance = (TypedNodeInstance = new EncodeBase64Node()); - return encodeBase64NodeInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is EncodeBase64Node typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(EncodeBase64Node)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - if (index == 0) - { - return Input; - } - index -= 1; - return null; - } -} diff --git a/Bindings/Strings/EncodeMD5.cs b/Bindings/Strings/EncodeMD5.cs deleted file mode 100644 index 6f1a169..0000000 --- a/Bindings/Strings/EncodeMD5.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Strings; - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/String" })] -public class EncodeMD5 : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode -{ - public readonly SyncRef> Input; - - public override Type NodeType => typeof(EncodeMD5Node); - - public EncodeMD5Node TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 1; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - EncodeMD5Node encodeMD5NodeInstance = (TypedNodeInstance = new EncodeMD5Node()); - return encodeMD5NodeInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is EncodeMD5Node typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(EncodeMD5Node)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - if (index == 0) - { - return Input; - } - index -= 1; - return null; - } -} diff --git a/Bindings/Strings/EncodeMorse.cs b/Bindings/Strings/EncodeMorse.cs deleted file mode 100644 index 7fdd1df..0000000 --- a/Bindings/Strings/EncodeMorse.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Strings; - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/String" })] -public class EncodeMorse : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode -{ - public readonly SyncRef> Input; - - public override Type NodeType => typeof(EncodeMorseNode); - - public EncodeMorseNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 1; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - EncodeMorseNode encodeMorseNodeInstance = (TypedNodeInstance = new EncodeMorseNode()); - return encodeMorseNodeInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is EncodeMorseNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(EncodeMorseNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - if (index == 0) - { - return Input; - } - index -= 1; - return null; - } -} diff --git a/Bindings/Strings/EncodeSHA256.cs b/Bindings/Strings/EncodeSHA256.cs deleted file mode 100644 index cbdaeea..0000000 --- a/Bindings/Strings/EncodeSHA256.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Strings; - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/String" })] -public class EncodeSha256 : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode -{ - public readonly SyncRef> Input; - - public override Type NodeType => typeof(EncodeSha256Node); - - public EncodeSha256Node TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 1; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - EncodeSha256Node encodeSha256NodeInstance = (TypedNodeInstance = new EncodeSha256Node()); - return encodeSha256NodeInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is EncodeSha256Node typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(EncodeSha256Node)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - if (index == 0) - { - return Input; - } - index -= 1; - return null; - } -} diff --git a/Bindings/Strings/HMAC.cs b/Bindings/Strings/HMAC.cs deleted file mode 100644 index e0f69fe..0000000 --- a/Bindings/Strings/HMAC.cs +++ /dev/null @@ -1,69 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Strings; - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/String" })] -public class EncodeHMAC : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode -{ - public readonly SyncRef> Message; - public readonly SyncRef> Key; - public readonly SyncRef> HashAlgorithm; - - public override Type NodeType => typeof(HMACNode); - - public HMACNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 3; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - HMACNode hmacNodeInstance = (TypedNodeInstance = new HMACNode()); - return hmacNodeInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is HMACNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(HMACNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - switch (index) - { - case 0: - return Message; - case 1: - return Key; - case 2: - return HashAlgorithm; - default: - index -= 3; - return null; - } - } -} diff --git a/Bindings/Strings/HammingDistance.cs b/Bindings/Strings/HammingDistance.cs deleted file mode 100644 index 22576c9..0000000 --- a/Bindings/Strings/HammingDistance.cs +++ /dev/null @@ -1,66 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Strings; - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/String" })] -public class HammingDistance : FrooxEngine.ProtoFlux.Runtimes.Execution.ObjectFunctionNode -{ - public readonly SyncRef> String1; - public readonly SyncRef> String2; - - public override Type NodeType => typeof(HammingDistanceNode); - - public HammingDistanceNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 2; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - HammingDistanceNode hammingDistanceNodeInstance = (TypedNodeInstance = new HammingDistanceNode()); - return hammingDistanceNodeInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is HammingDistanceNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(HammingDistanceNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - switch (index) - { - case 0: - return String1; - case 1: - return String2; - default: - index -= 2; - return null; - } - } -} diff --git a/Bindings/Strings/HammingDistanceNonNullable.cs b/Bindings/Strings/HammingDistanceNonNullable.cs deleted file mode 100644 index 5da47f1..0000000 --- a/Bindings/Strings/HammingDistanceNonNullable.cs +++ /dev/null @@ -1,66 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using ProtoFlux.Runtimes.Execution.Nodes.Strings; - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/String" })] -public class HammingDistanceNonNullable : FrooxEngine.ProtoFlux.Runtimes.Execution.ValueFunctionNode -{ - public readonly SyncRef> String1; - public readonly SyncRef> String2; - - public override Type NodeType => typeof(HammingDistanceNonNullableNode); - - public HammingDistanceNonNullableNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 2; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - HammingDistanceNonNullableNode hammingDistanceNonNullableNodeInstance = (TypedNodeInstance = new HammingDistanceNonNullableNode()); - return hammingDistanceNonNullableNodeInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is HammingDistanceNonNullableNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(HammingDistanceNonNullableNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - switch (index) - { - case 0: - return String1; - case 1: - return String2; - default: - index -= 2; - return null; - } - } -} diff --git a/Bindings/User/IsUserInNoclipBinding.cs b/Bindings/User/IsUserInNoclipBinding.cs deleted file mode 100644 index 11e9d00..0000000 --- a/Bindings/User/IsUserInNoclipBinding.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using FrooxEngine.ProtoFlux.Locomotion; - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Locomotion" })] -public class IsUserInNoClip : FrooxEngine.ProtoFlux.Runtimes.Execution.ValueFunctionNode -{ - public readonly SyncRef> User; - - public override Type NodeType => typeof(IsUserInNoClipNode); - - public IsUserInNoClipNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 1; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - IsUserInNoClipNode isUserInNoClipNodeInstance = (TypedNodeInstance = new IsUserInNoClipNode()); - return isUserInNoClipNodeInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is IsUserInNoClipNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(IsUserInNoClipNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - if (index == 0) - { - return User; - } - index -= 1; - return null; - } -} diff --git a/Bindings/User/IsUserInSeatedModeBinding.cs b/Bindings/User/IsUserInSeatedModeBinding.cs deleted file mode 100644 index 0ba168f..0000000 --- a/Bindings/User/IsUserInSeatedModeBinding.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using Elements.Core; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; -using FrooxEngine.ProtoFlux.Locomotion; - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Locomotion" })] -public class IsUserInSeatedModeBinding : FrooxEngine.ProtoFlux.Runtimes.Execution.ValueFunctionNode -{ - public readonly SyncRef> User; - - public override Type NodeType => typeof(IsUserInSeatedModeNode); - - public IsUserInSeatedModeNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 1; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - IsUserInSeatedModeNode isUserInSeatedModeNodeInstance = (TypedNodeInstance = new IsUserInSeatedModeNode()); - return isUserInSeatedModeNodeInstance as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is IsUserInSeatedModeNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(IsUserInSeatedModeNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - if (index == 0) - { - return User; - } - index -= 1; - return null; - } -} \ No newline at end of file diff --git a/Bindings/Utility/writetolog.cs b/Bindings/Utility/writetolog.cs deleted file mode 100644 index 1608e88..0000000 --- a/Bindings/Utility/writetolog.cs +++ /dev/null @@ -1,96 +0,0 @@ -using System; -using FrooxEngine; -using FrooxEngine.ProtoFlux; -using FrooxEngine.ProtoFlux.Runtimes.Execution; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Utility; - - -[Category(new string[] { "ProtoFlux/Runtimes/Execution/Nodes/Obsidian/Utility" })] -public class WriteToLog : AsyncActionNode -{ - public readonly SyncRef> Value; - public readonly SyncRef> Severity; - public readonly SyncRef> Tag; - public readonly SyncRef> HandlingUser; - - public readonly SyncRef OnWriteStart; - public readonly SyncRef OnWriteComplete; - - public override Type NodeType => typeof(WriteToLogNode); - - public WriteToLogNode TypedNodeInstance { get; private set; } - - public override INode NodeInstance => TypedNodeInstance; - - public override int NodeInputCount => base.NodeInputCount + 4; - - public override int NodeImpulseCount => base.NodeImpulseCount + 2; - - public override N Instantiate() - { - if (TypedNodeInstance != null) - { - throw new InvalidOperationException("Node has already been instantiated"); - } - WriteToLogNode writeToLogNode = (TypedNodeInstance = new WriteToLogNode()); - return writeToLogNode as N; - } - - protected override void AssociateInstanceInternal(INode node) - { - if (node is WriteToLogNode typedNodeInstance) - { - TypedNodeInstance = typedNodeInstance; - return; - } - throw new ArgumentException("Node instance is not of type " + typeof(WriteToLogNode)); - } - - public override void ClearInstance() - { - TypedNodeInstance = null; - } - - protected override ISyncRef GetInputInternal(ref int index) - { - ISyncRef inputInternal = base.GetInputInternal(ref index); - if (inputInternal != null) - { - return inputInternal; - } - switch (index) - { - case 0: - return Value; - case 1: - return Severity; - case 2: - return Tag; - case 3: - return HandlingUser; - default: - index -= 4; - return null; - } - } - - protected override ISyncRef GetImpulseInternal(ref int index) - { - ISyncRef impulseInternal = base.GetImpulseInternal(ref index); - if (impulseInternal != null) - { - return impulseInternal; - } - switch (index) - { - case 0: - return OnWriteStart; - case 1: - return OnWriteComplete; - default: - index -= 2; - return null; - } - } -} diff --git a/ProjectObsidian.SourceGenerators/BindingGenerator.cs b/ProjectObsidian.SourceGenerators/BindingGenerator.cs new file mode 100644 index 0000000..be79f15 --- /dev/null +++ b/ProjectObsidian.SourceGenerators/BindingGenerator.cs @@ -0,0 +1,368 @@ +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; +using Microsoft.CodeAnalysis.CSharp.Syntax; + +namespace SourceGenerators +{ + public static class StringHelpers + { + public static string TrimEnds(this string str, int fromStart, int fromEnd) => + str.Substring(fromStart, str.Length - fromEnd - fromStart); + } + [Generator] + public class BindingGenerator : ISourceGenerator + { + public void Initialize(GeneratorInitializationContext context) + { + } + + public void Execute(GeneratorExecutionContext context) + { + var index = 0; + foreach (var tree in context.Compilation.SyntaxTrees) + { + var result = new StringBuilder(); + var root = tree.GetCompilationUnitRoot(); + var walker = new BindingGeneratorSyntaxWalker(); + walker.Visit(root); + result.Append(walker.Result); + + var res = result.ToString(); + + if (!string.IsNullOrWhiteSpace(res)) + { + context.AddSource($"{walker.BaseName}Bindings.g.cs", result.ToString()); + index++; + } + } + } + } + + public class BindingGeneratorSyntaxWalker : CSharpSyntaxWalker + { + public const string BindingPrefix = "FrooxEngine."; + public const string FluxPrefix = "ProtoFlux.Runtimes.Execution."; + + //TODO: add more, this is not all of the valid node types + public static readonly string[] ValidNodeTypes = { "VoidNode", "ObjectFunctionNode", "ValueFunctionNode" }; + + private string UsingEnumerate => + _usingDeclarations + .Where(u => !string.IsNullOrWhiteSpace(u)) + .Aggregate("", (current, u) => current + $"using {u};\n"); + + private string ObjectInputDeclaration => _objectInputs.Aggregate("", + (current, pair) => + current + $" new public readonly SyncRef> {pair.Key};\n"); + + private string ObjectOutputDeclaration => _objectOutputs.Aggregate("", + (current, pair) => + current + $" new public readonly NodeObjectOutput<{pair.Value}> {pair.Key};\n"); + + private string ValueInputDeclaration => _valueInputs.Aggregate("", + (current, pair) => + current + $" new public readonly SyncRef> {pair.Key};\n"); + + private string ValueOutputDeclaration => _valueOutputs.Aggregate("", + (current, pair) => + current + $" new public readonly NodeValueOutput<{pair.Value}> {pair.Key};\n"); + + private string ImpulseDeclaration => _impulseOrder.Aggregate("", + (current, name) => + current + $" new public readonly SyncRef {name};\n"); + + private string InputCountOverride => _inputOrder.Count == 0 + ? "" + : $" public override int NodeInputCount => base.NodeInputCount + {_inputOrder.Count};"; + + private string OutputCountOverride => _outputOrder.Count == 0 + ? "" + : $" public override int NodeOutputCount => base.NodeOutputCount + {_outputOrder.Count};"; + + private string ImpulseCountOverride => _impulseOrder.Count == 0 + ? "" + : $" public override int NodeImpulseCount => base.NodeImpulseCount + {_impulseOrder.Count};"; + + private string GetInputInternalOverride + { + get + { + if (_inputOrder.Count == 0) return ""; + var str = $$""" + + protected override ISyncRef GetInputInternal(ref int index) + { + var inputInternal = base.GetInputInternal(ref index); + if (inputInternal != null) return inputInternal; + switch (index) + { + + """; + for (var index = 0; index < _inputOrder.Count; index++) + { + var order = _inputOrder[index]; + str += $" case {index}:\n return this.{order};\n"; + } + str += $$""" + + default: + index -= {{_inputOrder.Count}}; + return null; + } + } + """; + return str; + } + } + + private string GetImpulseInternalOverride + { + get + { + if (_impulseOrder.Count == 0) return ""; + var str = $$""" + + protected override ISyncRef GetImpulseInternal(ref int index) + { + var impulseInternal = base.GetImpulseInternal(ref index); + if (impulseInternal != null) return impulseInternal; + switch (index) + { + + """; + for (var index = 0; index < _impulseOrder.Count; index++) + { + var order = _impulseOrder[index]; + str += $" case {index}:\n return this.{order};\n"; + } + str += $$""" + + default: + index -= {{_impulseOrder.Count}}; + return null; + } + } + """; + return str; + } + } + private string GetOutputInternalOverride + { + get + { + if (_outputOrder.Count == 0) return ""; + var str = $$""" + + protected override INodeOutput GetOutputInternal(ref int index) + { + var outputInternal = base.GetOutputInternal(ref index); + if (outputInternal != null) return outputInternal; + switch (index) + { + + """; + for (var index = 0; index < _outputOrder.Count; index++) + { + var order = _outputOrder[index]; + str += $" case {index}:\n return this.{order};\n"; + } + str += $$""" + + default: + index -= {{_outputOrder.Count}}; + return null; + } + } + """; + return str; + } + } + + public string Result + { + get + { + if (!_valid) return ""; + + var str = @$"//generated +{UsingEnumerate} +using {_currentNameSpace}; + +namespace {BindingPrefix}{_currentNameSpace}; + +[Category(new string[] {{""ProtoFlux/Runtimes/Execution/Nodes/{_category}""}})] +public partial class {_fullName} : {_baseType} +{{ +{ObjectInputDeclaration} +{ObjectOutputDeclaration} +{ValueInputDeclaration} +{ValueOutputDeclaration} +{ImpulseDeclaration} + public override System.Type NodeType => typeof ({_currentNameSpace}.{_fullName}); + public {_currentNameSpace}.{_fullName} TypedNodeInstance {{ get; private set; }} + public override INode NodeInstance => (INode)this.TypedNodeInstance; + public override void ClearInstance() => this.TypedNodeInstance = null; +{InputCountOverride} +{OutputCountOverride} +{ImpulseCountOverride} + public override N Instantiate() + {{ + if (this.TypedNodeInstance != null) throw new System.InvalidOperationException(""Node has already been instantiated""); + var localVar = new {_currentNameSpace}.{_fullName}(); + this.TypedNodeInstance = localVar; + return localVar as N; + }} + protected override void AssociateInstanceInternal(INode node) => this.TypedNodeInstance = node is {_currentNameSpace}.{_fullName} localVar ? localVar : throw new System.ArgumentException(""Node instance is not of type "" + typeof ({_currentNameSpace}.{_fullName})?.ToString()); +{GetInputInternalOverride} +{GetOutputInternalOverride} +{GetImpulseInternalOverride} +}}"; + return str; + } + } + + private readonly List _usingDeclarations = [""]; + private bool _valid; + private string _currentNameSpace; + private string _fullName; + public string BaseName; + private string _baseType; + private string _fullBaseType; + private string _match; + private string _category; + + private readonly Dictionary _objectInputs = new(); + private readonly Dictionary _valueInputs = new(); + + private readonly Dictionary _objectArguments = new(); + private readonly Dictionary _valueArguments = new(); + + private readonly Dictionary _objectOutputs = new(); + private readonly Dictionary _valueOutputs = new(); + + private readonly List _inputOrder = new(); + private readonly List _outputOrder = new(); + + private readonly List _impulseOrder = new(); + + public override void VisitFieldDeclaration(FieldDeclarationSyntax node) + { + var type = node.Declaration.Type.ToString(); + var name = node.Declaration.Variables.First().ToString(); + if (type.Contains("ObjectInput<")) + { + _objectInputs.Add(name, type.TrimEnds("ObjectInput<".Length, 1)); + _inputOrder.Add(name); + } + if (type.Contains("ObjectOutput<")) + { + _objectOutputs.Add(name, type.TrimEnds("ObjectOutput<".Length, 1)); + _outputOrder.Add(name); + } + + if (type.Contains("ValueInput<")) + { + _valueInputs.Add(name, type.TrimEnds("ValueInput<".Length, 1)); + _inputOrder.Add(name); + } + if (type.Contains("ValueOutput<")) + { + _valueOutputs.Add(name, type.TrimEnds("ValueOutput<".Length, 1)); + _outputOrder.Add(name); + } + + if (type.EndsWith("Continuation")) + { + _impulseOrder.Add(name); + } + base.VisitFieldDeclaration(node); + } + + public override void VisitNamespaceDeclaration(NamespaceDeclarationSyntax node) + { + _currentNameSpace = node.Name.ToString(); + base.VisitNamespaceDeclaration(node); + } + + public override void VisitFileScopedNamespaceDeclaration(FileScopedNamespaceDeclarationSyntax node) + { + _currentNameSpace = node.Name.ToString(); + base.VisitFileScopedNamespaceDeclaration(node); + } + + public override void VisitUsingDirective(UsingDirectiveSyntax node) + { + if (node.Name is not null) _usingDeclarations.Add(node.Name.ToString()); + base.VisitUsingDirective(node); + } + public override void VisitClassDeclaration(ClassDeclarationSyntax node) + { + if (node.BaseList is null) + { + base.VisitClassDeclaration(node); + return; + } + + var baseName = node.Identifier.Text; + var fullName = baseName; + + if (node.TypeParameterList is not null) + { + fullName += "<"; + fullName = node.TypeParameterList.Parameters.Aggregate(fullName, + (current, p) => current + $"{p.Identifier.Text},"); + fullName = fullName.Substring(0, fullName.Length - 1); //remove last , + fullName += ">"; + } + + BaseName = baseName; + _fullName = fullName; + + var firstBaseType = node.BaseList.Types.First(); + var baseTypeName = firstBaseType.Type.ToString(); + + _baseType = baseTypeName; + + if (!node.AttributeLists.Any()) + { + base.VisitClassDeclaration(node); + return; + } + + var find = node.AttributeLists.SelectMany(i => i.Attributes) + .FirstOrDefault(i => i.Name.ToString() == "NodeCategory"); + + if (find is null || find.ArgumentList is null) + { + base.VisitClassDeclaration(node); + return; + } + + _category = find.ArgumentList.Arguments.First().ToString(); + _category = _category.Substring(1, _category.Length - 2); + + foreach (var u in _usingDeclarations) + { + var fullNameSpace = ""; + if (string.IsNullOrEmpty(u)) + fullNameSpace = baseTypeName; + else + fullNameSpace = u + "." + baseTypeName; + + var match = ValidNodeTypes.FirstOrDefault(i => fullNameSpace.StartsWith(FluxPrefix + i)); + + if (match is null) continue; + + _match = match; + _fullBaseType = fullNameSpace; + _valid = true; + base.VisitClassDeclaration(node); + return; + } + base.VisitClassDeclaration(node); + } + } +} \ No newline at end of file diff --git a/ProjectObsidian.SourceGenerators/SourceGenerators.csproj b/ProjectObsidian.SourceGenerators/SourceGenerators.csproj new file mode 100644 index 0000000..4346f6c --- /dev/null +++ b/ProjectObsidian.SourceGenerators/SourceGenerators.csproj @@ -0,0 +1,10 @@ + + + netstandard2.0 + Debug;Release;CopyToPlugin;AutoPostX + latest + + + + + \ No newline at end of file diff --git a/ProjectObsidian.sln b/ProjectObsidian.sln index cef78e9..e81cd1c 100644 --- a/ProjectObsidian.sln +++ b/ProjectObsidian.sln @@ -3,7 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.5.33516.290 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProjectObsidian", "ProjectObsidian.csproj", "{C91F0581-2EDF-47EF-9E89-47F4A26639E7}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProjectObsidian", "ProjectObsidian/ProjectObsidian.csproj", "{C91F0581-2EDF-47EF-9E89-47F4A26639E7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceGenerators", "ProjectObsidian.SourceGenerators\SourceGenerators.csproj", "{D98EE77D-62E7-4C0F-9E35-F180637F24F1}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -15,6 +17,10 @@ Global {C91F0581-2EDF-47EF-9E89-47F4A26639E7}.Debug|Any CPU.Build.0 = Debug|Any CPU {C91F0581-2EDF-47EF-9E89-47F4A26639E7}.Release|Any CPU.ActiveCfg = Release|Any CPU {C91F0581-2EDF-47EF-9E89-47F4A26639E7}.Release|Any CPU.Build.0 = Release|Any CPU + {D98EE77D-62E7-4C0F-9E35-F180637F24F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D98EE77D-62E7-4C0F-9E35-F180637F24F1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D98EE77D-62E7-4C0F-9E35-F180637F24F1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D98EE77D-62E7-4C0F-9E35-F180637F24F1}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Components/Mesh/MengerSponge.cs b/ProjectObsidian/Components/Mesh/MengerSponge.cs similarity index 100% rename from Components/Mesh/MengerSponge.cs rename to ProjectObsidian/Components/Mesh/MengerSponge.cs diff --git a/Components/Mesh/MengerSpongeMesh.cs b/ProjectObsidian/Components/Mesh/MengerSpongeMesh.cs similarity index 100% rename from Components/Mesh/MengerSpongeMesh.cs rename to ProjectObsidian/Components/Mesh/MengerSpongeMesh.cs diff --git a/Components/Mesh/SierpinskiPyramid.cs b/ProjectObsidian/Components/Mesh/SierpinskiPyramid.cs similarity index 100% rename from Components/Mesh/SierpinskiPyramid.cs rename to ProjectObsidian/Components/Mesh/SierpinskiPyramid.cs diff --git a/Components/Mesh/SierpinskiPyramidMesh.cs b/ProjectObsidian/Components/Mesh/SierpinskiPyramidMesh.cs similarity index 100% rename from Components/Mesh/SierpinskiPyramidMesh.cs rename to ProjectObsidian/Components/Mesh/SierpinskiPyramidMesh.cs diff --git a/Components/Transform/Drivers/MultiValueArithmeticDriver.cs b/ProjectObsidian/Components/Transform/Drivers/MultiValueArithmeticDriver.cs similarity index 100% rename from Components/Transform/Drivers/MultiValueArithmeticDriver.cs rename to ProjectObsidian/Components/Transform/Drivers/MultiValueArithmeticDriver.cs diff --git a/Components/Users/BoundingBoxUserTracker.cs b/ProjectObsidian/Components/Users/BoundingBoxUserTracker.cs similarity index 100% rename from Components/Users/BoundingBoxUserTracker.cs rename to ProjectObsidian/Components/Users/BoundingBoxUserTracker.cs diff --git a/ProjectObsidian.csproj b/ProjectObsidian/ProjectObsidian.csproj similarity index 90% rename from ProjectObsidian.csproj rename to ProjectObsidian/ProjectObsidian.csproj index 5617696..e397d44 100644 --- a/ProjectObsidian.csproj +++ b/ProjectObsidian/ProjectObsidian.csproj @@ -49,4 +49,8 @@ + + + + diff --git a/ProtoFlux/Devices/ViveTrackerBattery.cs b/ProjectObsidian/ProtoFlux/Devices/ViveTrackerBattery.cs similarity index 100% rename from ProtoFlux/Devices/ViveTrackerBattery.cs rename to ProjectObsidian/ProtoFlux/Devices/ViveTrackerBattery.cs index 2fedb3a..53d624c 100644 --- a/ProtoFlux/Devices/ViveTrackerBattery.cs +++ b/ProjectObsidian/ProtoFlux/Devices/ViveTrackerBattery.cs @@ -9,8 +9,8 @@ using ProtoFlux.Runtimes.Execution; using Obsidian; - namespace ProtoFlux.Runtimes.Execution.Nodes.FrooxEngine.Input; + [NodeCategory("Devices")] public class ViveTrackerBattery : VoidNode { diff --git a/ProtoFlux/JSON/JsonAddToObject.cs b/ProjectObsidian/ProtoFlux/JSON/JsonAddToObject.cs similarity index 97% rename from ProtoFlux/JSON/JsonAddToObject.cs rename to ProjectObsidian/ProtoFlux/JSON/JsonAddToObject.cs index 96f8ac4..1088fd6 100644 --- a/ProtoFlux/JSON/JsonAddToObject.cs +++ b/ProjectObsidian/ProtoFlux/JSON/JsonAddToObject.cs @@ -9,7 +9,7 @@ namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json { [NodeName("Add To Object")] - [Category("Protoflux/Obsidian/Json")] + [NodeCategory("Obsidian/Json")] [GenericTypes(typeof(byte), typeof(sbyte), typeof(short), typeof(ushort), typeof(int), typeof(uint), typeof(long), typeof(ulong), typeof(float), typeof(double), typeof(string), typeof(Uri), typeof(JToken), typeof(JObject), typeof(JArray))] diff --git a/ProtoFlux/JSON/JsonAppendToArray.cs b/ProjectObsidian/ProtoFlux/JSON/JsonAppendToArray.cs similarity index 96% rename from ProtoFlux/JSON/JsonAppendToArray.cs rename to ProjectObsidian/ProtoFlux/JSON/JsonAppendToArray.cs index 2e221b2..8843b1f 100644 --- a/ProtoFlux/JSON/JsonAppendToArray.cs +++ b/ProjectObsidian/ProtoFlux/JSON/JsonAppendToArray.cs @@ -7,7 +7,7 @@ namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json { - [NodeCategory("ProtoFlux/Obsidian/Json")] + [NodeCategory("Obsidian/Json")] [GenericTypes(typeof(byte), typeof(sbyte), typeof(short), typeof(ushort), typeof(int), typeof(uint), typeof(long), typeof(ulong), typeof(float), typeof(double), typeof(string), typeof(Uri), typeof(JToken), typeof(JObject), typeof(JArray))] diff --git a/ProtoFlux/JSON/JsonCountArrayChildrenNode.cs b/ProjectObsidian/ProtoFlux/JSON/JsonCountArrayChildrenNode.cs similarity index 91% rename from ProtoFlux/JSON/JsonCountArrayChildrenNode.cs rename to ProjectObsidian/ProtoFlux/JSON/JsonCountArrayChildrenNode.cs index f364316..5a5a8ee 100644 --- a/ProtoFlux/JSON/JsonCountArrayChildrenNode.cs +++ b/ProjectObsidian/ProtoFlux/JSON/JsonCountArrayChildrenNode.cs @@ -4,7 +4,7 @@ namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json { - [NodeCategory("ProtoFlux/Obsidian/Json")] + [NodeCategory("Obsidian/Json")] public class JsonCountArrayChildrenNode : ValueFunctionNode { public readonly ObjectInput Input; diff --git a/ProtoFlux/JSON/JsonCountObjectChildrenNode.cs b/ProjectObsidian/ProtoFlux/JSON/JsonCountObjectChildrenNode.cs similarity index 91% rename from ProtoFlux/JSON/JsonCountObjectChildrenNode.cs rename to ProjectObsidian/ProtoFlux/JSON/JsonCountObjectChildrenNode.cs index d03f660..7011d53 100644 --- a/ProtoFlux/JSON/JsonCountObjectChildrenNode.cs +++ b/ProjectObsidian/ProtoFlux/JSON/JsonCountObjectChildrenNode.cs @@ -4,7 +4,7 @@ namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json { - [NodeCategory("ProtoFlux/Obsidian/Json")] + [NodeCategory("Obsidian/Json")] public class JsonCountObjectChildrenNode : ValueFunctionNode { public readonly ObjectInput Input; diff --git a/ProtoFlux/JSON/JsonEmpty.cs b/ProjectObsidian/ProtoFlux/JSON/JsonEmpty.cs similarity index 85% rename from ProtoFlux/JSON/JsonEmpty.cs rename to ProjectObsidian/ProtoFlux/JSON/JsonEmpty.cs index fe3f9be..0744d19 100644 --- a/ProtoFlux/JSON/JsonEmpty.cs +++ b/ProjectObsidian/ProtoFlux/JSON/JsonEmpty.cs @@ -4,7 +4,7 @@ namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json { - [NodeCategory("ProtoFlux/Obsidian/Json")] + [NodeCategory("Obsidian/Json")] public class JsonEmptyObjectNode : ObjectFunctionNode { protected override JObject Compute(ExecutionContext context) @@ -13,7 +13,7 @@ protected override JObject Compute(ExecutionContext context) } } - [NodeCategory("ProtoFlux/Obsidian/Json")] + [NodeCategory("Obsidian/Json")] public class JsonEmptyArrayNode : ObjectFunctionNode { protected override JArray Compute(ExecutionContext context) @@ -21,7 +21,7 @@ protected override JArray Compute(ExecutionContext context) return new JArray(); } } - [NodeCategory("ProtoFlux/Obsidian/Json")] + [NodeCategory("Obsidian/Json")] public class JsonNullValueNode : ObjectFunctionNode { protected override JToken Compute(ExecutionContext context) diff --git a/ProtoFlux/JSON/JsonGetFromArrayNode.cs b/ProjectObsidian/ProtoFlux/JSON/JsonGetFromArrayNode.cs similarity index 96% rename from ProtoFlux/JSON/JsonGetFromArrayNode.cs rename to ProjectObsidian/ProtoFlux/JSON/JsonGetFromArrayNode.cs index 77f752c..bab1afe 100644 --- a/ProtoFlux/JSON/JsonGetFromArrayNode.cs +++ b/ProjectObsidian/ProtoFlux/JSON/JsonGetFromArrayNode.cs @@ -7,7 +7,7 @@ namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json { - [NodeCategory("ProtoFlux/obsidian/Json")] + [NodeCategory("Obsidian/Json")] [GenericTypes(typeof(byte), typeof(sbyte), typeof(short), typeof(ushort), typeof(int), typeof(uint), typeof(long), typeof(ulong), typeof(float), typeof(double), typeof(string), typeof(Uri), typeof(JToken), typeof(JObject), typeof(JArray))] diff --git a/ProtoFlux/JSON/JsonGetFromObject.cs b/ProjectObsidian/ProtoFlux/JSON/JsonGetFromObject.cs similarity index 96% rename from ProtoFlux/JSON/JsonGetFromObject.cs rename to ProjectObsidian/ProtoFlux/JSON/JsonGetFromObject.cs index 5e5ac32..7f18dd1 100644 --- a/ProtoFlux/JSON/JsonGetFromObject.cs +++ b/ProjectObsidian/ProtoFlux/JSON/JsonGetFromObject.cs @@ -7,7 +7,7 @@ namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json { - [NodeCategory("ProtoFlux/Obsidian/Json")] + [NodeCategory("Obsidian/Json")] [GenericTypes(typeof(byte), typeof(sbyte), typeof(short), typeof(ushort), typeof(int), typeof(uint), typeof(long), typeof(ulong), typeof(float), typeof(double), typeof(string), typeof(Uri), typeof(JToken), typeof(JObject), typeof(JArray))] diff --git a/ProtoFlux/JSON/JsonInfo.cs b/ProjectObsidian/ProtoFlux/JSON/JsonInfo.cs similarity index 100% rename from ProtoFlux/JSON/JsonInfo.cs rename to ProjectObsidian/ProtoFlux/JSON/JsonInfo.cs diff --git a/ProtoFlux/JSON/JsonInsertToArrayNode.cs b/ProjectObsidian/ProtoFlux/JSON/JsonInsertToArrayNode.cs similarity index 96% rename from ProtoFlux/JSON/JsonInsertToArrayNode.cs rename to ProjectObsidian/ProtoFlux/JSON/JsonInsertToArrayNode.cs index ff391b6..3e1c315 100644 --- a/ProtoFlux/JSON/JsonInsertToArrayNode.cs +++ b/ProjectObsidian/ProtoFlux/JSON/JsonInsertToArrayNode.cs @@ -7,7 +7,7 @@ namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json { - [NodeCategory("ProtoFlux/Obsidian/Json")] + [NodeCategory("Obsidian/Json")] [GenericTypes(typeof(byte), typeof(sbyte), typeof(short), typeof(ushort), typeof(int), typeof(uint), typeof(long), typeof(ulong), typeof(float), typeof(double), typeof(string), typeof(Uri), typeof(JToken), typeof(JObject), typeof(JArray))] diff --git a/ProtoFlux/JSON/JsonParseStringArray.cs b/ProjectObsidian/ProtoFlux/JSON/JsonParseStringArray.cs similarity index 94% rename from ProtoFlux/JSON/JsonParseStringArray.cs rename to ProjectObsidian/ProtoFlux/JSON/JsonParseStringArray.cs index 0897898..0cd6694 100644 --- a/ProtoFlux/JSON/JsonParseStringArray.cs +++ b/ProjectObsidian/ProtoFlux/JSON/JsonParseStringArray.cs @@ -5,7 +5,7 @@ namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json { - [NodeCategory("ProtoFlux/Obsidian/Json")] + [NodeCategory("Obsidian/Json")] public class JsonParseStringArrayNode : ObjectFunctionNode { public readonly ObjectInput Input; diff --git a/ProtoFlux/JSON/JsonParseStringNode.cs b/ProjectObsidian/ProtoFlux/JSON/JsonParseStringNode.cs similarity index 94% rename from ProtoFlux/JSON/JsonParseStringNode.cs rename to ProjectObsidian/ProtoFlux/JSON/JsonParseStringNode.cs index 8715ce7..d841b4c 100644 --- a/ProtoFlux/JSON/JsonParseStringNode.cs +++ b/ProjectObsidian/ProtoFlux/JSON/JsonParseStringNode.cs @@ -5,7 +5,7 @@ namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json { - [NodeCategory("ProtoFlux/Obsidian/Json")] + [NodeCategory("Obsidian/Json")] public class JsonParseStringNode : ObjectFunctionNode { public readonly ObjectInput Input; diff --git a/ProtoFlux/JSON/JsonQuickGetObject.cs b/ProjectObsidian/ProtoFlux/JSON/JsonQuickGetObject.cs similarity index 96% rename from ProtoFlux/JSON/JsonQuickGetObject.cs rename to ProjectObsidian/ProtoFlux/JSON/JsonQuickGetObject.cs index aeaa2bd..d71289c 100644 --- a/ProtoFlux/JSON/JsonQuickGetObject.cs +++ b/ProjectObsidian/ProtoFlux/JSON/JsonQuickGetObject.cs @@ -7,7 +7,7 @@ namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json { - [NodeCategory("ProtoFlux/Obsidian/Json")] + [NodeCategory("Obsidian/Json")] [GenericTypes(typeof(byte), typeof(sbyte), typeof(short), typeof(ushort), typeof(int), typeof(uint), typeof(long), typeof(ulong), typeof(float), typeof(double), typeof(string), typeof(Uri), typeof(JToken), typeof(JObject), typeof(JArray))] diff --git a/ProtoFlux/JSON/JsonRemoveFromArrayNode.cs b/ProjectObsidian/ProtoFlux/JSON/JsonRemoveFromArrayNode.cs similarity index 95% rename from ProtoFlux/JSON/JsonRemoveFromArrayNode.cs rename to ProjectObsidian/ProtoFlux/JSON/JsonRemoveFromArrayNode.cs index 5694273..87526f6 100644 --- a/ProtoFlux/JSON/JsonRemoveFromArrayNode.cs +++ b/ProjectObsidian/ProtoFlux/JSON/JsonRemoveFromArrayNode.cs @@ -5,7 +5,7 @@ namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json { - [NodeCategory("ProtoFlux/Obsidian/Json")] + [NodeCategory("Obsidian/Json")] public class JsonRemoveFromArrayNode : ObjectFunctionNode { public readonly ObjectInput Array; diff --git a/ProtoFlux/JSON/JsonRemoveFromObjectNode.cs b/ProjectObsidian/ProtoFlux/JSON/JsonRemoveFromObjectNode.cs similarity index 94% rename from ProtoFlux/JSON/JsonRemoveFromObjectNode.cs rename to ProjectObsidian/ProtoFlux/JSON/JsonRemoveFromObjectNode.cs index 7ae2dd8..0272e80 100644 --- a/ProtoFlux/JSON/JsonRemoveFromObjectNode.cs +++ b/ProjectObsidian/ProtoFlux/JSON/JsonRemoveFromObjectNode.cs @@ -5,7 +5,7 @@ namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json { - [NodeCategory("ProtoFlux/Obsidian/Json")] + [NodeCategory("Obsidian/Json")] public class JsonRemoveFromObjectNode : ObjectFunctionNode { public readonly ObjectInput Input; diff --git a/ProjectObsidian/ProtoFlux/JSON/JsonToStringNode.cs b/ProjectObsidian/ProtoFlux/JSON/JsonToStringNode.cs new file mode 100644 index 0000000..6fdcf62 --- /dev/null +++ b/ProjectObsidian/ProtoFlux/JSON/JsonToStringNode.cs @@ -0,0 +1,20 @@ +using System; +using FrooxEngine; +using Newtonsoft.Json.Linq; +using ProtoFlux.Core; +using ProtoFlux.Runtimes.Execution; + +namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json; + +[NodeCategory("Obsidian/Json")] +[GenericTypes(typeof(JToken), typeof(JObject), typeof(JArray))] +public class JsonToStringNode : ObjectFunctionNode where T : JToken +{ + public readonly ObjectInput Input; + + protected override string Compute(ExecutionContext context) + { + var input = Input.Evaluate(context); + return input?.ToString(); + } +} \ No newline at end of file diff --git a/ProtoFlux/Math/Physics/CentripetalForceCalculationNode.cs b/ProjectObsidian/ProtoFlux/Math/Physics/CentripetalForceCalculationNode.cs similarity index 100% rename from ProtoFlux/Math/Physics/CentripetalForceCalculationNode.cs rename to ProjectObsidian/ProtoFlux/Math/Physics/CentripetalForceCalculationNode.cs diff --git a/ProtoFlux/Math/Physics/DragCalculationNode.cs b/ProjectObsidian/ProtoFlux/Math/Physics/DragCalculationNode.cs similarity index 100% rename from ProtoFlux/Math/Physics/DragCalculationNode.cs rename to ProjectObsidian/ProtoFlux/Math/Physics/DragCalculationNode.cs diff --git a/ProtoFlux/Math/Physics/KinecticFrictionNode.cs b/ProjectObsidian/ProtoFlux/Math/Physics/KinecticFrictionNode.cs similarity index 100% rename from ProtoFlux/Math/Physics/KinecticFrictionNode.cs rename to ProjectObsidian/ProtoFlux/Math/Physics/KinecticFrictionNode.cs diff --git a/ProtoFlux/Math/Physics/RefractCalculationNode.cs b/ProjectObsidian/ProtoFlux/Math/Physics/RefractCalculationNode.cs similarity index 100% rename from ProtoFlux/Math/Physics/RefractCalculationNode.cs rename to ProjectObsidian/ProtoFlux/Math/Physics/RefractCalculationNode.cs diff --git a/ProtoFlux/NodeExstensions.cs b/ProjectObsidian/ProtoFlux/NodeExstensions.cs similarity index 100% rename from ProtoFlux/NodeExstensions.cs rename to ProjectObsidian/ProtoFlux/NodeExstensions.cs diff --git a/ProtoFlux/Strings/CountSubstring.cs b/ProjectObsidian/ProtoFlux/Strings/CountSubstring.cs similarity index 100% rename from ProtoFlux/Strings/CountSubstring.cs rename to ProjectObsidian/ProtoFlux/Strings/CountSubstring.cs diff --git a/ProtoFlux/Strings/DecodeBase64Node.cs b/ProjectObsidian/ProtoFlux/Strings/DecodeBase64Node.cs similarity index 100% rename from ProtoFlux/Strings/DecodeBase64Node.cs rename to ProjectObsidian/ProtoFlux/Strings/DecodeBase64Node.cs diff --git a/ProtoFlux/Strings/DecodeMorseNode.cs b/ProjectObsidian/ProtoFlux/Strings/DecodeMorseNode.cs similarity index 100% rename from ProtoFlux/Strings/DecodeMorseNode.cs rename to ProjectObsidian/ProtoFlux/Strings/DecodeMorseNode.cs diff --git a/ProtoFlux/Strings/EncodeBase64Node.cs b/ProjectObsidian/ProtoFlux/Strings/EncodeBase64Node.cs similarity index 100% rename from ProtoFlux/Strings/EncodeBase64Node.cs rename to ProjectObsidian/ProtoFlux/Strings/EncodeBase64Node.cs diff --git a/ProtoFlux/Strings/EncodeMD5.cs b/ProjectObsidian/ProtoFlux/Strings/EncodeMD5.cs similarity index 100% rename from ProtoFlux/Strings/EncodeMD5.cs rename to ProjectObsidian/ProtoFlux/Strings/EncodeMD5.cs diff --git a/ProtoFlux/Strings/EncodeMorse.cs b/ProjectObsidian/ProtoFlux/Strings/EncodeMorse.cs similarity index 100% rename from ProtoFlux/Strings/EncodeMorse.cs rename to ProjectObsidian/ProtoFlux/Strings/EncodeMorse.cs diff --git a/ProtoFlux/Strings/EncodeSHA256.cs b/ProjectObsidian/ProtoFlux/Strings/EncodeSHA256.cs similarity index 100% rename from ProtoFlux/Strings/EncodeSHA256.cs rename to ProjectObsidian/ProtoFlux/Strings/EncodeSHA256.cs diff --git a/ProtoFlux/Strings/HMAC.cs b/ProjectObsidian/ProtoFlux/Strings/HMAC.cs similarity index 100% rename from ProtoFlux/Strings/HMAC.cs rename to ProjectObsidian/ProtoFlux/Strings/HMAC.cs diff --git a/ProtoFlux/Strings/HammingDistanceNode.cs b/ProjectObsidian/ProtoFlux/Strings/HammingDistanceNode.cs similarity index 100% rename from ProtoFlux/Strings/HammingDistanceNode.cs rename to ProjectObsidian/ProtoFlux/Strings/HammingDistanceNode.cs diff --git a/ProtoFlux/Strings/HammingDistanceNonNullableNode.cs b/ProjectObsidian/ProtoFlux/Strings/HammingDistanceNonNullableNode.cs similarity index 100% rename from ProtoFlux/Strings/HammingDistanceNonNullableNode.cs rename to ProjectObsidian/ProtoFlux/Strings/HammingDistanceNonNullableNode.cs diff --git a/ProtoFlux/Users/IsUserInNoclipNode.cs b/ProjectObsidian/ProtoFlux/Users/IsUserInNoclipNode.cs similarity index 92% rename from ProtoFlux/Users/IsUserInNoclipNode.cs rename to ProjectObsidian/ProtoFlux/Users/IsUserInNoclipNode.cs index d80afb0..99e4879 100644 --- a/ProtoFlux/Users/IsUserInNoclipNode.cs +++ b/ProjectObsidian/ProtoFlux/Users/IsUserInNoclipNode.cs @@ -2,7 +2,7 @@ using ProtoFlux.Core; using ProtoFlux.Runtimes.Execution; -namespace FrooxEngine.ProtoFlux.Locomotion +namespace ProtoFlux.Runtimes.Execution.Nodes.FrooxEngine.Locomotion { [ContinuouslyChanging] [NodeCategory("ProtoFlux/Obsidian/Locomotion")] diff --git a/ProtoFlux/Users/Status/IsUserInSeatedMode.cs b/ProjectObsidian/ProtoFlux/Users/Status/IsUserInSeatedMode.cs similarity index 88% rename from ProtoFlux/Users/Status/IsUserInSeatedMode.cs rename to ProjectObsidian/ProtoFlux/Users/Status/IsUserInSeatedMode.cs index 8ecd617..9fc5ef2 100644 --- a/ProtoFlux/Users/Status/IsUserInSeatedMode.cs +++ b/ProjectObsidian/ProtoFlux/Users/Status/IsUserInSeatedMode.cs @@ -2,7 +2,7 @@ using ProtoFlux.Core; using ProtoFlux.Runtimes.Execution; -namespace FrooxEngine.ProtoFlux.Locomotion +namespace ProtoFlux.Runtimes.Execution.Nodes.FrooxEngine.Locomotion { [ContinuouslyChanging] [NodeCategory("ProtoFlux/Obsidian/Locomotion")] diff --git a/ProtoFlux/Utility/WriteToLogNode.cs b/ProjectObsidian/ProtoFlux/Utility/WriteToLogNode.cs similarity index 100% rename from ProtoFlux/Utility/WriteToLogNode.cs rename to ProjectObsidian/ProtoFlux/Utility/WriteToLogNode.cs diff --git a/UserComponents/ViveTrackerProxy.cs b/ProjectObsidian/UserComponents/ViveTrackerProxy.cs similarity index 100% rename from UserComponents/ViveTrackerProxy.cs rename to ProjectObsidian/UserComponents/ViveTrackerProxy.cs diff --git a/ProtoFlux/JSON/JsonToStringNode.cs b/ProtoFlux/JSON/JsonToStringNode.cs deleted file mode 100644 index a6728dd..0000000 --- a/ProtoFlux/JSON/JsonToStringNode.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using FrooxEngine; -using Newtonsoft.Json.Linq; -using ProtoFlux.Core; -using ProtoFlux.Runtimes.Execution; - -namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Json -{ - [NodeCategory("ProtoFlux/Obsidian/Json")] - [GenericTypes(typeof(JToken), typeof(JObject), typeof(JArray))] - public class JsonToStringNode : ObjectFunctionNode where T : JToken - { - public readonly ObjectInput Input; - - protected override string Compute(ExecutionContext context) - { - var input = Input.Evaluate(context); - return input?.ToString(); - } - } -} From 312d21f9219d7e4e5c64070a70337b363e4f9055 Mon Sep 17 00:00:00 2001 From: frozenreflex Date: Wed, 17 Apr 2024 03:42:39 -0500 Subject: [PATCH 2/2] Oops --- ProjectObsidian.SourceGenerators/SourceGenerators.csproj | 1 - 1 file changed, 1 deletion(-) diff --git a/ProjectObsidian.SourceGenerators/SourceGenerators.csproj b/ProjectObsidian.SourceGenerators/SourceGenerators.csproj index 4346f6c..b8f50eb 100644 --- a/ProjectObsidian.SourceGenerators/SourceGenerators.csproj +++ b/ProjectObsidian.SourceGenerators/SourceGenerators.csproj @@ -1,7 +1,6 @@ netstandard2.0 - Debug;Release;CopyToPlugin;AutoPostX latest