Example #1
0
        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; };
        }
Example #2
0
 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;
 }