Skip to content

Commit

Permalink
Added things
Browse files Browse the repository at this point in the history
  • Loading branch information
LeCloutPanda committed Apr 27, 2024
1 parent 861e657 commit 99f5dbf
Show file tree
Hide file tree
Showing 16 changed files with 196 additions and 13 deletions.
61 changes: 61 additions & 0 deletions ProjectObsidian/ProtoFlux/Actions/TweenPosition.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
using System.Threading.Tasks;
using Elements.Core;
using FrooxEngine;
using FrooxEngine.ProtoFlux;
using ProtoFlux.Core;

namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Actions
{
[NodeCategory("Obsidian/Actions")]
public class TweenPosition : AsyncActionNode<FrooxEngineContext>
{
public ValueInput<float3> To;
public ValueInput<float3> From;
[Core.DefaultValueAttribute(1f)]
public ValueInput<float> Duration;
[Core.DefaultValueAttribute(CurvePreset.Smooth)]
public ValueInput<CurvePreset> Curve;
public ValueInput<bool> ProportionalDuration;
public ObjectInput<Slot> Target;
public AsyncCall OnStarted;
public Continuation OnDone;

protected override async Task<IOperation> RunAsync(FrooxEngineContext context)
{
IField <float3> field = Target.Evaluate(context).Position_Field;
if (field == null)
{
return null;
}
float3 val = field.Value;
float3 val2 = field.Value;
if (To.Source != null)
{
val2 = To.Evaluate(context);
}
if (From.Source != null)
{
val = From.Evaluate(context);
}
float num = Duration.Evaluate(context, 1f);
bool num2 = ProportionalDuration.Evaluate(context, defaultValue: false);
CurvePreset curve = Curve.Evaluate(context, CurvePreset.Smooth);
if (num2 && Coder<float3>.SupportsDistance)
{
float num3 = Coder<float3>.Distance(val, val2);
if (num3.IsValid())
{
num *= num3;
}
}
TaskCompletionSource<bool> completion = new TaskCompletionSource<bool>();
field.TweenFromTo(val, val2, num, curve, null, delegate
{
completion.SetResult(result: true);
});
await OnStarted.ExecuteAsync(context);
await completion.Task;
return OnDone.Target;
}
}
}
61 changes: 61 additions & 0 deletions ProjectObsidian/ProtoFlux/Actions/TweenRotation.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
using System.Threading.Tasks;
using Elements.Core;
using FrooxEngine;
using FrooxEngine.ProtoFlux;
using ProtoFlux.Core;

namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Actions
{
[NodeCategory("Obsidian/Actions")]
public class TweenRotation : AsyncActionNode<FrooxEngineContext>
{
public ValueInput<floatQ> To;
public ValueInput<floatQ> From;
[Core.DefaultValueAttribute(1f)]
public ValueInput<float> Duration;
[Core.DefaultValueAttribute(CurvePreset.Smooth)]
public ValueInput<CurvePreset> Curve;
public ValueInput<bool> ProportionalDuration;
public ObjectInput<Slot> Target;
public AsyncCall OnStarted;
public Continuation OnDone;

protected override async Task<IOperation> RunAsync(FrooxEngineContext context)
{
IField <floatQ> field = Target.Evaluate(context).Rotation_Field;
if (field == null)
{
return null;
}
floatQ val = field.Value;
floatQ val2 = field.Value;
if (To.Source != null)
{
val2 = To.Evaluate(context);
}
if (From.Source != null)
{
val = From.Evaluate(context);
}
float num = Duration.Evaluate(context, 1f);
bool num2 = ProportionalDuration.Evaluate(context, defaultValue: false);
CurvePreset curve = Curve.Evaluate(context, CurvePreset.Smooth);
if (num2 && Coder<floatQ>.SupportsDistance)
{
float num3 = Coder<floatQ>.Distance(val, val2);
if (num3.IsValid())
{
num *= num3;
}
}
TaskCompletionSource<bool> completion = new TaskCompletionSource<bool>();
field.TweenFromTo(val, val2, num, curve, null, delegate
{
completion.SetResult(result: true);
});
await OnStarted.ExecuteAsync(context);
await completion.Task;
return OnDone.Target;
}
}
}
61 changes: 61 additions & 0 deletions ProjectObsidian/ProtoFlux/Actions/TweenScale.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
using System.Threading.Tasks;
using Elements.Core;
using FrooxEngine;
using FrooxEngine.ProtoFlux;
using ProtoFlux.Core;

namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Actions
{
[NodeCategory("Obsidian/Actions")]
public class TweenScale: AsyncActionNode<FrooxEngineContext>
{
public ValueInput<float3> To;
public ValueInput<float3> From;
[Core.DefaultValueAttribute(1f)]
public ValueInput<float> Duration;
[Core.DefaultValueAttribute(CurvePreset.Smooth)]
public ValueInput<CurvePreset> Curve;
public ValueInput<bool> ProportionalDuration;
public ObjectInput<Slot> Target;
public AsyncCall OnStarted;
public Continuation OnDone;

protected override async Task<IOperation> RunAsync(FrooxEngineContext context)
{
IField<float3> field = Target.Evaluate(context).Scale_Field;
if (field == null)
{
return null;
}
float3 val = field.Value;
float3 val2 = field.Value;
if (To.Source != null)
{
val2 = To.Evaluate(context);
}
if (From.Source != null)
{
val = From.Evaluate(context);
}
float num = Duration.Evaluate(context, 1f);
bool num2 = ProportionalDuration.Evaluate(context, defaultValue: false);
CurvePreset curve = Curve.Evaluate(context, CurvePreset.Smooth);
if (num2 && Coder<float3>.SupportsDistance)
{
float num3 = Coder<float3>.Distance(val, val2);
if (num3.IsValid())
{
num *= num3;
}
}
TaskCompletionSource<bool> completion = new TaskCompletionSource<bool>();
field.TweenFromTo(val, val2, num, curve, null, delegate
{
completion.SetResult(result: true);
});
await OnStarted.ExecuteAsync(context);
await completion.Task;
return OnDone.Target;
}
}
}
2 changes: 1 addition & 1 deletion ProjectObsidian/ProtoFlux/Devices/ViveTrackerBattery.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
using ProtoFlux.Runtimes.Execution;
using Obsidian;

