MLMenu Plugin

From Cinemar Wiki
Jump to: navigation, search

About

MLMenu plugin provides the means to manage a scene's buttons labels and MLServeCmds that execute when a particular button is pushed.

As the Menu Level is changed, those same buttons take on new labels and new commands based on the settings established in the MLMenu configuration window.

This allows you to reuse a navigation scene in MainLobby Client for many layers of navigation reducing the time and effort to build unique but similar appearing navigation scenes.

Requirements

MLServer3 v 3.0.389 (or newer)

MainLobby3 Client v 3.0.107 (or newer)

MLMenu plugin - latest

Installation

Download and run the MLMenu_Plugin_Setup.exe file.

Install the Plugin on the primary MLServer3 PC.

Install the user interface example on a MainLobby3 Client PC.

Restart MLServer3

You will need to run:

MLMenu|CREATE_TOP_MENU~1

before the first one will show.

Then put:

MLMenu|Button_Push~{{mlmenu_test1_1_button_1_id}}

for button 1. Increment for each subsequent button on the scene.

Setup


Settings Tab Use Fast Variable - scene changes will be faster, but since Fast Var doesn't send those variable changes through the MLServer3 Event Processor, you cannot use Automation Events that look for one of those variables to change for execution of the automation event.

If "Populute all Menus on startup" is selected then MLMenu will load all menus when client starts, and assumes that you always go to the start up scene when the client launches.

Alias and Home scenes tab

There needs to be at least one active menu

alias = Menu1

home scene = your default *.mls to load on client start

active = is the menu active

main buttons = number of buttons on your main menu bar


MLServeCmds

If the TrackState button is set, it will tint button green if true, red if false. Works on both popouts and main menus. However, if you track state, you can't highlight buttons for navigation, so you have to choose the mode you are in

SET_BUTTON_STATE~ButtonID~ButtonState(True/False)~MenuID

SET_BUTTON_STATE_ALIAS~ButtonAlias~ButtonState(True/False)~MenuID


CLEAR_CURRENT_POPOUT~MenuID

Home~MenuID

MLMENU|HOME~ALIAS

TOGGLE_STATE~ButtonID~MenuID

TOGGLE_STATE_ALIAS~ButtonAlias~MenuID

CREATE_TOP_MENU~MENU_ID~CLIENT_NAME

BUTTON_PUSH~ID~Parent_ID

BUTTON_PUSH_ALIAS~BUTTON_ALIAS~MENUID

BACK~MENU_ID~CURRENT_LEVEL

SCENE_BACK~MenuID

GOTO~MENU_ID~GOTO_LEVEL~ButtonID

REFRESH_CLIENTLIST

REFRESH_ALL_MENUS

POPULATE_TOP_LEVEL

IR_UP, NAV_UP

IR_DOWN, NAV_DOWN

IR_LEFT, NAV_LEFT

IR_RIGHT, NAV_RIGHT

IR_HOME, NAV_HOME

IR_END, NAV_END

IR_ENTER, NAV_ENTER~Menu

IR_CLEAR_POPOUT, NAV_CLEAR_POPOUT


BUTTON_PUSH~ID

BACK~MENU_ID~CURRENT_LEVEL~ID

mlmenu|back~{{mlmenu_{{clientname}}_menu_1_menu_id}}~{{mlmenu_{{clientname}}_menu_1_current_level}}


GOTO~MENU_ID~GOTO_LEVEL

CREATE_TOP_MENU~MENU_ID~CLIENT_NAME

REFRESH_CLIENTLIST

Gets a new client list from MLS

REFRESH_ALL_MENUS

Refreshes all client, all menus to top level

POPULATE_TOP_LEVEL

Redoes the menu for the client that sent request

Home~Alias

Returns to home and loads the appropriate scene. Allows you to use the home button easily.


Pop Out Menus

In the MLMenu navigation designer, you can assign a button to be a "Popup" type button. This will allow for a submenu to be used on a MainLobby client scene.

To configure:

Put this MLServeCmd in the button's MLServeCmd field in MLMenu.

Macro|MLCmd|MLCommand~{{clientname}}~setProperty|RemoteFX2~y~0!MLCmd|MLCommand~{{clientname}}~setProperty|RemoteFX2~x~0!MLCmd|MLCommand~{{clientname}}~loadOverlayScene2~0019_nav_mlmenupopout.mls!MLCmd|MLCommand~{{clientname}}~setProperty|RemoteFX2~move~0~0~1

Select this button as a Popout type button.

Now, on the submenu underneath this Popout button, have one button to say "Close". Put this command in that button's MLServeCmd field (in MLMenu):

Macro|MLCmd|MLCommand~{{clientname}}~setProperty|layer~move~-1050~0!MLCmd|MLCommand~{{clientname}}~setProperty|layer~move~-1050~0

A button cannot be both a Back button and a Popup button type.

Variables

ClientName_Menu_#_Button_#_Display_Text

ClientName_Menu_#_Button_#_Id

ClientName_Menu_#_Menu_Id

ClientName_Menu_#_Current_Level

ClientName_Menu_#_Link_ID

ClientName_Menu_#_History

ClientName_Menu_#_Lastbutton

Bugs

New Feature Requests

Release Notes

September 1, 2008

New export feature now allows individual menus to be exported, and import allows them to be imported so users can share menus.

just have to select an empty menu and import, the plugin will take care of making all of the needed changes



May 4, 2008

Plugin updated for beta expiration.