Cavrnus Unreal API - UI

The header files in the "UI" folder define the core structure and functionality of the user interface (UI) elements for the Cavrnus Spatial Connector plugin. They enable users to log in, select spaces, view other users, and potentially perform other essential actions within the collaborative environment.


Header Files:

CavrnusBaseUserWidget.h:

  • Purpose: This file defines the UCavrnusBaseUserWidget class, which serves as the base class for all Cavrnus-specific UI widgets. It provides common functionality and properties that are shared across different UI elements.

CavrnusGuestLoginWidget.h:

  • Purpose: This file defines the UCavrnusGuestLoginWidget class, which is responsible for handling guest logins. It provides a UI for entering a guest username and triggering the login process.

  • Key Elements:

    • GuestUsernameInput: An editable text box for entering the guest username.

    • LoginButton: A button to initiate the guest login.

    • OnLogin: A delegate (event) that is triggered when the login button is clicked, passing the entered username.

CavrnusLoginWidget.h:

  • Purpose: This file defines the UCavrnusLoginWidget class, which handles user logins with email and password credentials.

  • Key Elements:

    • EmailInput: An editable text box for entering the email address.

    • PasswordInput: An editable text box for entering the password.

    • LoginButton: A button to initiate the login process.

    • OnLogin: A delegate that is triggered when the login button is clicked, passing the entered email and password.

CavrnusSpaceListWidget.h:

  • Purpose: This file defines the UCavrnusSpaceListWidget class, which displays a list of available Cavrnus spaces. It includes features for searching, filtering, and selecting spaces.

  • Key Elements:

    • FSpaceListOption: A helper class representing a single space in the list.

    • SpaceSelected: An event that is triggered when a space is selected.

    • PaginationItemWidget: A subclass of UUserWidget used for pagination items.

    • SpacePagination: A UPagination widget for navigating through the list of spaces.

    • SearchTextBox: An editable text box for searching spaces.

    • OnCavrnusSpaceSelected: A delegate that is triggered when a space is selected, passing the space's ID.

CavrnusUserWidget.h:

  • Purpose: This file defines the UCavrnusUserWidget class, which represents a Cavrnus user in the UI. It displays user information and handles user-specific actions.

  • Key Elements:

    • RtcStreamImage: An image widget to display the user's real-time communication (RTC) video stream.

    • ProfileImage: An image widget to display the user's profile picture.

    • SpaceConnection: Information about the user's connection to a Cavrnus space.

    • User: Data about the Cavrnus user.

Texture2dDynamicHelper.h:

  • Purpose: This file defines the UTexture2dDynamicHelper class, a Blueprint function library that provides helper functions for working with dynamic 2D textures.

  • Key Elements:

    • GetTextureWidth: A function to get the width of a dynamic 2D texture.

    • GetTextureHeight: A function to get the height of a dynamic 2D texture.