diff --git a/Assets/Scripts/Components/UI/OverviewMenu.cs b/Assets/Scripts/Components/UI/OverviewMenu.cs
index fe4edf9..02d1907 100644
--- a/Assets/Scripts/Components/UI/OverviewMenu.cs
+++ b/Assets/Scripts/Components/UI/OverviewMenu.cs
@@ -14,7 +14,8 @@ using UnityEngine.InputSystem;
/// switch game modes (via ) or open the session browser /
/// match results overlay, and every click closes the panel. Mode buttons are only shown for modes present in the current role-scoped set
/// (); the active mode's button is disabled. Hotkeys mirror the
-/// buttons: C toggles the pose menu, V switches to paint mode (E = taunt lives in GameModeManager). Attach to the
+/// buttons: C toggles the pose menu (or cycles the pose directly with 2 or fewer poses), V switches to
+/// paint mode (E = taunt lives in GameModeManager). Attach to the
/// always-active canvas root; is the toggled visual child.
///
public class OverviewMenu : MonoBehaviour
@@ -50,7 +51,8 @@ public class OverviewMenu : MonoBehaviour
[Tooltip("Triggers the hider's manual radar ping (same as the E key) and closes the menu. Only shown " +
"for a hider during Seek.")]
[SerializeField] private Button tauntButton;
- [Tooltip("Opens the pose selection menu. Only shown while the local player has selectable poses.")]
+ [Tooltip("Opens the pose selection menu (or cycles the pose directly with 2 or fewer poses). Only " +
+ "shown while the local player has selectable poses.")]
[SerializeField] private Button poseButton;
private bool _open;
@@ -174,6 +176,13 @@ public class OverviewMenu : MonoBehaviour
private void OnPose()
{
+ // Small pose set (hunter): no radial menu, the button/hotkey just cycles to the next pose.
+ if (poseMenu && poseMenu.CyclesDirectly)
+ {
+ Close(resume: true);
+ poseMenu.CyclePose();
+ return;
+ }
Close(resume: false);
if (!(poseMenu && poseMenu.Open()) && gameMode)
gameMode.SetPaused(false);
diff --git a/Assets/Scripts/Components/UI/PoseMenu.cs b/Assets/Scripts/Components/UI/PoseMenu.cs
index 2d319fc..6d3e2df 100644
--- a/Assets/Scripts/Components/UI/PoseMenu.cs
+++ b/Assets/Scripts/Components/UI/PoseMenu.cs
@@ -54,6 +54,24 @@ public class PoseMenu : MonoBehaviour
/// button otherwise (no player bound, or an empty pose list).
public bool CanOpen => LocalPoseController() && LocalPoseController().Poses.Count > 0;
+ /// With 2 or fewer poses (the hunter's set) a radial menu is pointless - the pose button
+ /// and the C hotkey cycle directly via instead of opening the overlay.
+ public bool CyclesDirectly
+ {
+ get
+ {
+ PlayerPoseController pose = LocalPoseController();
+ return pose && pose.Poses.Count > 0 && pose.Poses.Count <= 2;
+ }
+ }
+
+ /// Advances to the next pose (wrapping) without opening the overlay.
+ public void CyclePose()
+ {
+ PlayerPoseController pose = LocalPoseController();
+ if (pose && pose.Poses.Count > 0) pose.SetPoseIndex(pose.CurrentIndex + 1);
+ }
+
/// Opens the modal overlay and (re)builds the radial items; false when there is nothing
/// to show, so the caller can drop the pause instead of stranding it.
public bool Open()