-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Don't know if it works or not but good luck.
- Loading branch information
1 parent
945c7aa
commit d1f20e6
Showing
4 changed files
with
78 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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>(); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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; | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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; | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters