public void InputActuatorComponentTestGenerateActuatorsFromAsset() { // Use the Assert class to test conditions. m_PlayerInput.actions = m_Asset; m_PlayerInput.defaultActionMap = m_Asset.actionMaps[0].name; var inputActionMap = m_Asset.FindActionMap(m_PlayerInput.defaultActionMap); InputActuatorComponent.RegisterLayoutBuilder( inputActionMap, "TestLayout"); var device = InputSystem.AddDevice("TestLayout"); var actuators = InputActuatorComponent.CreateActuatorsFromMap(inputActionMap, m_BehaviorParameters, device, new InputActuatorEventContext()); Assert.IsTrue(actuators.Length == 2); Assert.IsTrue(actuators[0].ActionSpec.Equals(ActionSpec.MakeContinuous(2))); Assert.IsTrue(actuators[1].ActionSpec.NumDiscreteActions == 1); }
public void InputActuatorComponentTestCreateDevice() { // Use the Assert class to test conditions. m_PlayerInput.actions = m_Asset; m_PlayerInput.defaultActionMap = m_Asset.actionMaps[0].name; // need to call this to load the layout in the input system InputActuatorComponent.RegisterLayoutBuilder( m_Asset.FindActionMap(m_PlayerInput.defaultActionMap), "TestLayout"); InputSystem.LoadLayout("TestLayout"); var device = InputSystem.AddDevice("TestLayout"); Assert.AreEqual("TestLayout", device.layout); Assert.IsTrue(device.children.Count == 2); Assert.AreEqual(device.children[0].path, $"{device.path}{InputControlPath.Separator}movement"); Assert.AreEqual(device.children[1].path, $"{device.path}{InputControlPath.Separator}jump"); Assert.NotNull(InputSystem.LoadLayout("TestLayout")); }