namespace ProtoFlux.Runtimes.Execution.Nodes.FrooxEngine.Input;
namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Devices;

[NodeCategory("Obsidian/Devices")]
public class ViveTrackerBattery : VoidNode<FrooxEngineContext>
Expand Down
2 changes: 1 addition & 1 deletion ProjectObsidian/ProtoFlux/Strings/CountSubstring.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
using ProtoFlux.Core;
using ProtoFlux.Runtimes.Execution;

namespace ProtoFlux.Runtimes.Execution.Nodes.Strings
namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Strings
{
[NodeCategory("Obsidian/String")]
public class CountSubstringNode : ValueFunctionNode<FrooxEngineContext, int>
Expand Down
2 changes: 1 addition & 1 deletion ProjectObsidian/ProtoFlux/Strings/DecodeBase64Node.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
using ProtoFlux.Core;
using ProtoFlux.Runtimes.Execution;

namespace ProtoFlux.Runtimes.Execution.Nodes.Strings
namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Strings
{
[NodeCategory("Obsidian/String")]
public class DecodeBase64Node : ObjectFunctionNode<FrooxEngineContext, string>
Expand Down
2 changes: 1 addition & 1 deletion ProjectObsidian/ProtoFlux/Strings/DecodeMorseNode.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
using ProtoFlux.Core;
using ProtoFlux.Runtimes.Execution;

namespace ProtoFlux.Runtimes.Execution.Nodes.Strings
namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Strings
{
[NodeCategory("Obsidian/String")]
public class DecodeMorseNode : ObjectFunctionNode<FrooxEngineContext, string>
Expand Down
2 changes: 1 addition & 1 deletion ProjectObsidian/ProtoFlux/Strings/EncodeBase64Node.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
using ProtoFlux.Core;
using ProtoFlux.Runtimes.Execution;

namespace ProtoFlux.Runtimes.Execution.Nodes.Strings
namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Strings
{
[NodeCategory("Obsidian/String")]
public class EncodeBase64Node : ObjectFunctionNode<FrooxEngineContext, string>
Expand Down
2 changes: 1 addition & 1 deletion ProjectObsidian/ProtoFlux/Strings/EncodeMD5.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
using ProtoFlux.Core;
using ProtoFlux.Runtimes.Execution;

namespace ProtoFlux.Runtimes.Execution.Nodes.Strings
namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Strings
{
[NodeCategory("Obsidian/String")]
public class EncodeMD5Node : ObjectFunctionNode<FrooxEngineContext, string>
Expand Down
2 changes: 1 addition & 1 deletion ProjectObsidian/ProtoFlux/Strings/EncodeMorse.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
using ProtoFlux.Runtimes.Execution;
using Obsidian;

namespace ProtoFlux.Runtimes.Execution.Nodes.Strings
namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Strings
{
[NodeCategory("Obsidian/String")]
public class EncodeMorseNode : ObjectFunctionNode<FrooxEngineContext, string>
Expand Down
2 changes: 1 addition & 1 deletion ProjectObsidian/ProtoFlux/Strings/EncodeSHA256.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
using ProtoFlux.Core;
using ProtoFlux.Runtimes.Execution;

namespace ProtoFlux.Runtimes.Execution.Nodes.Strings
namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Strings
{
[NodeCategory("Obsidian/String")]
public class EncodeSha256Node : ObjectFunctionNode<FrooxEngineContext, string>
Expand Down
2 changes: 1 addition & 1 deletion ProjectObsidian/ProtoFlux/Strings/HMAC.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
using ProtoFlux.Core;
using ProtoFlux.Runtimes.Execution;

namespace ProtoFlux.Runtimes.Execution.Nodes.Strings
namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Strings
{
public enum HashFunction
{
Expand Down
2 changes: 1 addition & 1 deletion ProjectObsidian/ProtoFlux/Strings/HammingDistanceNode.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
using ProtoFlux.Core;
using ProtoFlux.Runtimes.Execution;

namespace ProtoFlux.Runtimes.Execution.Nodes.Strings
namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Strings
{
[NodeCategory("Obsidian/String")]
public class HammingDistanceNode : ObjectFunctionNode<FrooxEngineContext, int?>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
using ProtoFlux.Core;
using ProtoFlux.Runtimes.Execution;

namespace ProtoFlux.Runtimes.Execution.Nodes.Strings
namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Strings
{
[NodeCategory("Obsidian/String")]
public class HammingDistanceNonNullableNode : ValueFunctionNode<FrooxEngineContext, int>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
using ProtoFlux.Core;
using ProtoFlux.Runtimes.Execution;

namespace ProtoFlux.Runtimes.Execution.Nodes.FrooxEngine.Locomotion
namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Locomotion
{
[ContinuouslyChanging]
[NodeCategory("Obsidian/Locomotion")]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
using ProtoFlux.Core;
using ProtoFlux.Runtimes.Execution;

namespace ProtoFlux.Runtimes.Execution.Nodes.FrooxEngine.Locomotion
namespace ProtoFlux.Runtimes.Execution.Nodes.Obsidian.Locomotion
{
[ContinuouslyChanging]
[NodeCategory("Obsidian/Locomotion")]
Expand Down

0 comments on commit 99f5dbf

Please sign in to comment.