public CraftingTab(GameState gameState, List <Recipe> recipies = null) : base(gameState) { Icon = new Sprite(Resources.TileIcons, new Point(4, 2)); CraftingList = new WidgetList { Dock = Dock.Fill, ItemHeight = 64, }; var craftButton = new WidgetButton { Text = "Craft", Dock = Dock.Bottom, }; craftButton.MouseClick += Craft; foreach (var recipe in recipies ?? RECIPIES.HandCrafted) { CraftingList.AddItem(new CraftingListItem(recipe, GameState.LocalPlayer.Entity.GetComponent <ComponentInventory>().Content)); } Content = new LayoutDock() { Padding = new Spacing(16), Children = { new WidgetLabel { Text = "Crafting", Font = Resources.FontAlagard, Dock = Dock.Top }, craftButton, CraftingList, } }; }
public TabLoadWorld() { Icon = new Sprite(Resources.TileIcons, new Point(2, 2)); var title = new WidgetLabel { Text = "Load World", Font = Resources.FontAlagard, Dock = Dock.Top }; var saveList = new WidgetList() { Dock = Dock.Fill }; var loadButton = new WidgetButton { Text = "Load", Dock = Dock.Bottom } .RegisterMouseClickEvent((sender) => { if (saveList.SelectedItem != null) { var item = (ListItemWorld)saveList.SelectedItem; Game.Play(item.WorldPath); } }); Content = new LayoutDock(); Content.AddChildren(title, loadButton, saveList); Content.Padding = new Spacing(16); var s = Directory.GetDirectories(Game.SavesFolder); foreach (var save in s) { saveList.AddItem(new ListItemWorld(Path.GetFileName(save), save)); } }
public TabNewWorld() { Icon = new Sprite(Resources.TileIcons, new Point(1, 2)); var worldNameTextBox = new WidgetTextBox() { Padding = new Spacing(8), Text = "new world" }; var worldSeedtextBox = new WidgetTextBox() { Padding = new Spacing(8), Text = Rise.Rnd.Next().ToString() }; var worldTypeList = new WidgetList() { UnitBound = new Rectangle(0, 0, 256, 128) }; foreach (var item in GENERATOR.GENERATORS) { worldTypeList.AddItem(new ListItemText(item.Key)); } worldTypeList.SelectFirst(); var generateButton = new WidgetButton { Text = "Generate", Dock = Dock.Bottom } .RegisterMouseClickEvent((s) => Game.New(worldNameTextBox.Text, worldSeedtextBox.Text, GENERATOR.GENERATORS[((ListItemText)worldTypeList.SelectedItem).Text])); var worldOptions = new LayoutFlow { Flow = LayoutFlowDirection.TopToBottom, Dock = Dock.Fill, Children = { new WidgetLabel { Text = "World name:", Padding = new Spacing(8), TextAlignement = TextAlignement.Left }, worldNameTextBox, new WidgetLabel { Text = "Seed:", Padding = new Spacing(8), TextAlignement = TextAlignement.Left }, worldSeedtextBox, new WidgetLabel { Text = "World type:", Padding = new Spacing(8), TextAlignement = TextAlignement.Left }, worldTypeList } }; Content = new LayoutDock() { Padding = new Spacing(16), Children = { new WidgetLabel { Text = "New World", Font = Resources.FontAlagard, Dock = Dock.Top }, generateButton, worldOptions, } }; }