19 lines
677 B
C#
19 lines
677 B
C#
using System;
|
|
using BlockSpace.Voxels;
|
|
using UnityEngine;
|
|
|
|
[DisallowMultipleComponent]
|
|
public sealed class DuplicateGroupBehavior : NodeBehavior
|
|
{
|
|
public override void OnRun(string inputPortName)
|
|
{
|
|
if (base.IsAuthoritative && string.Equals(inputPortName, "Duplicate", StringComparison.Ordinal) && TryGetInputGroup("Group", out var group) && !(group == null))
|
|
{
|
|
VoxelGroupManager instance = VoxelGroupManager.Instance;
|
|
VoxelGroup voxelGroup = ((instance != null) ? instance.DuplicateGroup(group, Vector3Int.zero) : null);
|
|
SetOutputValueIfChanged("Group", (voxelGroup != null) ? BSValue.FromGroup(voxelGroup.id) : BSValue.None);
|
|
TriggerOutput("Done");
|
|
}
|
|
}
|
|
}
|