Table of Contents

Namespace UI

Classes

CrosshairOnOff

Controls the dynamic transformations of the crosshair. It activates and deactivates the crosshair but also visualizes the distance to a grabbable TrainAR object by converging the crosshairs size until the object would be selected (e.g. if the user is too far away from an object to grab it).

DirectInfoController

The DirectInfoBoxController handles the displaying of direct info boxes that are used to display insishgts to the user. It is triggerd through invocation of an action in the StatemachineConnector and therefore has no public methods.

ErrorOverlayController

The error overlay controller handles the error overlay, triggers it on actions from the statemachine and sets its texts. It is triggerd through invocation of an action in the StatemachineConnector and therefore has no public methods.

HomeScreen

The home screen: lists every training of the build (preview, name, description, round expert) and starts the chosen one's onboarding. Below the trainings follows the optional TrainAR footer (links, creator, funding, contact).

InputFieldAdjust

Keeps the input question above a keyboard whose bounds are reported by Unity. Native mobile input remains available when the platform cannot report those bounds.

InteractButton

Handles interactions with the interact button.

InteractionButtonController

Handles the behaviour of the interaction buttons, such as enabling and disabling when appropriate or highlighting the combine button in orange when a combination would be possible.

It also allows for grabbed objects to be rotatable.

KeepAtBottom

Keeps a button's lower edge a fixed distance above the bottom of the safe area, on every screen length. With the distance equal to the button row's side margin, the buttons sit symmetrically in the lower corners.

OnBoardingController

The OnBoardingController handles displaying the onboarding animations for scanning the environment and placing the training assembly by automaticaly detecting at which point and where sufficient feature points for a plane were detected.

OpenSidePanel

Handles opening or closing of the side panel (burger menu) wiht options for help, quitting and replacing the assembly.

Question

The abstract class for questions to share the same UI functions.

QuestionnaireController

The QuestionaireController provides the functionality to control the input field questions, reqular question and question lists. The input field question opens the keyboard and recives any given string input from the user. The regular question opens a question with up to four possible pre-defined awnsers. The question list opens a list with n possible items and continues when all right items were selected.

RoundExpertPicture

Shows the expert's picture in its round frame (the parent is a white circle): the picture is cropped to a centred square and cut round with a smooth edge by the Round Picture shader, so transparent pictures sit on the white circle and opaque ones are cut round, whatever the trainer uses. The frame's hard stencil mask is switched off (its edge is jagged).

SaveArea

The SafeArea scripts moves UI components when they would otherwise be occluded by e.g. cutout cameras or speakers on some newer smartphone devices.

SoftShadow

A soft shadow behind a UI element (buttons, the insight bubble, the expert). The shadow is a sibling right before the element that follows its position, size and scale. On buttons, it is only shown while they can be used.

StreamVideo

StreamVideo is a wrapper for the Videoplayer class and handles playing of the onboarding animations.

TopPanelController

The TopPanelController handpes updates to the UI panel of the trainign scenario, showing the instructions and progress percentage of the training.

TrainingIntroPage

The first onboarding page: shows the chosen training's name, its expert presenting the description (as on the end screen) and the preview.

Structs

QuestionnaireController.Answer

Holder for information for one answer.

Enums

QuestionnaireController.QuestionUITypes

The type of the UI custom action/question.