Esempio n. 1
0
        protected async Task <MagicSpell> MagicMenu(IList <MagicSpell> magics)
        {
            MenuItemList menu = new MenuItemList("Nothing");

            menu.AddRange(magics.Select(x => x.Name));

            int choice = await SubMenu.SubMenu("Pick magic", 0, menu);

            if (choice == 0)
            {
                await TextArea.PrintLine("Select no magic.", XleColor.White);

                return(null);
            }

            return(magics[choice - 1]);
        }
Esempio n. 2
0
        public async Task <WeaponItem> PickWeapon(GameState state, WeaponItem defaultItem, Color?backColor = null)
        {
            MenuItemList theList = new MenuItemList();

            theList.Add("Nothing");
            theList.AddRange(state.Player.Weapons.Select(x => x.NameWithQuality(Data)));

            int sel = await subMenu.SubMenu("Pick Weapon", state.Player.Weapons.IndexOf(defaultItem) + 1,
                                            theList, backColor ?? XleColor.Black);

            if (sel == 0)
            {
                return(null);
            }
            else
            {
                return(state.Player.Weapons[sel - 1]);
            }
        }