private void OnAxisPressed(AxisPressed e) { if (e.playerNum == Services.VisualNovelScene.currentTurnPlayerNum) { Services.EventManager.Unregister <AxisPressed>(OnAxisPressed); Services.EventManager.Unregister <ButtonPressed>(OnInputReceived); RotateDialogueOptions rotateDialogue = new RotateDialogueOptions(Services.DialogueUIManager.dialogueRotationTime, -e.direction); ActionTask reregister = new ActionTask(Reregister); rotateDialogue.Then(reregister); Services.TaskManager.AddTask(rotateDialogue); Services.MusicManager.GenerateSourceAndPlay(Services.MusicManager.scrollSound); } }
/// <summary> /// Raises the <see cref="AxisPressed"/> event. /// </summary> /// <param name="axis">The <see cref="GamePadAxis"/> that was pressed.</param> /// <param name="value">The axis' value.</param> /// <param name="repeat">A value indicating whether this is a repeated axis press.</param> protected virtual void OnAxisPressed(GamePadAxis axis, Single value, Boolean repeat) => AxisPressed?.Invoke(this, axis, value, repeat);