protected override void BindInput(InputComponent playerInputComponent) { base.BindInput(playerInputComponent); // Bind the jump action to Character.Jump(), which already has the appropriate delegate signature. playerInputComponent.BindAction(InputAction.Jump, InputEventType.Pressed, Jump); playerInputComponent.BindAction(InputAction.Jump, InputEventType.Released, StopJumping); playerInputComponent.BindAxis(InputAxis.MoveForward, MoveForward); playerInputComponent.BindAxis(InputAxis.MoveRight, MoveRight); // We have 2 versions of the rotation bindings to handle different kinds of devices differently // "turn" handles devices that provide an absolute delta, such as a mouse. // "turnrate" is for devices that we choose to treat as a rate of change, such as an analog joystick playerInputComponent.BindAxis(InputAxis.Turn, AddControllerYawInput); playerInputComponent.BindAxis(InputAxis.TurnRate, (float axisValue) => AddControllerYawInput(axisValue * BaseTurnRate * World.GetWorldDeltaSeconds())); playerInputComponent.BindAxis(InputAxis.LookUp, AddControllerPitchInput); playerInputComponent.BindAxis(InputAxis.LookUpRate, (float axisValue) => AddControllerPitchInput(axisValue * BaseLookUpRate * World.GetWorldDeltaSeconds())); // handle touch devices playerInputComponent.BindTouch(InputEventType.Pressed, (fingerIndex, location) => Jump()); playerInputComponent.BindTouch(InputEventType.Released, (fingerIndex, location) => StopJumping()); // VR headset functionality playerInputComponent.BindAction(InputAction.ResetVR, InputEventType.Pressed, OnResetVR); }
public static void OnBeginPlay() { Assert.IsFalse(variable.IsBool); Assert.IsFalse(variable.IsFloat); Assert.IsFalse(variable.IsString); Assert.IsTrue(variable.IsInt); Assert.IsTrue(variable.GetInt() == variableValue); variable.SetOnChangedCallback(VariableEvent); ConsoleManager.RegisterCommand(consoleCommand, "Executes a test command", ConsoleCommand); Assert.IsTrue(ConsoleManager.IsRegisteredVariable(consoleCommand)); Engine.AddActionMapping(pauseResumeAction, pauseResumeKey); Engine.AddAxisMapping(mouseXAction, mouseXKey); Engine.AddAxisMapping(mouseYAction, mouseYKey); InputComponent inputComponent = playerController.InputComponent; Assert.IsFalse(inputComponent.HasBindings); inputComponent.BindAction(pauseResumeAction, InputEvent.Pressed, PauseResume, true); inputComponent.BindAxis(mouseXAction, MouseXMessage); inputComponent.BindAxis(mouseYAction, MouseYMessage); Assert.IsTrue(inputComponent.HasBindings); }
public override void OnStart() { Debug.Assert(Entity != null, nameof(Entity) + " != null"); _inputComponent = Entity.GetComponent <InputComponent>(); _inputComponent.BindAction("Flap", Flap); _birdPhysicsComponent = Entity.GetComponent <BirdPhysicsComponent>(); _birdPhysicsComponent.Flap(); }
protected override void BeginPlayingState() { InputComponent.BindAction("Fire", EInputEvent.IE_Pressed, OnFirePressed); InputComponent.BindAction("Fire", EInputEvent.IE_Released, OnFireReleased); InputComponent.BindAction("Jump", EInputEvent.IE_Pressed, () => GetCharacter()?.Jump()); InputComponent.BindAction("Jump", EInputEvent.IE_Released, () => GetCharacter()?.StopJumping()); InputComponent.BindAxis("Turn", v => GetCharacter()?.AddControllerYawInput(v)); InputComponent.BindAxis("LookUp", v => GetCharacter()?.AddControllerPitchInput(v)); InputComponent.BindAxis("MoveForward", OnMoveForward); InputComponent.BindAxis("MoveRight", MoveRight); }
public void OnBeginPlay() { Assert.IsFalse(variable.IsBool); Assert.IsFalse(variable.IsFloat); Assert.IsFalse(variable.IsString); Assert.IsTrue(variable.IsInt); Assert.IsTrue(variable.GetInt() == variableValue); variable.SetOnChangedCallback(VariableEvent); ConsoleManager.RegisterCommand(consoleCommand, "Executes a test command", ConsoleCommand); Assert.IsTrue(ConsoleManager.IsRegisteredVariable(consoleCommand)); Engine.AddActionMapping(pauseResumeAction, pauseResumeKey); Engine.AddAxisMapping(mouseXAction, mouseXKey); Engine.AddAxisMapping(mouseYAction, mouseYKey); playerInput.AddActionMapping(playerCommandAction, playerCommandKey); InputComponent inputComponent = playerController.InputComponent; Assert.IsFalse(inputComponent.HasBindings); inputComponent.BindAction(pauseResumeAction, InputEvent.Pressed, PauseResume, true); inputComponent.BindAction(playerCommandAction, InputEvent.Pressed, PlayerCommand, true); inputComponent.BindAxis(mouseXAction, MouseXMessage); inputComponent.BindAxis(mouseYAction, MouseYMessage); Assert.IsTrue(inputComponent.HasBindings); Assert.IsTrue(inputComponent.ActionBindingsNumber == 2); const string removableAction = "TestRemovable"; const string removableKey = Keys.R; playerInput.AddActionMapping(removableAction, removableKey, ctrl: true, alt: true); playerInput.RemoveActionMapping(removableAction, removableKey); }
public void RemoveActionBinding_ShouldRemoveRegisteredActionBinding() { // Arrange var inputComponent = new InputComponent(); const string actionName = "ActionName"; inputComponent.BindAction(actionName, () => { }); // Act inputComponent.RemoveActionBinding(actionName); // Assert Assert.That(inputComponent.ActionBindings, Does.Not.ContainKey(actionName)); }
public void BindAction_ShouldRegisterActionBinding() { // Arrange var inputComponent = new InputComponent(); const string actionName = "ActionName"; Action action = () => { }; // Act inputComponent.BindAction(actionName, action); // Assert Assert.That(inputComponent.ActionBindings.ContainsKey(actionName), Is.True); Assert.That(inputComponent.ActionBindings[actionName], Is.EqualTo(action)); }