Ballz.Logic.LogicControl.RegisterMenuEvents C# (CSharp) Method

RegisterMenuEvents() private method

private RegisterMenuEvents ( System.Item menu ) : void
menu System.Item
return void
        private void RegisterMenuEvents(Item menu)
        {
            if (menu == null)
                return;

            menu.BindSelectHandler<Composite>(c =>
            {
                activeMenu.Push(c);
                RaiseMessageEvent(new MenuMessage(activeMenu.Peek()));
            });

            menu.BindSelectHandler<Back>(b =>
            {
                activeMenu.Pop();
                RaiseMessageEvent(new MenuMessage(activeMenu.Peek()));
            });

            menu.BindSelectHandler<InputBox>(ib =>
            {
                rawInput = true;
                RaiseMessageEvent(new MenuMessage(ib));
            });

            menu.BindUnSelectHandler<Item>(i =>
            {
                if (!i.Selectable || !i.Active && !i.ActiveChanged)
                {
                    activeMenu.Pop();
                    RaiseMessageEvent(new MenuMessage(activeMenu.Peek()));
                }
            });
        }