Navigator¶
The navigator provides the entry points to the user. It does so in a general way, making it possible to find any client that the user has permission to access.
Declaring the navigator¶
The navigator is declared in the *.client file and can be declared in a hierarchical manner. There are three types of entries/nodes that the navigator supports based on the requirement of the functionality. These are:
- Top level entry
- Folder entry
- Content entry based on the page type
Every navigator entry is declared using the following notation with variations based on the node type:
navigator {
entry <entry name> {
label = "<entry label>";
}
}
All nodes must be declared within the navigator
block.
Declaring a top level node¶
A top level navigator node is used to group related navigator links. To declare a navigator node a top level node add the toplevel
keyword as shown below:
navigator {
entry <entry name> toplevel at index 1{
label = "<entry label>";
entry <sub entries>;
entry <sub entries>;
}
}
Declaring a folder node¶
A navigator folder entry can be empty, include another entry within the same client model, or can include other folder entries
navigator {
entry <entry name> {
label = "<folder entry's label>";
[entry <sub entry 1>;]
}
}
For all above entry types a parent entry can be given. It can either be in the same client model or in a different client model. In this way you can include the entry in a different location in the navigator. When specifying a parent entry you need to give an index.
navigator {
entry <entry name> parent;
<client model name of parent>.<entry to insert into index> {
label = "<node name>";
}
}
So there is basically two ways to include child entries. Either the parent should specify its children (within the same model) or the child can specify its parent (works across client models).
Declaring entries for page types¶
See below how to declare a navigator entry for each page type.
Navigator entry for a page¶
navigator {
entry <entry_name> {
label = "<page_label";
page <page_name>;
}
}
For navigator entries this type you can optionally specify internal entries. This is available in page type entries only.
Navigator entry for an assistant¶
navigator {
entry <entry_name> {
label = "<assistant_label>";
assistant (Arguments);
}
}
Navigator entry for an External URL¶
navigator {
entry <entry_name> {
label = "<Name for external page>";
external "<External_url>";
}
}
Navigator entry for an internal URL¶
Here you need to specify only the relative URL to an internal location (for example /IconLibrary
)
navigator {
entry <entry_name> {
label = "<Name for lobby>";
lobby "<LobbyGUID>";
}
}