Class GUIManager
Manager for handling anything GUI related. Provides Valheim style
GUI elements as well as an anchor for custom GUI prefabs.
Inheritance
System.Object
GUIManager
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: Jotunn.Managers
Assembly: Jotunn.dll
Syntax
public class GUIManager : IManager
Fields
| Improve this Doc View SourceUILayer
Unity layer constant for UI objects.
Declaration
public const int UILayer = 5
Field Value
Type | Description |
---|---|
System.Int32 |
ValheimButtonColorBlock
Button color block in Valheim style
Declaration
public ColorBlock ValheimButtonColorBlock
Field Value
Type | Description |
---|---|
ColorBlock |
ValheimControlResources
Declaration
public DefaultControls.Resources ValheimControlResources
Field Value
Type | Description |
---|---|
DefaultControls.Resources |
ValheimOrange
The default Valheim orange color.
Declaration
public Color ValheimOrange
Field Value
Type | Description |
---|---|
Color |
ValheimScrollbarHandleColorBlock
Scrollbar handle color block in default Valheim orange.
Declaration
public ColorBlock ValheimScrollbarHandleColorBlock
Field Value
Type | Description |
---|---|
ColorBlock |
ValheimToggleColorBlock
Toggle color block in Valheim style.
Declaration
public ColorBlock ValheimToggleColorBlock
Field Value
Type | Description |
---|---|
ColorBlock |
Properties
| Improve this Doc View SourceAveriaSerif
Valheim standard font normal faced.
Declaration
public Font AveriaSerif { get; }
Property Value
Type | Description |
---|---|
Font |
AveriaSerifBold
Valheims standard font bold faced.
Declaration
public Font AveriaSerifBold { get; }
Property Value
Type | Description |
---|---|
Font |
CustomGUIBack
GUI container behind Valheim's GUI elements with automatic scaling for
high res displays and pixel correction.
Gets rebuild at every scene change so make sure to add your custom
GUI prefabs again on each scene change.
Declaration
public static GameObject CustomGUIBack { get; }
Property Value
Type | Description |
---|---|
GameObject |
CustomGUIFront
GUI container in front of Valheim's GUI elements with automatic scaling for
high res displays and pixel correction.
Gets rebuild at every scene change so make sure to add your custom
GUI prefabs again on each scene change.
Declaration
public static GameObject CustomGUIFront { get; }
Property Value
Type | Description |
---|---|
GameObject |
Instance
Singleton instance
Declaration
public static GUIManager Instance { get; }
Property Value
Type | Description |
---|---|
GUIManager |
PixelFix
GUI container with automatic scaling for high res displays.
Gets rebuild at every scene change so make sure to add your custom
GUI prefabs again on each scene change.
Declaration
[Obsolete("Use CustomGUIFront or CustomGUIBack")]
public static GameObject PixelFix { get; }
Property Value
Type | Description |
---|---|
GameObject |
Methods
| Improve this Doc View SourceAddKeyHint(KeyHintConfig)
Add a KeyHintConfig to the manager.
Checks if the custom key hint is unique (i.e. the first one registered for an item).
Custom status effects are displayed in the game instead of the default KeyHints for equipped tools or weapons they are registered for.
Checks if the custom key hint is unique (i.e. the first one registered for an item).
Custom status effects are displayed in the game instead of the default KeyHints for equipped tools or weapons they are registered for.
Declaration
[Obsolete("Use KeyHintManager.AddKeyHint instead")]
public bool AddKeyHint(KeyHintConfig hintConfig)
Parameters
Type | Name | Description |
---|---|---|
KeyHintConfig | hintConfig | The custom key hint config to add. |
Returns
Type | Description |
---|---|
System.Boolean | true if the custom key hint config was added to the manager. |
ApplyButtonStyle(UnityEngine.UI.Button, Int32)
Apply valheim style to a Component
Declaration
public void ApplyButtonStyle(UnityEngine.UI.Button button, int fontSize = 16)
Parameters
Type | Name | Description |
---|---|---|
UnityEngine.UI.Button | button | Component to apply the style to |
System.Int32 | fontSize | Optional font size, defaults to 16 |
ApplyDropdownStyle(Dropdown, Int32)
Apply Valheim style to a component.
Declaration
public void ApplyDropdownStyle(Dropdown dropdown, int fontSize = 16)
Parameters
Type | Name | Description |
---|---|---|
Dropdown | dropdown | Component to apply the style to |
System.Int32 | fontSize | Optional font size, defaults to 16 |
ApplyInputFieldStyle(InputField)
Apply Valheim style to an Component.
Declaration
[Obsolete("Only here for backward compat")]
public void ApplyInputFieldStyle(InputField field)
Parameters
Type | Name | Description |
---|---|---|
InputField | field | Component to apply the style to |
ApplyInputFieldStyle(InputField, Int32)
Apply Valheim style to an Component.
Declaration
public void ApplyInputFieldStyle(InputField field, int fontSize = 16)
Parameters
Type | Name | Description |
---|---|---|
InputField | field | Component to apply the style to |
System.Int32 | fontSize | Optional font size, defaults to 16 |
ApplyScrollbarStyle(Scrollbar)
Apply Valheim style to a component.
Declaration
public void ApplyScrollbarStyle(Scrollbar scrollbar)
Parameters
Type | Name | Description |
---|---|---|
Scrollbar | scrollbar | Component to apply the style to |
ApplyScrollRectStyle(ScrollRect)
Apply Valheim style to a component.
Declaration
public void ApplyScrollRectStyle(ScrollRect scrollRect)
Parameters
Type | Name | Description |
---|---|---|
ScrollRect | scrollRect | Component to apply the style to |
ApplySliderStyle(Slider)
Apply Valheim style to a component.
Declaration
public void ApplySliderStyle(Slider slider)
Parameters
Type | Name | Description |
---|---|---|
Slider | slider |
ApplySliderStyle(Slider, Vector2)
Apply Valheim style to a component.
Declaration
public void ApplySliderStyle(Slider slider, Vector2 handleSize)
Parameters
Type | Name | Description |
---|---|---|
Slider | slider | |
Vector2 | handleSize |
ApplyTextStyle(Text, Color, Int32, Boolean)
Apply Valheim style to a Component.
Uses
GUIManager.Instance.AveriaSerifBold
by default
Declaration
public void ApplyTextStyle(Text text, Color color, int fontSize = 16, bool createOutline = true)
Parameters
Type | Name | Description |
---|---|---|
Text | text | Target component |
Color | color | Custom color or
|
System.Int32 | fontSize | Optional font size, defaults to 16 |
System.Boolean | createOutline | creates an |
ApplyTextStyle(Text, Font, Color, Int32, Boolean)
Apply Valheim style to a Component
Declaration
public void ApplyTextStyle(Text text, Font font, Color color, int fontSize = 16, bool createOutline = true)
Parameters
Type | Name | Description |
---|---|---|
Text | text | Target component |
Font | font | Own font or /
|
Color | color | Custom color or
|
System.Int32 | fontSize | Optional font size, defaults to 16 |
System.Boolean | createOutline | creates an |
ApplyTextStyle(Text, Int32)
Apply Valheim style to a Component.
Uses
GUIManager.Instance.AveriaSerifBold
, Color.white
and creates an outline by default
Declaration
public void ApplyTextStyle(Text text, int fontSize = 16)
Parameters
Type | Name | Description |
---|---|---|
Text | text | Target component |
System.Int32 | fontSize | Optional font size, defaults to 16 |
ApplyToogleStyle(UnityEngine.UI.Toggle)
Apply Valheim style to a component.
Declaration
public void ApplyToogleStyle(UnityEngine.UI.Toggle toggle)
Parameters
Type | Name | Description |
---|---|---|
UnityEngine.UI.Toggle | toggle | Component to apply the style to |
ApplyWoodpanelStyle(Transform)
Apply Valheim style to a woodpanel.
Declaration
public void ApplyWoodpanelStyle(Transform woodpanel)
Parameters
Type | Name | Description |
---|---|---|
Transform | woodpanel |
BlockInput(Boolean)
Block all input except GUI
Declaration
public static void BlockInput(bool state)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | state | Indicator if the input should be blocked or released |
CreateButton(String, Transform, Vector2, Vector2, Vector2, Single, Single)
Create a new button (Valheim style).
Declaration
public GameObject CreateButton(string text, Transform parent, Vector2 anchorMin, Vector2 anchorMax, Vector2 position, float width = 0F, float height = 0F)
Parameters
Type | Name | Description |
---|---|---|
System.String | text | Text to display on the button |
Transform | parent | Parent transform |
Vector2 | anchorMin | Min anchor |
Vector2 | anchorMax | Max anchor |
Vector2 | position | Position |
System.Single | width | Set width if > 0 |
System.Single | height | Set height if > 0 |
Returns
Type | Description |
---|---|
GameObject | Button GameObject in Valheim style |
CreateColorPicker(Vector2, Vector2, Vector2, Color, String, ColorPicker.ColorEvent, ColorPicker.ColorEvent, Boolean)
Creates and displays a Valheim style ColorPicker
Declaration
public void CreateColorPicker(Vector2 anchorMin, Vector2 anchorMax, Vector2 position, Color original, string message, ColorPicker.ColorEvent onColorChanged, ColorPicker.ColorEvent onColorSelected, bool useAlpha = false)
Parameters
Type | Name | Description |
---|---|---|
Vector2 | anchorMin | Min anchor on first instantiation |
Vector2 | anchorMax | Max anchor on first instantiation |
Vector2 | position | Position on first instantiation |
Color | original | Color before editing |
System.String | message | Display message |
ColorPicker.ColorEvent | onColorChanged | Event that gets called when the color gets modified |
ColorPicker.ColorEvent | onColorSelected | Event that gets called when one of the buttons done or cancel get pressed |
System.Boolean | useAlpha | When set to false the colors used don't have an alpha channel |
CreateDropDown(Transform, Vector2, Vector2, Vector2, Int32, Single, Single)
Create dropdown field
Declaration
public GameObject CreateDropDown(Transform parent, Vector2 anchorMin, Vector2 anchorMax, Vector2 position, int fontSize = 16, float width = 0F, float height = 0F)
Parameters
Type | Name | Description |
---|---|---|
Transform | parent | Parent transform |
Vector2 | anchorMin | Min anchor |
Vector2 | anchorMax | Max anchor |
Vector2 | position | Position |
System.Int32 | fontSize | Optional font size, defaults to 16 |
System.Single | width | Set width if > 0 |
System.Single | height | Set height if > 0 |
Returns
Type | Description |
---|---|
GameObject |
CreateGradientPicker(Vector2, Vector2, Vector2, Gradient, String, GradientPicker.GradientEvent, GradientPicker.GradientEvent)
Creates and displays a Valheim style GradientPicker
Declaration
public void CreateGradientPicker(Vector2 anchorMin, Vector2 anchorMax, Vector2 position, Gradient original, string message, GradientPicker.GradientEvent onGradientChanged, GradientPicker.GradientEvent onGradientSelected)
Parameters
Type | Name | Description |
---|---|---|
Vector2 | anchorMin | Min anchor on first instantiation |
Vector2 | anchorMax | Max anchor on first instantiation |
Vector2 | position | Position on first instantiation |
Gradient | original | Color before editing |
System.String | message | Display message |
GradientPicker.GradientEvent | onGradientChanged | Event that gets called when the gradient gets modified |
GradientPicker.GradientEvent | onGradientSelected | Event that gets called when one of the buttons done or cancel gets pressed |
CreateInputField(Transform, Vector2, Vector2, Vector2, InputField.ContentType, String, Int32, Single, Single)
Create a new InputField (Valheim style).
Declaration
public GameObject CreateInputField(Transform parent, Vector2 anchorMin, Vector2 anchorMax, Vector2 position, InputField.ContentType contentType = null, string placeholderText = null, int fontSize = 16, float width = 0F, float height = 0F)
Parameters
Type | Name | Description |
---|---|---|
Transform | parent | Parent transform |
Vector2 | anchorMin | Min anchor |
Vector2 | anchorMax | Max anchor |
Vector2 | position | Position |
InputField.ContentType | contentType | Content type for the input field |
System.String | placeholderText | Text to display as a placeholder (can be null) |
System.Int32 | fontSize | Optional font size, defaults to 16 |
System.Single | width | Set width if > 0 |
System.Single | height | Set height if > 0 |
Returns
Type | Description |
---|---|
GameObject | Input field GameObject in Valheim style |
CreateKeyBindField(String, Transform, Single, Single)
Create key binding field
Declaration
public GameObject CreateKeyBindField(string text, Transform parent, float width, float height)
Parameters
Type | Name | Description |
---|---|---|
System.String | text | |
Transform | parent | |
System.Single | width | |
System.Single | height |
Returns
Type | Description |
---|---|
GameObject |
CreateScrollView(Transform, Boolean, Boolean, Single, Single, ColorBlock, Color, Single, Single)
Create a complete scroll view
Declaration
public GameObject CreateScrollView(Transform parent, bool showHorizontalScrollbar, bool showVerticalScrollbar, float handleSize, float handleDistanceToBorder, ColorBlock handleColors, Color slidingAreaBackgroundColor, float width, float height)
Parameters
Type | Name | Description |
---|---|---|
Transform | parent | parent transform |
System.Boolean | showHorizontalScrollbar | show horizontal scrollbar |
System.Boolean | showVerticalScrollbar | show vertical scrollbar |
System.Single | handleSize | size of the handle |
System.Single | handleDistanceToBorder | |
ColorBlock | handleColors | Colorblock for the handle |
Color | slidingAreaBackgroundColor | Background color for the sliding area |
System.Single | width | rect width |
System.Single | height | rect height |
Returns
Type | Description |
---|---|
GameObject |
CreateText(String, Transform, Vector2, Vector2, Vector2, Font, Int32, Color, Boolean, Color, Single, Single, Boolean)
Create a with a Text (and optional Outline and ContentSizeFitter) component
Declaration
public GameObject CreateText(string text, Transform parent, Vector2 anchorMin, Vector2 anchorMax, Vector2 position, Font font, int fontSize, Color color, bool outline, Color outlineColor, float width, float height, bool addContentSizeFitter)
Parameters
Type | Name | Description |
---|---|---|
System.String | text | Text to show |
Transform | parent | Parent transform |
Vector2 | anchorMin | Anchor min |
Vector2 | anchorMax | Anchor max |
Vector2 | position | Anchored position |
Font | font | Font |
System.Int32 | fontSize | Font size |
Color | color | Font color |
System.Boolean | outline | Add outline component |
Color | outlineColor | Outline color |
System.Single | width | Width |
System.Single | height | Height |
System.Boolean | addContentSizeFitter | Add ContentSizeFitter |
Returns
Type | Description |
---|---|
GameObject | A text |
CreateToggle(Transform, Single, Single)
Create toggle field
Declaration
public GameObject CreateToggle(Transform parent, float width, float height)
Parameters
Type | Name | Description |
---|---|---|
Transform | parent | Parent transform |
System.Single | width | Set width |
System.Single | height | Set height |
Returns
Type | Description |
---|---|
GameObject |
CreateWoodpanel(Transform, Vector2, Vector2, Vector2, Single, Single)
Creates a Valheim style woodpanel which is draggable per default
Declaration
public GameObject CreateWoodpanel(Transform parent, Vector2 anchorMin, Vector2 anchorMax, Vector2 position, float width = 0F, float height = 0F)
Parameters
Type | Name | Description |
---|---|---|
Transform | parent | Parent |
Vector2 | anchorMin | Minimal anchor |
Vector2 | anchorMax | Maximal anchor |
Vector2 | position | Anchored position |
System.Single | width | Optional width |
System.Single | height | Optional height |
Returns
Type | Description |
---|---|
GameObject | A |
CreateWoodpanel(Transform, Vector2, Vector2, Vector2, Single, Single, Boolean)
Creates a Valheim style woodpanel, can optionally be draggable
Declaration
public GameObject CreateWoodpanel(Transform parent, Vector2 anchorMin, Vector2 anchorMax, Vector2 position, float width = 0F, float height = 0F, bool draggable = true)
Parameters
Type | Name | Description |
---|---|---|
Transform | parent | Parent |
Vector2 | anchorMin | Minimal anchor |
Vector2 | anchorMax | Maximal anchor |
Vector2 | position | Anchored position |
System.Single | width | Optional width |
System.Single | height | Optional height |
System.Boolean | draggable | Optional flag if the panel should be draggable (default true) |
Returns
Type | Description |
---|---|
GameObject | A |
GetSprite(String)
Get a sprite by name.
Declaration
public Sprite GetSprite(string spriteName)
Parameters
Type | Name | Description |
---|---|---|
System.String | spriteName | The sprite name |
Returns
Type | Description |
---|---|
Sprite | The sprite with given name |
Init()
Initialize the manager
Declaration
public void Init()
IsHeadless()
Detect headless mode (aka dedicated server)
Declaration
public static bool IsHeadless()
Returns
Type | Description |
---|---|
System.Boolean |
RemoveKeyHint(KeyHintConfig)
Removes a KeyHintConfig from the game.
Declaration
[Obsolete("Use KeyHintManager.RemoveKeyHint instead")]
public void RemoveKeyHint(KeyHintConfig hintConfig)
Parameters
Type | Name | Description |
---|---|---|
KeyHintConfig | hintConfig | The custom key hint config to add. |
Events
| Improve this Doc View SourceOnCustomGUIAvailable
Event that gets fired every time the Unity scene changed and new CustomGUI
objects were created. Subscribe to this event to create your custom GUI objects
and add them as a child to either CustomGUIFront or CustomGUIBack.
Declaration
public static event Action OnCustomGUIAvailable
Event Type
Type | Description |
---|---|
System.Action |
OnPixelFixCreated
Event that gets fired every time the Unity scene changed and a new PixelFix
object was created. Subscribe to this event to create your custom GUI objects
and add them as a child to the PixelFix.
Declaration
[Obsolete("Use OnCustomGUIAvailable")]
public static event Action OnPixelFixCreated
Event Type
Type | Description |
---|---|
System.Action |