Game logic - Custom HUD – Ylands

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\{\{Navbox\/Ylands\}\}" to "{{Navbox/Ylands}}")
m (Text replacement - "{{DEFAULTSORT:{{#sub:{{PAGENAME}}|19}}}}" to "{{DEFAULTSORT:{{#sub:{{PAGENAME}}|13}}}}")
 
(24 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Stub}}
=Overview=
'''Custom HUD''' game logic provides a way of displaying additional custom information on the screen of the player, such as healthbars, timers, custom minimaps etc. It is possible to create and activate multiple overlaying Custom HUD layouts.
This game logic shares a layout editor with '''[[Ylands:Game_logic_-_Custom_window|Custom Window]]''' game logic and the details on how to operate can be found on it's own separate page:


'''[[Ylands:Custom UI - Edit layout|Edit layout]]'''


= Activating the Custom HUD =
Custom HUD can be set to be activated at the start of the game by checking the '''Visible to new players''' box in the properties window and it can be activated or deactivated via the visual scripting using the '''Show Custom Hud''' tile.
= Scripting Custom HUD =
== Principles ==
The layout of Custom HUD consists of '''Widgets''' and it is through modification of their properties the scripting works.
You can view the list o related scripting tiles by switching to '''Advanced''' directory and then navigating to '''Game Logic - Custom UI''' or by searching the keyword '''Widget''' in the search bar. If you plan on accessing these in more places, it makes sense to store the widget inside a variable so that you could later access it in a more convenient way. In case of multiplayer games, consider storing these variables in an '''[[Ylands:Game_logic_-_Entity_storage|Entity storage]]''' as the variables stored in '''Custom HUD''' itself are shared by all players.
<gallery>
File:Ylands-Editor-GL-CustomHUD-advancedswitch.jpg|thumb|Switch to advanced tile list
</gallery>
== Optimization ==
While it might be tempting to update the widgets using the '''[[Ylands:Game_logic_-_Time_trigger|Time Trigger]]''', it is much more efficient to utilize other Game Logics, such as '''[[Ylands:Game_logic_-_Trigger_zone|Trigger zone]]''' or '''[[Ylands:Game_logic_-_Event_listener|Event listener]]''' when possible.
== Example ==
An example scenario '''[[Ylands:Tutorial_-_User_interface|User Interface]]''' exists in the game, which can be found in '''Editor - Create game - Examples menu'''.
----
----
{{Navbox/Ylands}}
{{Navbox/Ylands}}
{{DEFAULTSORT:{{#sub:{{PAGENAME}}|19}}}}
{{DEFAULTSORT:{{#sub:{{PAGENAME}}|13}}}}


[[Category: Game Logic]]
[[Category: Game Logic]]
[[Category: Ylands 0.14]]
[[Category: Ylands 0.14]]

Latest revision as of 14:21, 24 November 2023

Overview

Custom HUD game logic provides a way of displaying additional custom information on the screen of the player, such as healthbars, timers, custom minimaps etc. It is possible to create and activate multiple overlaying Custom HUD layouts. This game logic shares a layout editor with Custom Window game logic and the details on how to operate can be found on it's own separate page:

Edit layout

Activating the Custom HUD

Custom HUD can be set to be activated at the start of the game by checking the Visible to new players box in the properties window and it can be activated or deactivated via the visual scripting using the Show Custom Hud tile.

Scripting Custom HUD

Principles

The layout of Custom HUD consists of Widgets and it is through modification of their properties the scripting works. You can view the list o related scripting tiles by switching to Advanced directory and then navigating to Game Logic - Custom UI or by searching the keyword Widget in the search bar. If you plan on accessing these in more places, it makes sense to store the widget inside a variable so that you could later access it in a more convenient way. In case of multiplayer games, consider storing these variables in an Entity storage as the variables stored in Custom HUD itself are shared by all players.

Optimization

While it might be tempting to update the widgets using the Time Trigger, it is much more efficient to utilize other Game Logics, such as Trigger zone or Event listener when possible.

Example

An example scenario User Interface exists in the game, which can be found in Editor - Create game - Examples menu.