private void TechnologyListItemSelected(ScreenItemList list, ScreenItemListItem item) { if (_playerGame.CurrentResearch.Count >= 3) { return; } Research research = (Research)item.AttachedInformation; ScreenItemDialog researchDialog = new ScreenItemDialog(controls.Game, skin, research.Name, true); researchDialog.AttachedInformation = research; researchDialog.Items.Add(new ScreenItemImage(controls.Game, skin, 250, 5, research.Icon)); ScreenItemButton researchButton = new ScreenItemButton(controls.Game, skin, 250 + (float)((research.Icon.Width - 125) / 2), research.Icon.Height + 10, 125, 20, "Begin Research"); researchButton.OnClick += delegate(ScreenItem screenItem, MouseEventArgs args) { item.Enabled = false; _playerGame.BeginResearch(research); ReassignResearchProgressBars(); researchDialog.Close(); }; researchDialog.Items.Add(researchButton); ScreenItemLabel description = new ScreenItemLabel(controls.Game, skin, 5, 5, 10, 240, research.Description); description.TextAlignment = ScreenItemTextAlignment.Center; researchDialog.Items.Add(description); controls.OpenDialog = researchDialog; researchDialog.Closed += delegate() { controls.OpenDialog = null; }; }
private void RefreshResearchOpportunities() { if (controls.TechnologyList.Open) controls.TechnologyList.ToggleListOpen(); controls.TechnologyList.Enabled = false; controls.TechnologyList.Items.Clear(); foreach (Research research in _playerGame.AvailableResearches) { ScreenItemListItem listItem = new ScreenItemListItem(research.Name, research); listItem.Enabled = !research.Completed; controls.TechnologyList.Items.Add(listItem); } controls.TechnologyList.Enabled = true; controls.NewTechnologyNotice.Reset(); controls.NewTechnologyNotice.Visible = true; }