public CaveInputProcessor(InputConfig config, CaveInputBinding binding, InputController controller) : base(config, binding, controller) { binding.MovementJoystick.OnXAxisMove += amount => EntityTransform.Rotate(0, amount * Config.RotationSpeed, 0); binding.MovementJoystick.OnYAxisMove += amount => EntityTransform.Translate(0, 0, amount * Config.MovementSpeed); binding.NodePointer.OnPointed += OnNodePointed; binding.NodeChooser.OnPointed += OnNodeChooserMoved; binding.ExitNodeTraverseMode.OnPress += ExitNodeTraverseMode; }
private void OnMove(Vector2 direction) { if (Controller.GraphController.GraphMode.Value == GraphMode.NODE_TRAVERSE) { return; } direction *= Config.MovementSpeed; EntityTransform.Translate(direction.y, 0, direction.x, Space.Self); }
private void OnMovementJoystickYAxisMove(float amount) { if (Controller.GraphController.GraphMode.Value != GraphMode.FREE_FLIGHT || Controller.BlockType.HasValue) { return; } var translation = CaveInputBinding.Flystick(binding.MovementJoystick.Instance).pose.rotation *Vector3.forward; EntityTransform.Translate(Config.MovementSpeed * amount * translation, Space.World); }