void update_list()
        {
            CreatureList.Groups.Clear();
            CreatureList.Items.Clear();

            List <EncounterCard> cards = null;

            if (fCreatures != null)
            {
                cards = new List <EncounterCard>();
                foreach (Creature creature in fCreatures)
                {
                    cards.Add(new EncounterCard(creature.ID));
                }
            }
            else
            {
                cards = EncounterBuilder.FindCreatures(fTemplateSlot, fLevel, NameBox.Text);
            }

            BinarySearchTree <string> bst = new BinarySearchTree <string>();

            foreach (EncounterCard card in cards)
            {
                ICreature c = Session.FindCreature(card.CreatureID, SearchType.Global);
                bst.Add(c.Category);
            }

            List <string> cats = bst.SortedList;

            cats.Add("Miscellaneous Creatures");
            foreach (string cat in cats)
            {
                CreatureList.Groups.Add(cat, cat);
            }

            foreach (EncounterCard card in cards)
            {
                ICreature c = Session.FindCreature(card.CreatureID, SearchType.Global);

                ListViewItem lvi = CreatureList.Items.Add(card.Title);
                lvi.SubItems.Add(card.Info);
                lvi.Tag = card;

                if ((c.Category != null) && (c.Category != ""))
                {
                    lvi.Group = CreatureList.Groups[c.Category];
                }
                else
                {
                    lvi.Group = CreatureList.Groups["Miscellaneous Creatures"];
                }
            }
        }
        private void update_list()
        {
            this.CreatureList.Groups.Clear();
            this.CreatureList.Items.Clear();
            List <EncounterCard> encounterCards = null;

            if (this.fCreatures == null)
            {
                encounterCards = EncounterBuilder.FindCreatures(this.fTemplateSlot, this.fLevel, this.NameBox.Text);
            }
            else
            {
                encounterCards = new List <EncounterCard>();
                foreach (Masterplan.Data.Creature fCreature in this.fCreatures)
                {
                    encounterCards.Add(new EncounterCard(fCreature.ID));
                }
            }
            BinarySearchTree <string> binarySearchTree = new BinarySearchTree <string>();

            foreach (EncounterCard encounterCard in encounterCards)
            {
                ICreature creature = Session.FindCreature(encounterCard.CreatureID, SearchType.Global);
                binarySearchTree.Add(creature.Category);
            }
            List <string> sortedList = binarySearchTree.SortedList;

            sortedList.Add("Miscellaneous Creatures");
            foreach (string str in sortedList)
            {
                this.CreatureList.Groups.Add(str, str);
            }
            foreach (EncounterCard encounterCard1 in encounterCards)
            {
                ICreature    creature1 = Session.FindCreature(encounterCard1.CreatureID, SearchType.Global);
                ListViewItem item      = this.CreatureList.Items.Add(encounterCard1.Title);
                item.SubItems.Add(encounterCard1.Info);
                item.Tag = encounterCard1;
                if (creature1.Category == null || !(creature1.Category != ""))
                {
                    item.Group = this.CreatureList.Groups["Miscellaneous Creatures"];
                }
                else
                {
                    item.Group = this.CreatureList.Groups[creature1.Category];
                }
            }
        }
Example #3
0
        private void AutoBuildBtn_Click(object sender, EventArgs e)
        {
            AutoBuildForm autoBuildForm = new AutoBuildForm(AutoBuildForm.Mode.Deck);

            if (autoBuildForm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                EncounterDeck encounterDeck = EncounterBuilder.BuildDeck(autoBuildForm.Data.Level, autoBuildForm.Data.Categories, autoBuildForm.Data.Keywords);
                if (encounterDeck != null)
                {
                    this.fDeck          = encounterDeck;
                    this.LevelBox.Value = this.fDeck.Level;
                    this.DeckView.Deck  = this.fDeck;
                    this.DeckView_SelectedCellChanged(null, null);
                }
            }
        }
Example #4
0
        private void AutoBuildBtn_Click(object sender, EventArgs e)
        {
            AutoBuildForm dlg = new AutoBuildForm(AutoBuildForm.Mode.Deck);

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                EncounterDeck deck = EncounterBuilder.BuildDeck(dlg.Data.Level, dlg.Data.Categories, dlg.Data.Keywords);
                if (deck != null)
                {
                    fDeck = deck;

                    LevelBox.Value = fDeck.Level;
                    DeckView.Deck  = fDeck;
                    DeckView_SelectedCellChanged(null, null);
                }
            }
        }
