Dialog – MRTK3
Dialogrutor är kortlivade gränssnittsvyer som ger sammanhangsberoende appinformation. De begär ofta en åtgärd från användaren och returnerar sedan resultatet till appens affärslogik i en asynkron uppgift eller ett resultat. Använd dialogrutor för att meddela användarna om viktig information eller begära bekräftelse innan en åtgärd kan slutföras.
Om du letar efter dokumentationen och användningsexemplen för Dialog-API:et kan du läsa dokumentationen om UXCore här..
Prefabs
MRTK3 UX-komponenter är CanvasDialog.prefab
en startpunkt för att skapa dynamiska, koddrivna modala dialogrutor.
Prefab för arbetsytebaserad dialogruta använder automatisk layout för att endast visa de kontroller som begärs via API:et IDialog
fluent builder. Tills underkontrollerna begärs av API-anroparen inaktiveras de och visas inte i layouten. Därför behövs bara en dialogprefab, i stället för en mängd olika prefabs för varje permutation av knappalternativ eller textlayout.
Om du vill använda dialogrutan för färdiga UX-komponenter kontrollerar du DialogPool
att prefab har angetts till rätt tillgång. Du kan också tilldela DialogPool
prefab vid körning via API:et DialogPool
, antingen via parametern Get
eller genom att ange egenskapen direkt DialogPrefab
.
Se dokumentationen för Dialog-API:et här för exempel på hur du använder komponenten DialogPool.
Utvecklare kan också skapa egna anpassade dialogprefabs. Om den anpassade prefab har samma funktioner som den grundläggande dialogrutefunktionen krävs inga kodändringar och basskriptet Dialog
kan användas. Om det finns tillagda funktioner i dialogvyn som kräver bindning till API:et IDialog
(t.ex. nya knappar, etiketter eller andra underkontroller) krävs en underklassimplementering av IDialog
. När du skapar en anpassad prefab, se till att de olika underkontrollerna har refererats korrekt på IDialog
MonoBehaviour, annars kommer de inte att bindas eller hydratiseras korrekt.
Exempelscener
Se DialogExample.unity
exempel på hur du skapar dialogrutor. Mer information, kodexempel och information finns i UXCore-dokumentationen här..