(MIGRATION) Rearrange assembly structure
This commit is contained in:
@@ -0,0 +1,430 @@
|
||||
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 AIACVRCExtensionsDriverGenerationTest : AbstractSimpleSingleLayerAIAC
|
||||
{
|
||||
[Test]
|
||||
public void It_generates_a_driver_that_sets_bool_to_true()
|
||||
{
|
||||
var aac = TestAac();
|
||||
var controller = NewPersistentController();
|
||||
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
||||
|
||||
// Exercise
|
||||
var first = fx.NewState("First");
|
||||
first.Drives(fx.BoolParameter("MyBool"), true);
|
||||
|
||||
// Verify
|
||||
var eState = controller.layers[0].stateMachine.states[0].state;
|
||||
Assert.AreEqual(1, eState.behaviours.Length);
|
||||
|
||||
var eBehaviour = (VRCAvatarParameterDriver)eState.behaviours[0];
|
||||
Assert.AreEqual(typeof(VRCAvatarParameterDriver), eBehaviour.GetType());
|
||||
Assert.AreEqual(1, eBehaviour.parameters.Count);
|
||||
|
||||
var eParameter = eBehaviour.parameters[0];
|
||||
Assert.AreEqual("MyBool", eParameter.name);
|
||||
Assert.AreEqual(VRC_AvatarParameterDriver.ChangeType.Set, eParameter.type);
|
||||
Assert.AreEqual(1f, eParameter.value);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void It_generates_a_driver_that_sets_bool_to_false()
|
||||
{
|
||||
var aac = TestAac();
|
||||
var controller = NewPersistentController();
|
||||
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
||||
|
||||
// Exercise
|
||||
var first = fx.NewState("First");
|
||||
first.Drives(fx.BoolParameter("MyBool"), false);
|
||||
|
||||
// Verify
|
||||
var eState = controller.layers[0].stateMachine.states[0].state;
|
||||
Assert.AreEqual(1, eState.behaviours.Length);
|
||||
|
||||
var eBehaviour = (VRCAvatarParameterDriver)eState.behaviours[0];
|
||||
Assert.AreEqual(typeof(VRCAvatarParameterDriver), eBehaviour.GetType());
|
||||
Assert.AreEqual(1, eBehaviour.parameters.Count);
|
||||
|
||||
var eParameter = eBehaviour.parameters[0];
|
||||
Assert.AreEqual("MyBool", eParameter.name);
|
||||
Assert.AreEqual(VRC_AvatarParameterDriver.ChangeType.Set, eParameter.type);
|
||||
Assert.AreEqual(0f, eParameter.value);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void It_generates_a_driver_that_sets_int_to_300()
|
||||
{
|
||||
var aac = TestAac();
|
||||
var controller = NewPersistentController();
|
||||
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
||||
|
||||
// Exercise
|
||||
var first = fx.NewState("First");
|
||||
first.Drives(fx.IntParameter("MyInt"), 300);
|
||||
|
||||
// Verify
|
||||
var eState = controller.layers[0].stateMachine.states[0].state;
|
||||
Assert.AreEqual(1, eState.behaviours.Length);
|
||||
|
||||
var eBehaviour = (VRCAvatarParameterDriver)eState.behaviours[0];
|
||||
Assert.AreEqual(typeof(VRCAvatarParameterDriver), eBehaviour.GetType());
|
||||
Assert.AreEqual(1, eBehaviour.parameters.Count);
|
||||
|
||||
var eParameter = eBehaviour.parameters[0];
|
||||
Assert.AreEqual("MyInt", eParameter.name);
|
||||
Assert.AreEqual(VRC_AvatarParameterDriver.ChangeType.Set, eParameter.type);
|
||||
Assert.AreEqual(300f, eParameter.value);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void It_generates_a_driver_that_sets_float_to_400_point_56()
|
||||
{
|
||||
var aac = TestAac();
|
||||
var controller = NewPersistentController();
|
||||
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
||||
|
||||
// Exercise
|
||||
var first = fx.NewState("First");
|
||||
first.Drives(fx.FloatParameter("MyFloat"), 400.56f);
|
||||
|
||||
// Verify
|
||||
var eState = controller.layers[0].stateMachine.states[0].state;
|
||||
Assert.AreEqual(1, eState.behaviours.Length);
|
||||
|
||||
var eBehaviour = (VRCAvatarParameterDriver)eState.behaviours[0];
|
||||
Assert.AreEqual(typeof(VRCAvatarParameterDriver), eBehaviour.GetType());
|
||||
Assert.AreEqual(1, eBehaviour.parameters.Count);
|
||||
|
||||
var eParameter = eBehaviour.parameters[0];
|
||||
Assert.AreEqual("MyFloat", eParameter.name);
|
||||
Assert.AreEqual(VRC_AvatarParameterDriver.ChangeType.Set, eParameter.type);
|
||||
Assert.AreEqual(400.56f, eParameter.value);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void It_generates_a_driver_that_increases_int_by_2()
|
||||
{
|
||||
var aac = TestAac();
|
||||
var controller = NewPersistentController();
|
||||
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
||||
|
||||
// Exercise
|
||||
var first = fx.NewState("First");
|
||||
first.DrivingIncreases(fx.IntParameter("MyInt"), 2);
|
||||
|
||||
// Verify
|
||||
var eState = controller.layers[0].stateMachine.states[0].state;
|
||||
Assert.AreEqual(1, eState.behaviours.Length);
|
||||
|
||||
var eBehaviour = (VRCAvatarParameterDriver)eState.behaviours[0];
|
||||
Assert.AreEqual(typeof(VRCAvatarParameterDriver), eBehaviour.GetType());
|
||||
Assert.AreEqual(1, eBehaviour.parameters.Count);
|
||||
|
||||
var eParameter = eBehaviour.parameters[0];
|
||||
Assert.AreEqual("MyInt", eParameter.name);
|
||||
Assert.AreEqual(VRC_AvatarParameterDriver.ChangeType.Add, eParameter.type);
|
||||
Assert.AreEqual(2f, eParameter.value);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void It_generates_a_driver_that_decreases_int_by_2_through_adding_its_opposite()
|
||||
{
|
||||
var aac = TestAac();
|
||||
var controller = NewPersistentController();
|
||||
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
||||
|
||||
// Exercise
|
||||
var first = fx.NewState("First");
|
||||
first.DrivingDecreases(fx.IntParameter("MyInt"), 2);
|
||||
|
||||
// Verify
|
||||
var eState = controller.layers[0].stateMachine.states[0].state;
|
||||
Assert.AreEqual(1, eState.behaviours.Length);
|
||||
|
||||
var eBehaviour = (VRCAvatarParameterDriver)eState.behaviours[0];
|
||||
Assert.AreEqual(typeof(VRCAvatarParameterDriver), eBehaviour.GetType());
|
||||
Assert.AreEqual(1, eBehaviour.parameters.Count);
|
||||
|
||||
var eParameter = eBehaviour.parameters[0];
|
||||
Assert.AreEqual("MyInt", eParameter.name);
|
||||
Assert.AreEqual(VRC_AvatarParameterDriver.ChangeType.Add, eParameter.type);
|
||||
Assert.AreEqual(-2f, eParameter.value);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void It_generates_a_driver_that_increases_float_by_3_point_4()
|
||||
{
|
||||
var aac = TestAac();
|
||||
var controller = NewPersistentController();
|
||||
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
||||
|
||||
// Exercise
|
||||
var first = fx.NewState("First");
|
||||
first.DrivingIncreases(fx.FloatParameter("MyFloat"), 3.4f);
|
||||
|
||||
// Verify
|
||||
var eState = controller.layers[0].stateMachine.states[0].state;
|
||||
Assert.AreEqual(1, eState.behaviours.Length);
|
||||
|
||||
var eBehaviour = (VRCAvatarParameterDriver)eState.behaviours[0];
|
||||
Assert.AreEqual(typeof(VRCAvatarParameterDriver), eBehaviour.GetType());
|
||||
Assert.AreEqual(1, eBehaviour.parameters.Count);
|
||||
|
||||
var eParameter = eBehaviour.parameters[0];
|
||||
Assert.AreEqual("MyFloat", eParameter.name);
|
||||
Assert.AreEqual(VRC_AvatarParameterDriver.ChangeType.Add, eParameter.type);
|
||||
Assert.AreEqual(3.4f, eParameter.value);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void It_generates_a_driver_that_decreases_float_by_3_point_4_through_adding_its_opposite()
|
||||
{
|
||||
var aac = TestAac();
|
||||
var controller = NewPersistentController();
|
||||
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
||||
|
||||
// Exercise
|
||||
var first = fx.NewState("First");
|
||||
first.DrivingDecreases(fx.FloatParameter("MyFloat"), 3.4f);
|
||||
|
||||
// Verify
|
||||
var eState = controller.layers[0].stateMachine.states[0].state;
|
||||
Assert.AreEqual(1, eState.behaviours.Length);
|
||||
|
||||
var eBehaviour = (VRCAvatarParameterDriver)eState.behaviours[0];
|
||||
Assert.AreEqual(typeof(VRCAvatarParameterDriver), eBehaviour.GetType());
|
||||
Assert.AreEqual(1, eBehaviour.parameters.Count);
|
||||
|
||||
var eParameter = eBehaviour.parameters[0];
|
||||
Assert.AreEqual("MyFloat", eParameter.name);
|
||||
Assert.AreEqual(VRC_AvatarParameterDriver.ChangeType.Add, eParameter.type);
|
||||
Assert.AreEqual(-3.4f, eParameter.value);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void It_generates_a_driver_that_copies_a_bool_to_another_bool()
|
||||
{
|
||||
var aac = TestAac();
|
||||
var controller = NewPersistentController();
|
||||
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
||||
|
||||
// Exercise
|
||||
var first = fx.NewState("First");
|
||||
first.DrivingCopies(fx.BoolParameter("MyBoolSource"), fx.BoolParameter("MyBoolDestination"));
|
||||
|
||||
// Verify
|
||||
var eState = controller.layers[0].stateMachine.states[0].state;
|
||||
Assert.AreEqual(1, eState.behaviours.Length);
|
||||
|
||||
var eBehaviour = (VRCAvatarParameterDriver)eState.behaviours[0];
|
||||
Assert.AreEqual(typeof(VRCAvatarParameterDriver), eBehaviour.GetType());
|
||||
Assert.AreEqual(1, eBehaviour.parameters.Count);
|
||||
|
||||
var eParameter = eBehaviour.parameters[0];
|
||||
Assert.AreEqual("MyBoolDestination", eParameter.name);
|
||||
Assert.AreEqual(VRC_AvatarParameterDriver.ChangeType.Copy, eParameter.type);
|
||||
Assert.IsFalse(eParameter.convertRange);
|
||||
Assert.AreEqual("MyBoolSource", eParameter.source);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void It_generates_a_driver_that_copies_a_bool_to_an_int()
|
||||
{
|
||||
var aac = TestAac();
|
||||
var controller = NewPersistentController();
|
||||
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
||||
|
||||
// Exercise
|
||||
var first = fx.NewState("First");
|
||||
first.DrivingCopies(fx.BoolParameter("MyBoolSource"), fx.IntParameter("MyIntDestination"));
|
||||
|
||||
// Verify
|
||||
var eState = controller.layers[0].stateMachine.states[0].state;
|
||||
Assert.AreEqual(1, eState.behaviours.Length);
|
||||
|
||||
var eBehaviour = (VRCAvatarParameterDriver)eState.behaviours[0];
|
||||
Assert.AreEqual(typeof(VRCAvatarParameterDriver), eBehaviour.GetType());
|
||||
Assert.AreEqual(1, eBehaviour.parameters.Count);
|
||||
|
||||
var eParameter = eBehaviour.parameters[0];
|
||||
Assert.AreEqual("MyIntDestination", eParameter.name);
|
||||
Assert.AreEqual(VRC_AvatarParameterDriver.ChangeType.Copy, eParameter.type);
|
||||
Assert.IsFalse(eParameter.convertRange);
|
||||
Assert.AreEqual("MyBoolSource", eParameter.source);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void It_generates_a_driver_that_copies_a_bool_to_a_float()
|
||||
{
|
||||
var aac = TestAac();
|
||||
var controller = NewPersistentController();
|
||||
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
||||
|
||||
// Exercise
|
||||
var first = fx.NewState("First");
|
||||
first.DrivingCopies(fx.BoolParameter("MyBoolSource"), fx.FloatParameter("MyFloatDestination"));
|
||||
|
||||
// Verify
|
||||
var eState = controller.layers[0].stateMachine.states[0].state;
|
||||
Assert.AreEqual(1, eState.behaviours.Length);
|
||||
|
||||
var eBehaviour = (VRCAvatarParameterDriver)eState.behaviours[0];
|
||||
Assert.AreEqual(typeof(VRCAvatarParameterDriver), eBehaviour.GetType());
|
||||
Assert.AreEqual(1, eBehaviour.parameters.Count);
|
||||
|
||||
var eParameter = eBehaviour.parameters[0];
|
||||
Assert.AreEqual("MyFloatDestination", eParameter.name);
|
||||
Assert.AreEqual(VRC_AvatarParameterDriver.ChangeType.Copy, eParameter.type);
|
||||
Assert.IsFalse(eParameter.convertRange);
|
||||
Assert.AreEqual("MyBoolSource", eParameter.source);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void It_generates_a_driver_that_copies_an_int_to_another_int()
|
||||
{
|
||||
var aac = TestAac();
|
||||
var controller = NewPersistentController();
|
||||
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
||||
|
||||
// Exercise
|
||||
var first = fx.NewState("First");
|
||||
first.DrivingCopies(fx.IntParameter("MyIntSource"), fx.IntParameter("MyIntDestination"));
|
||||
|
||||
// Verify
|
||||
var eState = controller.layers[0].stateMachine.states[0].state;
|
||||
Assert.AreEqual(1, eState.behaviours.Length);
|
||||
|
||||
var eBehaviour = (VRCAvatarParameterDriver)eState.behaviours[0];
|
||||
Assert.AreEqual(typeof(VRCAvatarParameterDriver), eBehaviour.GetType());
|
||||
Assert.AreEqual(1, eBehaviour.parameters.Count);
|
||||
|
||||
var eParameter = eBehaviour.parameters[0];
|
||||
Assert.AreEqual("MyIntDestination", eParameter.name);
|
||||
Assert.AreEqual(VRC_AvatarParameterDriver.ChangeType.Copy, eParameter.type);
|
||||
Assert.IsFalse(eParameter.convertRange);
|
||||
Assert.AreEqual("MyIntSource", eParameter.source);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void It_generates_a_driver_that_copies_a_float_to_another_float()
|
||||
{
|
||||
var aac = TestAac();
|
||||
var controller = NewPersistentController();
|
||||
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
||||
|
||||
// Exercise
|
||||
var first = fx.NewState("First");
|
||||
first.DrivingCopies(fx.FloatParameter("MyFloatSource"), fx.FloatParameter("MyFloatDestination"));
|
||||
|
||||
// Verify
|
||||
var eState = controller.layers[0].stateMachine.states[0].state;
|
||||
Assert.AreEqual(1, eState.behaviours.Length);
|
||||
|
||||
var eBehaviour = (VRCAvatarParameterDriver)eState.behaviours[0];
|
||||
Assert.AreEqual(typeof(VRCAvatarParameterDriver), eBehaviour.GetType());
|
||||
Assert.AreEqual(1, eBehaviour.parameters.Count);
|
||||
|
||||
var eParameter = eBehaviour.parameters[0];
|
||||
Assert.AreEqual("MyFloatDestination", eParameter.name);
|
||||
Assert.AreEqual(VRC_AvatarParameterDriver.ChangeType.Copy, eParameter.type);
|
||||
Assert.IsFalse(eParameter.convertRange);
|
||||
Assert.AreEqual("MyFloatSource", eParameter.source);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void It_generates_a_driver_that_remaps_a_bool_to_another_bool_to_invert_its_value()
|
||||
{
|
||||
var aac = TestAac();
|
||||
var controller = NewPersistentController();
|
||||
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
||||
|
||||
// Exercise
|
||||
var first = fx.NewState("First");
|
||||
first.DrivingRemaps(fx.BoolParameter("MyBoolSource"), false, true, fx.BoolParameter("MyBoolDestination"), true, false);
|
||||
|
||||
// Verify
|
||||
var eState = controller.layers[0].stateMachine.states[0].state;
|
||||
Assert.AreEqual(1, eState.behaviours.Length);
|
||||
|
||||
var eBehaviour = (VRCAvatarParameterDriver)eState.behaviours[0];
|
||||
Assert.AreEqual(typeof(VRCAvatarParameterDriver), eBehaviour.GetType());
|
||||
Assert.AreEqual(1, eBehaviour.parameters.Count);
|
||||
|
||||
var eParameter = eBehaviour.parameters[0];
|
||||
Assert.AreEqual("MyBoolDestination", eParameter.name);
|
||||
Assert.AreEqual(VRC_AvatarParameterDriver.ChangeType.Copy, eParameter.type);
|
||||
Assert.IsTrue(eParameter.convertRange);
|
||||
Assert.AreEqual("MyBoolSource", eParameter.source);
|
||||
Assert.AreEqual(0f, eParameter.sourceMin);
|
||||
Assert.AreEqual(1f, eParameter.sourceMax);
|
||||
Assert.AreEqual(1f, eParameter.destMin);
|
||||
Assert.AreEqual(0f, eParameter.destMax);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void It_generates_a_driver_that_remaps_an_int_percentage_to_a_joystick_float()
|
||||
{
|
||||
var aac = TestAac();
|
||||
var controller = NewPersistentController();
|
||||
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
||||
|
||||
// Exercise
|
||||
var first = fx.NewState("First");
|
||||
first.DrivingRemaps(fx.IntParameter("MyIntSource"), 0, 100, fx.FloatParameter("MyFloatDestination"), -1f, 1f);
|
||||
|
||||
// Verify
|
||||
var eState = controller.layers[0].stateMachine.states[0].state;
|
||||
Assert.AreEqual(1, eState.behaviours.Length);
|
||||
|
||||
var eBehaviour = (VRCAvatarParameterDriver)eState.behaviours[0];
|
||||
Assert.AreEqual(typeof(VRCAvatarParameterDriver), eBehaviour.GetType());
|
||||
Assert.AreEqual(1, eBehaviour.parameters.Count);
|
||||
|
||||
var eParameter = eBehaviour.parameters[0];
|
||||
Assert.AreEqual("MyFloatDestination", eParameter.name);
|
||||
Assert.AreEqual(VRC_AvatarParameterDriver.ChangeType.Copy, eParameter.type);
|
||||
Assert.IsTrue(eParameter.convertRange);
|
||||
Assert.AreEqual("MyIntSource", eParameter.source);
|
||||
Assert.AreEqual(0f, eParameter.sourceMin);
|
||||
Assert.AreEqual(100f, eParameter.sourceMax);
|
||||
Assert.AreEqual(-1f, eParameter.destMin);
|
||||
Assert.AreEqual(1f, eParameter.destMax);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void It_generates_a_driver_that_remaps_an_analog_float_to_an_inverse_joystick_float()
|
||||
{
|
||||
var aac = TestAac();
|
||||
var controller = NewPersistentController();
|
||||
var fx = aac.CreateMainArbitraryControllerLayer(controller);
|
||||
|
||||
// Exercise
|
||||
var first = fx.NewState("First");
|
||||
first.DrivingRemaps(fx.FloatParameter("MyFloatSource"), 0, 1f, fx.FloatParameter("MyFloatDestination"), 1f, -1f);
|
||||
|
||||
// Verify
|
||||
var eState = controller.layers[0].stateMachine.states[0].state;
|
||||
Assert.AreEqual(1, eState.behaviours.Length);
|
||||
|
||||
var eBehaviour = (VRCAvatarParameterDriver)eState.behaviours[0];
|
||||
Assert.AreEqual(typeof(VRCAvatarParameterDriver), eBehaviour.GetType());
|
||||
Assert.AreEqual(1, eBehaviour.parameters.Count);
|
||||
|
||||
var eParameter = eBehaviour.parameters[0];
|
||||
Assert.AreEqual("MyFloatDestination", eParameter.name);
|
||||
Assert.AreEqual(VRC_AvatarParameterDriver.ChangeType.Copy, eParameter.type);
|
||||
Assert.IsTrue(eParameter.convertRange);
|
||||
Assert.AreEqual("MyFloatSource", eParameter.source);
|
||||
Assert.AreEqual(0f, eParameter.sourceMin);
|
||||
Assert.AreEqual(1f, eParameter.sourceMax);
|
||||
Assert.AreEqual(1f, eParameter.destMin);
|
||||
Assert.AreEqual(-1f, eParameter.destMax);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1445919b64254b28a3330b2111691f7c
|
||||
timeCreated: 1671469798
|
||||
@@ -0,0 +1,431 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 89d6538a829c478d894320a1b1830359
|
||||
timeCreated: 1671494253
|
||||
Reference in New Issue
Block a user