Aller au contenu principal

Introduction

RadialMenuUI est une librairie C# moderne, ultra-légère et haute performance de menus radiaux et de roues d'action pour Grand Theft Auto V, propulsée par ScriptHookVDotNet 3.

Roue d'actions RadialMenuUI en jeu

Conçue et éprouvée sur le terrain dans InteractV, cette librairie découple entièrement le rendu graphique et la gestion des contrôles de la logique de jeu, offrant aux moddeurs une interface radiale soignée, digne d'une production console.


Pourquoi RadialMenuUI ?

Concevoir une roue d'actions fluide et agréable dans GTA V présente plusieurs défis majeurs :

  • Les interfaces natives Scaleform sont rigides et lourdes à étendre.
  • Le dessin 2D via ScriptHookV provoque facilement scintillements, étirements d'aspect ratio ou chutes de framerate.
  • Les zones mortes (deadzones) des sticks de manette et les curseurs de souris déclenchent souvent des survols involontaires s'ils ne sont pas calibrés avec précision.

RadialMenuUI résout tous ces problèmes nativement :

  • Double Contrôle Hybride : Navigation fluide au stick droit de la manette (avec zones mortes) et au curseur de souris sur un canevas virtuel 1280×720. Le dernier périphérique ayant bougé prend automatiquement la main.
  • Rendu Natif Zéro-Lag : Appels directs aux fonctions graphiques C++ natives de ScriptHookV (createTexture, drawTexture) avec préchauffage progressif (warmup). Aucun délai Scaleform, 60+ FPS constant.
  • Sous-menus Hiérarchiques : Créez des arborescences de menus complexes avec fil d'Ariane et retour arrière naturel.
  • Pagination de Variantes : Associez plusieurs options à un seul secteur (météo, emotes, tenues) et faites-les défiler horizontalement avec la croix directionnelle (Gauche/Droite) ou la molette.
  • Thèmes Personnalisables : Prise en charge de 3 à 10 secteurs (ou 12), couleurs, transparence, dimensions et icônes PNG sur mesure.
  • Intégration Gameplay Clé en Main : Helper RadialMenuGameplayHost optionnel assurant le maintien de la touche pour ouvrir, le ralenti cinématique, le blocage des commandes perturbatrices et la sécurité en cas de pause ou de mort.

Architecture Générale

RadialMenuUI respecte scrupuleusement le principe de responsabilité unique :

Architecture modulaire de RadialMenuUI

  • Données (RadialMenuDef, RadialEntryDef, RadialVariantDef) : Objets purs de déclaration. Aucune dépendance sur le jeu.
  • Entrées (IRadialMenuInput, GtaRadialMenuInput) : Abstraction des périphériques de saisie.
  • Contrôleur (RadialMenuController) : Machine à états gérant les survols, les sous-menus, les variantes et le son.
  • Vue (RadialMenuView, RadialMenuAssets) : Dessine l'anneau, la tranche active, le centre, les flèches et les icônes.

Sommaire de la Documentation

ThèmeDescription
InstallationComment ajouter RadialMenuUI.dll et les textures de base à votre projet.
Démarrage rapideCréez votre première roue interactive en 10 lignes de C#.
MenusCréation de sous-menus, roue ouverte après confirmation et disposition des tranches.
VariantesFaire défiler plusieurs choix sur une seule tranche.
ThèmesPersonnalisation graphique des anneaux, couleurs et nombres de tranches.
AssetsIcônes par chemin ou clés de thème, et textures dynamiques.
Intégration GameplayRalenti cinématique, touche maintenue et remplacement de la roue d'armes native.
Référence de l'APIDocumentation complète des classes, méthodes et événements.