Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI Content Theme #151

Open
pavlicekdominik opened this issue Nov 2, 2023 · 0 comments
Open

UI Content Theme #151

pavlicekdominik opened this issue Nov 2, 2023 · 0 comments
Assignees
Milestone

Comments

@pavlicekdominik
Copy link
Member

UI Content Theme

Purpose: The UI Content Theme provides specific styling options for individual UI elements or groups of elements. This allows for fine-tuning and distinctive styles for particular types of content (e.g., different button styles for different actions).

Class: UUIContentTheme (extends UDataAsset)

Properties and Methods:

Each subclass of UUIContentTheme will define properties and potentially methods relevant to the UI element it styles. Examples include:

  • UButtonTheme:

    • NormalStateStyle: FButtonStyle - Defines the button's appearance.
  • UFontTheme:

    • PrimaryFontStyle: FTextStyle - Defines the style for headers.
    • SecondaryFontStyle: FTextStyle - Defines the style for body text.
  • UColorTheme:

    • PrimaryColorSet: FLinearColor - Defines primary colors for certain UI elements or content types.
    • SecondaryColorSet: FLinearColor - Defines secondary colors for accenting or contrast.
    • TertiaryColorSet: FLinearColor - Defines tertiary colors for accenting or contrast.
    • QuaternaryColorSet: FLinearColor - Defines quaternary colors for accenting or contrast.
  • UCategoryTheme: (Subclass of UButtonTheme)

    • Tailored specifically for categorizing items or actions within the UI.
    • CategoryBrush: FSlateBrush
      • for category icons, ensuring flexible visual representation.

Theme Inheritance and Override Mechanism:

  • Inheritance: UI elements would by default reference the parent's theme. This ensures consistency and reduces the need to set a theme for each element manually.

  • Override: UI elements can optionally reference a specific UUIContentTheme to override the inherited theme for customization.

Example:

An inventory screen could use the global UUITheme, but individual elements like rare item slots or special action buttons could use their respective UUIContentTheme to stand out, reflecting their importance or uniqueness.

@pavlicekdominik pavlicekdominik self-assigned this Nov 2, 2023
@pavlicekdominik pavlicekdominik added this to the 1.0.0.X milestone Nov 2, 2023
pavlicekdominik added a commit that referenced this issue Nov 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 📋 Backlog
Development

No branches or pull requests

1 participant