Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
LeCloutPanda committed May 1, 2024
2 parents cca27f2 + 99f5dbf commit 8d6f7e9
Show file tree
Hide file tree
Showing 17 changed files with 107 additions and 13 deletions.
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
19 changes: 19 additions & 0 deletions ProtoFlux/Interaction/FindGrabbableFromSlot.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
using FrooxEngine;
using ProtoFlux.Core;
using ProtoFlux.Runtimes.Execution;

namespace ProtoFlux.Users.Avatar
{
[ContinuouslyChanging]
[NodeCategory("ProtoFlux/Obsidian/Avatar")]
public class FindGrabbableFromSlot : ObjectFunctionNode<ExecutionContext, IGrabbable>
{
public readonly ObjectInput<Slot> Slot;

protected override IGrabbable Compute(ExecutionContext context)
{
Slot slot = Slot.Evaluate(context);
return slot == null ? null : slot.GetComponentInParents<Grabbable>();
}
}
}
33 changes: 33 additions & 0 deletions ProtoFlux/Slots/CreateEmptySlot.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
using FrooxEngine;
using FrooxEngine.ProtoFlux;
using ProtoFlux.Core;
using ProtoFlux.Runtimes.Execution;

namespace ProtoFlux.Users.Avatar
{
[ContinuouslyChanging]
[NodeCategory("ProtoFlux/Obsidian/Slots")]
public class CreateEmptySlot : ActionBreakableFlowNode<FrooxEngineContext>
{
public readonly ObjectInput<Slot> Parent;
public readonly ObjectInput<string> Name;
public readonly ObjectInput<string> Tag;
public readonly ValueInput<bool> Persistent;
public readonly ValueInput<bool> Active;

public readonly ObjectOutput<Slot> Slot;

protected override bool Do(FrooxEngineContext context)
{
Slot slot = context.LocalUser.LocalUserSpace.AddSlot();
slot.Parent = Parent.Evaluate(context);
slot.Name = Name.Evaluate(context);
slot.Tag = Tag.Evaluate(context);
slot.PersistentSelf = Persistent.Evaluate(context);
slot.ActiveSelf = Active.Evaluate(context);

Slot.Write(slot, context);
return true;
}
}
}
24 changes: 24 additions & 0 deletions ProtoFlux/Users/Avatar/AvatarRootSlot.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
using System.Collections.Generic;
using FrooxEngine;
using FrooxEngine.CommonAvatar;
using ProtoFlux.Core;
using ProtoFlux.Runtimes.Execution;

namespace ProtoFlux.Users.Avatar
{
[ContinuouslyChanging]
[NodeCategory("ProtoFlux/Obsidian/Avatar")]
public class AvatarRootSlot : ObjectFunctionNode<ExecutionContext, Slot>
{
public readonly ObjectInput<User> User;

protected override Slot Compute(ExecutionContext context)
{
User user = User.Evaluate(context);
Slot slot = user.Root.Slot;
List<AvatarRoot> list = new List<AvatarRoot>();
slot.GetFirstDirectComponentsInChildren(list);
return user == null || list.Count == 0 ? null : list[0].Slot;
}
}
}
18 changes: 18 additions & 0 deletions ProtoFlux/Users/Status/IsUserInSeatedMode.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using ProtoFlux.Core;
using ProtoFlux.Runtimes.Execution;

namespace FrooxEngine.ProtoFlux.Status
{
[ContinuouslyChanging]
[NodeCategory("ProtoFlux/Obsidian/Status")]
public class IsUserInSeatedModeNode : ValueFunctionNode<ExecutionContext, bool>
{
public readonly ObjectInput<User> User;

protected override bool Compute(ExecutionContext context)
{
User user = User.Evaluate(context);
return user == null ? false : user.InputInterface.SeatedMode;
}
}
}

0 comments on commit 8d6f7e9

Please sign in to comment.