431 lines
27 KiB
C#
431 lines
27 KiB
C#
using AnimatorAsCode.V0.Extensions.VRChat;
|
|
using NUnit.Framework;
|
|
using VRC.SDK3.Avatars.Components;
|
|
using VRC.SDKBase;
|
|
|
|
namespace av3_animator_as_code.Tests.PlayMode.GenerationTests
|
|
{
|
|
public class AIACVRCExtensionsMiscGenerationTest : AbstractSimpleSingleLayerAIAC
|
|
{
|
|
[Test]
|
|
public void It_generates_a_tracking_that_tracks_head()
|
|
{
|
|
var aac = TestAac();
|
|
var controller = NewPersistentController();
|
|
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
|
|
|
// Exercise
|
|
var first = fx.NewState("First");
|
|
var whichElement = TrackingElement.Head;
|
|
first.TrackingTracks(whichElement);
|
|
|
|
// Verify
|
|
var eState = controller.layers[0].stateMachine.states[0].state;
|
|
Assert.AreEqual(1, eState.behaviours.Length);
|
|
|
|
var eBehaviour = (VRCAnimatorTrackingControl)eState.behaviours[0];
|
|
Assert.AreEqual(typeof(VRCAnimatorTrackingControl), eBehaviour.GetType());
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.Tracking, eBehaviour.trackingHead);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHip);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingEyes);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingMouth);
|
|
}
|
|
|
|
[Test]
|
|
public void It_generates_a_tracking_that_animates_head()
|
|
{
|
|
var aac = TestAac();
|
|
var controller = NewPersistentController();
|
|
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
|
|
|
// Exercise
|
|
var first = fx.NewState("First");
|
|
var whichElement = TrackingElement.Head;
|
|
first.TrackingAnimates(whichElement);
|
|
|
|
// Verify
|
|
var eState = controller.layers[0].stateMachine.states[0].state;
|
|
Assert.AreEqual(1, eState.behaviours.Length);
|
|
|
|
var eBehaviour = (VRCAnimatorTrackingControl)eState.behaviours[0];
|
|
Assert.AreEqual(typeof(VRCAnimatorTrackingControl), eBehaviour.GetType());
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.Animation, eBehaviour.trackingHead);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHip);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingEyes);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingMouth);
|
|
}
|
|
|
|
[Test]
|
|
public void It_generates_a_tracking_that_sets_head_to_tracking()
|
|
{
|
|
var aac = TestAac();
|
|
var controller = NewPersistentController();
|
|
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
|
|
|
// Exercise
|
|
var first = fx.NewState("First");
|
|
var whichElement = TrackingElement.Head;
|
|
first.TrackingSets(whichElement, VRC_AnimatorTrackingControl.TrackingType.Tracking);
|
|
|
|
// Verify
|
|
var eState = controller.layers[0].stateMachine.states[0].state;
|
|
Assert.AreEqual(1, eState.behaviours.Length);
|
|
|
|
var eBehaviour = (VRCAnimatorTrackingControl)eState.behaviours[0];
|
|
Assert.AreEqual(typeof(VRCAnimatorTrackingControl), eBehaviour.GetType());
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.Tracking, eBehaviour.trackingHead);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHip);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingEyes);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingMouth);
|
|
}
|
|
|
|
[Test]
|
|
public void It_generates_a_tracking_that_sets_Head_to_animation()
|
|
{
|
|
var aac = TestAac();
|
|
var controller = NewPersistentController();
|
|
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
|
|
|
// Exercise
|
|
var first = fx.NewState("First");
|
|
var whichElement = TrackingElement.Head;
|
|
first.TrackingSets(whichElement, VRC_AnimatorTrackingControl.TrackingType.Animation);
|
|
|
|
// Verify
|
|
var eState = controller.layers[0].stateMachine.states[0].state;
|
|
Assert.AreEqual(1, eState.behaviours.Length);
|
|
|
|
var eBehaviour = (VRCAnimatorTrackingControl)eState.behaviours[0];
|
|
Assert.AreEqual(typeof(VRCAnimatorTrackingControl), eBehaviour.GetType());
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.Animation, eBehaviour.trackingHead);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHip);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingEyes);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingMouth);
|
|
}
|
|
|
|
[Test]
|
|
public void It_generates_a_tracking_that_sets_LeftHand_to_animation()
|
|
{
|
|
var aac = TestAac();
|
|
var controller = NewPersistentController();
|
|
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
|
|
|
// Exercise
|
|
var first = fx.NewState("First");
|
|
var whichElement = TrackingElement.LeftHand;
|
|
first.TrackingSets(whichElement, VRC_AnimatorTrackingControl.TrackingType.Animation);
|
|
|
|
// Verify
|
|
var eState = controller.layers[0].stateMachine.states[0].state;
|
|
Assert.AreEqual(1, eState.behaviours.Length);
|
|
|
|
var eBehaviour = (VRCAnimatorTrackingControl)eState.behaviours[0];
|
|
Assert.AreEqual(typeof(VRCAnimatorTrackingControl), eBehaviour.GetType());
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHead);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.Animation, eBehaviour.trackingLeftHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHip);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingEyes);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingMouth);
|
|
}
|
|
|
|
[Test]
|
|
public void It_generates_a_tracking_that_sets_RightHand_to_animation()
|
|
{
|
|
var aac = TestAac();
|
|
var controller = NewPersistentController();
|
|
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
|
|
|
// Exercise
|
|
var first = fx.NewState("First");
|
|
var whichElement = TrackingElement.RightHand;
|
|
first.TrackingSets(whichElement, VRC_AnimatorTrackingControl.TrackingType.Animation);
|
|
|
|
// Verify
|
|
var eState = controller.layers[0].stateMachine.states[0].state;
|
|
Assert.AreEqual(1, eState.behaviours.Length);
|
|
|
|
var eBehaviour = (VRCAnimatorTrackingControl)eState.behaviours[0];
|
|
Assert.AreEqual(typeof(VRCAnimatorTrackingControl), eBehaviour.GetType());
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHead);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.Animation, eBehaviour.trackingRightHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHip);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingEyes);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingMouth);
|
|
}
|
|
|
|
[Test]
|
|
public void It_generates_a_tracking_that_sets_Hip_to_animation()
|
|
{
|
|
var aac = TestAac();
|
|
var controller = NewPersistentController();
|
|
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
|
|
|
// Exercise
|
|
var first = fx.NewState("First");
|
|
var whichElement = TrackingElement.Hip;
|
|
first.TrackingSets(whichElement, VRC_AnimatorTrackingControl.TrackingType.Animation);
|
|
|
|
// Verify
|
|
var eState = controller.layers[0].stateMachine.states[0].state;
|
|
Assert.AreEqual(1, eState.behaviours.Length);
|
|
|
|
var eBehaviour = (VRCAnimatorTrackingControl)eState.behaviours[0];
|
|
Assert.AreEqual(typeof(VRCAnimatorTrackingControl), eBehaviour.GetType());
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHead);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.Animation, eBehaviour.trackingHip);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingEyes);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingMouth);
|
|
}
|
|
|
|
[Test]
|
|
public void It_generates_a_tracking_that_sets_LeftFoot_to_animation()
|
|
{
|
|
var aac = TestAac();
|
|
var controller = NewPersistentController();
|
|
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
|
|
|
// Exercise
|
|
var first = fx.NewState("First");
|
|
var whichElement = TrackingElement.LeftFoot;
|
|
first.TrackingSets(whichElement, VRC_AnimatorTrackingControl.TrackingType.Animation);
|
|
|
|
// Verify
|
|
var eState = controller.layers[0].stateMachine.states[0].state;
|
|
Assert.AreEqual(1, eState.behaviours.Length);
|
|
|
|
var eBehaviour = (VRCAnimatorTrackingControl)eState.behaviours[0];
|
|
Assert.AreEqual(typeof(VRCAnimatorTrackingControl), eBehaviour.GetType());
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHead);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHip);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.Animation, eBehaviour.trackingLeftFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingEyes);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingMouth);
|
|
}
|
|
|
|
[Test]
|
|
public void It_generates_a_tracking_that_sets_RightFoot_to_animation()
|
|
{
|
|
var aac = TestAac();
|
|
var controller = NewPersistentController();
|
|
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
|
|
|
// Exercise
|
|
var first = fx.NewState("First");
|
|
var whichElement = TrackingElement.RightFoot;
|
|
first.TrackingSets(whichElement, VRC_AnimatorTrackingControl.TrackingType.Animation);
|
|
|
|
// Verify
|
|
var eState = controller.layers[0].stateMachine.states[0].state;
|
|
Assert.AreEqual(1, eState.behaviours.Length);
|
|
|
|
var eBehaviour = (VRCAnimatorTrackingControl)eState.behaviours[0];
|
|
Assert.AreEqual(typeof(VRCAnimatorTrackingControl), eBehaviour.GetType());
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHead);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHip);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.Animation, eBehaviour.trackingRightFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingEyes);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingMouth);
|
|
}
|
|
|
|
[Test]
|
|
public void It_generates_a_tracking_that_sets_LeftFingers_to_animation()
|
|
{
|
|
var aac = TestAac();
|
|
var controller = NewPersistentController();
|
|
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
|
|
|
// Exercise
|
|
var first = fx.NewState("First");
|
|
var whichElement = TrackingElement.LeftFingers;
|
|
first.TrackingSets(whichElement, VRC_AnimatorTrackingControl.TrackingType.Animation);
|
|
|
|
// Verify
|
|
var eState = controller.layers[0].stateMachine.states[0].state;
|
|
Assert.AreEqual(1, eState.behaviours.Length);
|
|
|
|
var eBehaviour = (VRCAnimatorTrackingControl)eState.behaviours[0];
|
|
Assert.AreEqual(typeof(VRCAnimatorTrackingControl), eBehaviour.GetType());
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHead);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHip);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.Animation, eBehaviour.trackingLeftFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingEyes);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingMouth);
|
|
}
|
|
|
|
[Test]
|
|
public void It_generates_a_tracking_that_sets_RightFingers_to_animation()
|
|
{
|
|
var aac = TestAac();
|
|
var controller = NewPersistentController();
|
|
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
|
|
|
// Exercise
|
|
var first = fx.NewState("First");
|
|
var whichElement = TrackingElement.RightFingers;
|
|
first.TrackingSets(whichElement, VRC_AnimatorTrackingControl.TrackingType.Animation);
|
|
|
|
// Verify
|
|
var eState = controller.layers[0].stateMachine.states[0].state;
|
|
Assert.AreEqual(1, eState.behaviours.Length);
|
|
|
|
var eBehaviour = (VRCAnimatorTrackingControl)eState.behaviours[0];
|
|
Assert.AreEqual(typeof(VRCAnimatorTrackingControl), eBehaviour.GetType());
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHead);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHip);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.Animation, eBehaviour.trackingRightFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingEyes);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingMouth);
|
|
}
|
|
|
|
[Test]
|
|
public void It_generates_a_tracking_that_sets_Eyes_to_animation()
|
|
{
|
|
var aac = TestAac();
|
|
var controller = NewPersistentController();
|
|
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
|
|
|
// Exercise
|
|
var first = fx.NewState("First");
|
|
var whichElement = TrackingElement.Eyes;
|
|
first.TrackingSets(whichElement, VRC_AnimatorTrackingControl.TrackingType.Animation);
|
|
|
|
// Verify
|
|
var eState = controller.layers[0].stateMachine.states[0].state;
|
|
Assert.AreEqual(1, eState.behaviours.Length);
|
|
|
|
var eBehaviour = (VRCAnimatorTrackingControl)eState.behaviours[0];
|
|
Assert.AreEqual(typeof(VRCAnimatorTrackingControl), eBehaviour.GetType());
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHead);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHip);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.Animation, eBehaviour.trackingEyes);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingMouth);
|
|
}
|
|
|
|
[Test]
|
|
public void It_generates_a_tracking_that_sets_Mouth_to_animation()
|
|
{
|
|
var aac = TestAac();
|
|
var controller = NewPersistentController();
|
|
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
|
|
|
// Exercise
|
|
var first = fx.NewState("First");
|
|
var whichElement = TrackingElement.Mouth;
|
|
first.TrackingSets(whichElement, VRC_AnimatorTrackingControl.TrackingType.Animation);
|
|
|
|
// Verify
|
|
var eState = controller.layers[0].stateMachine.states[0].state;
|
|
Assert.AreEqual(1, eState.behaviours.Length);
|
|
|
|
var eBehaviour = (VRCAnimatorTrackingControl)eState.behaviours[0];
|
|
Assert.AreEqual(typeof(VRCAnimatorTrackingControl), eBehaviour.GetType());
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHead);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHip);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingEyes);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.Animation, eBehaviour.trackingMouth);
|
|
}
|
|
|
|
[Test]
|
|
public void It_generates_a_tracking_that_sets_Head_and_Both_Hands_to_animation()
|
|
{
|
|
var aac = TestAac();
|
|
var controller = NewPersistentController();
|
|
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
|
|
|
// Exercise
|
|
var first = fx.NewState("First");
|
|
first.TrackingSets(TrackingElement.Head, VRC_AnimatorTrackingControl.TrackingType.Animation);
|
|
first.TrackingSets(TrackingElement.LeftHand, VRC_AnimatorTrackingControl.TrackingType.Animation);
|
|
first.TrackingSets(TrackingElement.RightHand, VRC_AnimatorTrackingControl.TrackingType.Animation);
|
|
|
|
// Verify
|
|
var eState = controller.layers[0].stateMachine.states[0].state;
|
|
Assert.AreEqual(1, eState.behaviours.Length);
|
|
|
|
var eBehaviour = (VRCAnimatorTrackingControl)eState.behaviours[0];
|
|
Assert.AreEqual(typeof(VRCAnimatorTrackingControl), eBehaviour.GetType());
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.Animation, eBehaviour.trackingHead);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.Animation, eBehaviour.trackingLeftHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.Animation, eBehaviour.trackingRightHand);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingHip);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFoot);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingLeftFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingRightFingers);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingEyes);
|
|
Assert.AreEqual(VRC_AnimatorTrackingControl.TrackingType.NoChange, eBehaviour.trackingMouth);
|
|
}
|
|
}
|
|
} |