コード例 #1
0
        private static void Main()
        {
            tabView = new TabView("A RAGENativeUI Pause Menu");
            tabView.MoneySubtitle = "$10.000.000";
            tabView.Name          = "Here goes the Name! :D";

            Dictionary <string, string> listDict = new Dictionary <string, string>()
            {
                { "First Item", "Text filler" },
                { "Second Item", "Hey, here there's some text" },
                { "Third Item", "Duh!" },
            };

            tabView.AddTab(simpleListTab = new TabItemSimpleList("A List", listDict));
            simpleListTab.Activated     += (s, e) => Game.DisplaySubtitle("I'm in the simple list tab", 5000);

            List <MissionInformation> missionsInfo = new List <MissionInformation>()
            {
                new MissionInformation("Mission One", new Tuple <string, string>[] { new Tuple <string, string>("This the first info", "Random Info"), new Tuple <string, string>("This the second info", "Random Info #2") })
                {
                    Logo = new MissionLogo(Game.CreateTextureFromFile("DefaultSkin.png"))
                },
                new MissionInformation("Mission Two", "I have description!", new Tuple <string, string>[] { new Tuple <string, string>("Objective", "Mission Two Objective") }),
            };

            tabView.AddTab(missionSelectTab = new TabMissionSelectItem("I'm a Mission Select Tab", missionsInfo));
            missionSelectTab.OnItemSelect  += (info) =>
            {
                if (info.Name == "Mission One")
                {
                    Game.DisplaySubtitle("~g~Mission One Activated", 5000);
                }
                else if (info.Name == "Mission Two")
                {
                    Game.DisplaySubtitle("~b~Mission Two Activated", 5000);
                }
            };


            tabView.AddTab(textTab = new TabTextItem("TabTextItem", "Text Tab Item", "I'm a text tab item"));
            textTab.Activated     += (s, e) => Game.DisplaySubtitle("I'm in the text tab", 5000);

            List <TabItem> items = new List <TabItem>();

            for (int i = 0; i < 10; i++)
            {
                TabItem tItem = i < 5 ? (TabItem) new TabTextItem("Item #" + i, "Title #" + i, "Some random text for #" + i) :
                                (TabItem) new TabInteractiveListItem("Item #" + i, CreateMenuItems());

                tItem.Activated += (s, e) => Game.DisplaySubtitle("Activated Submenu Item #" + submenuTab.Index, 5000);
                items.Add(tItem);
            }
            tabView.AddTab(submenuTab = new TabSubmenuItem("A submenu", items));

            UIMenuItem[] menuItems = CreateMenuItems();
            menuItems[0].Activated += (m, s) => Game.DisplaySubtitle("Activated first item!");
            TabInteractiveListItem interactiveListItem = new TabInteractiveListItem("An Interactive List", menuItems);

            // set fast scrolling on scroller item with a slider bar (see MenuExtensions.cs)
            interactiveListItem.BackingMenu.WithFastScrollingOn(menuItems.Where(i => i is UIMenuScrollerItem s && s.SliderBar != null));
            interactiveListItem.BackingMenu.OnIndexChange += (m, i) => Game.DisplaySubtitle("Selected #" + i);
            tabView.AddTab(interactiveListItem);

            tabView.RefreshIndex();

            // start the fiber which will handle drawing and processing the pause menu
            GameFiber.StartNew(ProcessMenus);

            // continue with the plugin...
            Game.Console.Print($"  Press {KeyBinding} to open the pause menu.");
            Game.DisplayHelp($"Press ~{KeyBinding.GetInstructionalId()}~ to open the pause menu.");
        }
コード例 #2
0
        public static void Main()
        {
            Game.FrameRender += Process;

            tabView = new TabView("A RAGENativeUI Pause Menu");
            tabView.MoneySubtitle = "$10.000.000";
            tabView.Name          = "Here goes the Name! :D";

            Dictionary <string, string> listDict = new Dictionary <string, string>()
            {
                { "First Item", "Text filler" },
                { "Second Item", "Hey, here there's some text" },
                { "Third Item", "Duh!" },
            };

            tabView.AddTab(simpleListTab = new TabItemSimpleList("A List", listDict));
            simpleListTab.Activated     += SimpleListTab_Activated;

            List <MissionInformation> missionsInfo = new List <MissionInformation>()
            {
                new MissionInformation("Mission One", new Tuple <string, string>[] { new Tuple <string, string>("This the first info", "Random Info"), new Tuple <string, string>("This the second info", "Random Info #2") })
                {
                    Logo = new MissionLogo(Game.CreateTextureFromFile("DefaultSkin.png"))
                },
                new MissionInformation("Mission Two", "I have description!", new Tuple <string, string>[] { new Tuple <string, string>("Objective", "Mission Two Objective") }),
            };

            tabView.AddTab(missionSelectTab = new TabMissionSelectItem("I'm a Mission Select Tab", missionsInfo));
            missionSelectTab.OnItemSelect  += MissionSelectTab_OnItemSelect;


            tabView.AddTab(textTab = new TabTextItem("TabTextItem", "Text Tab Item", "I'm a text tab item"));
            textTab.Activated     += TextTab_Activated;

            List <TabItem> items = new List <TabItem>();

            for (int i = 0; i < 10; i++)
            {
                TabTextItem tItem = new TabTextItem("Item #" + i, "Title #" + i, "Some random text for #" + i);

                tItem.Activated += SubMenuItem_Activated;
                items.Add(tItem);
            }
            tabView.AddTab(submenuTab = new TabSubmenuItem("A submenu", items));

            List <UIMenuItem> menuItems = new List <UIMenuItem>()
            {
                new UIMenuItem("First MenuItem!", ""),
                new UIMenuCheckboxItem("A Checkbox", true),
                new UIMenuListItem("List", new List <dynamic>()
                {
                    "something",
                    new Vector3(5, 0, 5),
                    10,
                    5,
                    false,
                }, 0),
            };
            TabInteractiveListItem interactiveListItem = new TabInteractiveListItem("An Interactive List", menuItems);

            tabView.AddTab(interactiveListItem);

            tabView.RefreshIndex();

            while (true)
            {
                GameFiber.Yield();
            }
        }