Example #5
0
        public AutoBuildForm(Mode mode)
        {
            InitializeComponent();

            fData = new AutoBuildData();
            fMode = mode;

            init_options();

            switch (fMode)
            {
            case Mode.Encounter:
            {
                TemplateBox.Items.Add(RANDOM);
                List <string> names = EncounterBuilder.FindTemplateNames();
                foreach (string name in names)
                {
                    TemplateBox.Items.Add(name);
                }
                TemplateBox.SelectedItem = (fData.Type != "") ? fData.Type : RANDOM;

                DiffBox.Items.Add(Difficulty.Random);
                DiffBox.Items.Add(Difficulty.Easy);
                DiffBox.Items.Add(Difficulty.Moderate);
                DiffBox.Items.Add(Difficulty.Hard);
                DiffBox.SelectedItem = fData.Difficulty;

                LevelBox.Value = fData.Level;
                update_cats();
            }
            break;

            case Mode.Delve:
            {
                TemplateLbl.Enabled = false;
                TemplateBox.Enabled = false;
                TemplateBox.Items.Add("(not applicable)");
                TemplateBox.SelectedIndex = 0;

                DiffLbl.Enabled = false;
                DiffBox.Enabled = false;
                DiffBox.Items.Add("(not applicable)");
                DiffBox.SelectedIndex = 0;

                LevelBox.Value = fData.Level;
                update_cats();
            }
            break;

            case Mode.Deck:
            {
                TemplateLbl.Enabled = false;
                TemplateBox.Enabled = false;
                TemplateBox.Items.Add("(not applicable)");
                TemplateBox.SelectedIndex = 0;

                DiffLbl.Enabled = false;
                DiffBox.Enabled = false;
                DiffBox.Items.Add("(not applicable)");
                DiffBox.SelectedIndex = 0;

                LevelBox.Value = fData.Level;
                update_cats();
            }
            break;
            }
        }
Example #6
0
 public void InitEncounterBuilder(EncounterBuilder e) => encounterBuilder = e;
Example #7
0
        public AutoBuildForm(AutoBuildForm.Mode mode)
        {
            this.InitializeComponent();
            this.fData = new AutoBuildData();
            this.fMode = mode;
            this.init_options();
            switch (this.fMode)
            {
            case AutoBuildForm.Mode.Encounter:
            {
                this.TemplateBox.Items.Add("Random");
                foreach (string str in EncounterBuilder.FindTemplateNames())
                {
                    this.TemplateBox.Items.Add(str);
                }
                this.TemplateBox.SelectedItem = (this.fData.Type != "" ? this.fData.Type : "Random");
                this.DiffBox.Items.Add(Difficulty.Random);
                this.DiffBox.Items.Add(Difficulty.Easy);
                this.DiffBox.Items.Add(Difficulty.Moderate);
                this.DiffBox.Items.Add(Difficulty.Hard);
                this.DiffBox.SelectedItem = this.fData.Difficulty;
                this.LevelBox.Value       = this.fData.Level;
                this.update_cats();
                return;
            }

            case AutoBuildForm.Mode.Delve:
            {
                this.TemplateLbl.Enabled = false;
                this.TemplateBox.Enabled = false;
                this.TemplateBox.Items.Add("(not applicable)");
                this.TemplateBox.SelectedIndex = 0;
                this.DiffLbl.Enabled           = false;
                this.DiffBox.Enabled           = false;
                this.DiffBox.Items.Add("(not applicable)");
                this.DiffBox.SelectedIndex = 0;
                this.LevelBox.Value        = this.fData.Level;
                this.update_cats();
                return;
            }

            case AutoBuildForm.Mode.Deck:
            {
                this.TemplateLbl.Enabled = false;
                this.TemplateBox.Enabled = false;
                this.TemplateBox.Items.Add("(not applicable)");
                this.TemplateBox.SelectedIndex = 0;
                this.DiffLbl.Enabled           = false;
                this.DiffBox.Enabled           = false;
                this.DiffBox.Items.Add("(not applicable)");
                this.DiffBox.SelectedIndex = 0;
                this.LevelBox.Value        = this.fData.Level;
                this.update_cats();
                return;
            }

            default:
            {
                return;
            }
            }
        }