EVERYTHING
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using BlockSpace.Voxels;
|
||||
using UnityEngine;
|
||||
|
||||
[DisallowMultipleComponent]
|
||||
public sealed class RotateBehavior : NodeBehavior
|
||||
{
|
||||
public override void OnRun(string inputPortName)
|
||||
{
|
||||
if (string.Equals(inputPortName, "Rotate", StringComparison.Ordinal) && GetInputValue("Group").Kind != BSValueKind.Player && base.IsAuthoritative && TryGetInputGroup("Group", out var group) && !(group == null) && !(VoxelGroupManager.Instance == null))
|
||||
{
|
||||
Vector3Int quarterTurns = new Vector3Int(NormalizeQuarterTurns(Mathf.RoundToInt((float)GetInputNumber("Pitch") / 90f)), NormalizeQuarterTurns(Mathf.RoundToInt((float)GetInputNumber("Yaw") / 90f)), NormalizeQuarterTurns(Mathf.RoundToInt((float)GetInputNumber("Roll") / 90f)));
|
||||
if (VoxelGroupManager.Instance.TransformGroup(group, group.position, GridRotationUtility.Pack(quarterTurns)))
|
||||
{
|
||||
TriggerOutput("Rotated");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static int NormalizeQuarterTurns(int turns)
|
||||
{
|
||||
return NodePlayerUtility.NormalizeQuarterTurns(turns);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user