コード例 #3
0
ファイル: MenuExample.cs プロジェクト: nitvik/NativeUI
    public async void OpenCustomPauseMenu()
    {
        TabView MenuContainer = new TabView("This is the title", "Subtitle");

        MenuContainer.SideStringTop    = "Player_Name";
        MenuContainer.SideStringMiddle = "Middle_String";
        MenuContainer.SideStringBottom = "Bottom_string";
        MenuContainer.DisplayHeader    = true;
        _menuPool.AddPauseMenu(MenuContainer);


        TabItem Item1 = new TabItem("simple TabItem");

        TabTextItem Item2 = new TabTextItem("TabTextItem", "This is the Title inside", "With a cool text to be added where you can write whatever you want");

        TabItemSimpleList Item3 = new TabItemSimpleList("TabItemSimpleList", new Dictionary <string, string>()
        {
            ["Item 1"] = "subItem 1",
            ["Item 2"] = "subItem 2",
            ["Item 3"] = "subItem 3",
            ["Item 4"] = "subItem 4",
            ["Item 5"] = "subItem 5",
            ["Item 6"] = "subItem 6"
        });


        List <UIMenuItem> items = new List <UIMenuItem>()
        {
            new UIMenuItem("Item 1"),
            new UIMenuCheckboxItem("Item 2", true),
            new UIMenuListItem("Item 3", new List <dynamic>()
            {
                "Item1", 2, 3.0999
            }, 0),
            new UIMenuSliderItem("Item 4", "", true),
            new UIMenuSliderProgressItem("Item 5", 20, 0),
        };

        TabInteractiveListItem    Item4 = new TabInteractiveListItem("TabInteractiveListItem", items);
        List <MissionInformation> info  = new List <MissionInformation>()
        {
            new MissionInformation("Mission 1", new List <Tuple <string, string> >()
            {
                new Tuple <string, string>("item 1", "description 1"),
                new Tuple <string, string>("item 2", "description 2"),
                new Tuple <string, string>("item 3", "description 3"),
                new Tuple <string, string>("item 4", "description 4"),
                new Tuple <string, string>("item 5", "description 5"),
            }),
            new MissionInformation("Mission 2", new List <Tuple <string, string> >()
            {
                new Tuple <string, string>("item 1", "description 1"),
                new Tuple <string, string>("item 2", "description 2"),
                new Tuple <string, string>("item 3", "description 3"),
                new Tuple <string, string>("item 4", "description 4"),
                new Tuple <string, string>("item 5", "description 5"),
            }),
        };
        TabSubmenuItem Item5 = new TabSubmenuItem("TabSubmenuItem", new List <TabItem>()
        {
            new TabItem("simple TabItem"),
            new TabTextItem("TabTextItem", "This is the Title inside", "With a cool text to be added where you can write whatever you want"),
            new TabItemSimpleList("TabItemSimpleList", new Dictionary <string, string>()
            {
                ["Item 1"] = "subItem 1",
                ["Item 2"] = "subItem 2",
                ["Item 3"] = "subItem 3",
                ["Item 4"] = "subItem 4",
                ["Item 5"] = "subItem 5",
                ["Item 6"] = "subItem 6"
            }),
            new TabMissionSelectItem("Mission tab", info),
            new TabInteractiveListItem("TabInteractiveListItem", items)
        });
        TabMissionSelectItem Item6 = new TabMissionSelectItem("Mission tab", info);

        MenuContainer.AddTab(Item1);
        MenuContainer.AddTab(Item2);
        MenuContainer.AddTab(Item3);
        MenuContainer.AddTab(Item4);
        MenuContainer.AddTab(Item5);
        MenuContainer.AddTab(Item6);
        // this way we can choose which tab is the defualt one
        Item1.Active          = true;
        Item1.Focused         = true;
        Item1.Visible         = true;
        MenuContainer.Visible = true;
        // items have events exactly the same as UIMenuItems and you can handle TabInteractiveListItem items just like that
    }