コード例 #1
0
        private void OKBtn_Click(object sender, EventArgs e)
        {
            this.fEntry.Name     = this.TitleBox.Text;
            this.fEntry.Category = this.CatBox.Text;
            this.fEntry.Details  = (this.DetailsBox.Text != this.DetailsBox.DefaultText ? this.DetailsBox.Text : "");
            this.fEntry.DMInfo   = (this.DMBox.Text != this.DMBox.DefaultText ? this.DMBox.Text : "");
            List <EncyclopediaLink> encyclopediaLinks = new List <EncyclopediaLink>();

            foreach (EncyclopediaLink link in Session.Project.Encyclopedia.Links)
            {
                if (!link.EntryIDs.Contains(this.fEntry.ID))
                {
                    continue;
                }
                encyclopediaLinks.Add(link);
            }
            foreach (EncyclopediaLink encyclopediaLink in encyclopediaLinks)
            {
                Session.Project.Encyclopedia.Links.Remove(encyclopediaLink);
            }
            foreach (ListViewItem checkedItem in this.EntryList.CheckedItems)
            {
                EncyclopediaEntry tag = checkedItem.Tag as EncyclopediaEntry;
                EncyclopediaLink  encyclopediaLink1 = new EncyclopediaLink();
                encyclopediaLink1.EntryIDs.Add(this.fEntry.ID);
                encyclopediaLink1.EntryIDs.Add(tag.ID);
                Session.Project.Encyclopedia.Links.Add(encyclopediaLink1);
            }
        }
コード例 #2
0
ファイル: PlotPointForm.cs プロジェクト: andyaiken/masterplan
        void update_encyclopedia_entries()
        {
            EncyclopediaList.BeginUpdate();

            EncyclopediaList.Items.Clear();
            foreach (Guid entry_id in fPoint.EncyclopediaEntryIDs)
            {
                EncyclopediaEntry entry = Session.Project.Encyclopedia.FindEntry(entry_id);
                if (entry == null)
                {
                    continue;
                }

                ListViewItem lvi = EncyclopediaList.Items.Add(entry.Name);
                lvi.Tag = entry;
            }

            if (EncyclopediaList.Items.Count == 0)
            {
                ListViewItem lvi = EncyclopediaList.Items.Add("(no encyclopedia entries)");
                lvi.ForeColor = SystemColors.GrayText;
            }

            EncyclopediaList.EndUpdate();
        }
コード例 #3
0
        private void OKBtn_Click(object sender, EventArgs e)
        {
            fEntry.Name     = TitleBox.Text;
            fEntry.Category = CatBox.Text;
            fEntry.Details  = (DetailsBox.Text != DetailsBox.DefaultText) ? DetailsBox.Text : "";
            fEntry.DMInfo   = (DMBox.Text != DMBox.DefaultText) ? DMBox.Text : "";

            // Remove all links containing this entry
            List <EncyclopediaLink> obsolete = new List <EncyclopediaLink>();

            foreach (EncyclopediaLink link in Session.Project.Encyclopedia.Links)
            {
                if (link.EntryIDs.Contains(fEntry.ID))
                {
                    obsolete.Add(link);
                }
            }
            foreach (EncyclopediaLink link in obsolete)
            {
                Session.Project.Encyclopedia.Links.Remove(link);
            }

            // Add the required links
            foreach (ListViewItem lvi in EntryList.CheckedItems)
            {
                EncyclopediaEntry ee = lvi.Tag as EncyclopediaEntry;

                EncyclopediaLink link = new EncyclopediaLink();
                link.EntryIDs.Add(fEntry.ID);
                link.EntryIDs.Add(ee.ID);

                Session.Project.Encyclopedia.Links.Add(link);
            }
        }
コード例 #4
0
ファイル: HandoutForm.cs プロジェクト: andyaiken/masterplan
        void Application_Idle(object sender, EventArgs e)
        {
            AddBtn.Enabled    = (SelectedSource != null);
            AddAllBtn.Enabled = SourceList.ShowGroups;
            RemoveBtn.Enabled = (SelectedItem != null);
            ClearBtn.Enabled  = (fItems.Count != 0);

            UpBtn.Enabled   = ((SelectedItem != null) && (fItems.IndexOf(SelectedItem) != 0));
            DownBtn.Enabled = ((SelectedItem != null) && (fItems.IndexOf(SelectedItem) != fItems.Count - 1));

            ExportBtn.Enabled     = (fItems.Count != 0);
            PlayerViewBtn.Enabled = (fItems.Count != 0);

            bool has_dm_entries = false;

            foreach (object item in fItems)
            {
                if (item is EncyclopediaEntry)
                {
                    EncyclopediaEntry entry = item as EncyclopediaEntry;
                    if (entry.DMInfo != "")
                    {
                        has_dm_entries = true;
                        break;
                    }
                }
            }

            DMInfoBtn.Enabled = has_dm_entries;
            DMInfoBtn.Checked = fShowDMInfo;
        }
コード例 #5
0
        private void EncEntryBtn_Click(object sender, EventArgs e)
        {
            if (this.SelectedCreature == null && this.SelectedNPC == null)
            {
                return;
            }
            Guid              guid = (this.SelectedNPC != null ? this.SelectedNPC.ID : this.SelectedCreature.ID);
            string            str  = (this.SelectedNPC != null ? this.SelectedNPC.Name : this.SelectedCreature.Name);
            string            str1 = (this.SelectedNPC != null ? "People" : "Creatures");
            EncyclopediaEntry encyclopediaEntry = Session.Project.Encyclopedia.FindEntryForAttachment(guid);

            if (encyclopediaEntry == null)
            {
                if (MessageBox.Show(string.Concat(string.Concat(string.Concat("There is no encyclopedia entry associated with ", str, "."), Environment.NewLine), "Would you like to create one now?"), "Masterplan", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.No)
                {
                    return;
                }
                encyclopediaEntry = new EncyclopediaEntry()
                {
                    Name         = str,
                    AttachmentID = guid,
                    Category     = str1
                };
                Session.Project.Encyclopedia.Entries.Add(encyclopediaEntry);
                Session.Modified = true;
            }
            int entry = Session.Project.Encyclopedia.Entries.IndexOf(encyclopediaEntry);
            EncyclopediaEntryForm encyclopediaEntryForm = new EncyclopediaEntryForm(encyclopediaEntry);

            if (encyclopediaEntryForm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                Session.Project.Encyclopedia.Entries[entry] = encyclopediaEntryForm.Entry;
                Session.Modified = true;
            }
        }
コード例 #6
0
ファイル: HeroListForm.cs プロジェクト: cmdrmander/Manderplan
        private void EntryBtn_Click(object sender, EventArgs e)
        {
            if (this.SelectedHero == null)
            {
                return;
            }
            EncyclopediaEntry encyclopediaEntry = Session.Project.Encyclopedia.FindEntryForAttachment(this.SelectedHero.ID);

            if (encyclopediaEntry == null)
            {
                if (MessageBox.Show(string.Concat(string.Concat("There is no encyclopedia entry associated with this PC.", Environment.NewLine), "Would you like to create one now?"), "Masterplan", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.No)
                {
                    return;
                }
                encyclopediaEntry = new EncyclopediaEntry()
                {
                    Name         = this.SelectedHero.Name,
                    AttachmentID = this.SelectedHero.ID,
                    Category     = "People"
                };
                Session.Project.Encyclopedia.Entries.Add(encyclopediaEntry);
                Session.Modified = true;
            }
            int entry = Session.Project.Encyclopedia.Entries.IndexOf(encyclopediaEntry);
            EncyclopediaEntryForm encyclopediaEntryForm = new EncyclopediaEntryForm(encyclopediaEntry);

            if (encyclopediaEntryForm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                Session.Project.Encyclopedia.Entries[entry] = encyclopediaEntryForm.Entry;
                Session.Modified = true;
            }
        }
コード例 #7
0
 public EncyclopediaEntryDetailsForm(EncyclopediaEntry entry)
 {
     this.InitializeComponent();
     Application.Idle += new EventHandler(this.Application_Idle);
     this.fEntry       = entry;
     this.update_entry();
 }
コード例 #8
0
 private void OKBtn_Click(object sender, EventArgs e)
 {
     this.fGroup.Name = this.TitleBox.Text;
     this.fGroup.EntryIDs.Clear();
     foreach (ListViewItem checkedItem in this.EntryList.CheckedItems)
     {
         EncyclopediaEntry tag = checkedItem.Tag as EncyclopediaEntry;
         this.fGroup.EntryIDs.Add(tag.ID);
     }
 }
コード例 #9
0
 public void Initialize(EncyclopediaEntry entry, OpenBookMenu bookMenu)
 {
     gameObject.SetActive(true);
     this.entry        = entry;
     background.sprite = entry.GetBackground;
     icon.sprite       = entry.GetIcon;
     this.bookMenu     = bookMenu;
     border.sprite     = borderList[entry.GetTier - 1];
     button.onClick.RemoveAllListeners();
     button.onClick.AddListener(() => { this.bookMenu.SetRightPage(this.entry); });
 }
コード例 #10
0
        private void OKBtn_Click(object sender, EventArgs e)
        {
            fGroup.Name = TitleBox.Text;

            fGroup.EntryIDs.Clear();
            foreach (ListViewItem lvi in EntryList.CheckedItems)
            {
                EncyclopediaEntry ee = lvi.Tag as EncyclopediaEntry;
                fGroup.EntryIDs.Add(ee.ID);
            }
        }
コード例 #11
0
        public EncyclopediaEntryForm(EncyclopediaEntry entry)
        {
            InitializeComponent();

            Application.Idle += new EventHandler(Application_Idle);

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

            bst.Add("People");
            bst.Add("Places");
            bst.Add("Things");
            bst.Add("History");
            bst.Add("Culture");
            bst.Add("Geography");
            bst.Add("Organisations");

            foreach (EncyclopediaEntry ee in Session.Project.Encyclopedia.Entries)
            {
                if ((ee.Category != null) && (ee.Category != ""))
                {
                    bst.Add(ee.Category);
                }
            }
            CatBox.Items.AddRange(bst.SortedList.ToArray());

            fEntry = entry.Copy();

            TitleBox.Text   = fEntry.Name;
            CatBox.Text     = fEntry.Category;
            DetailsBox.Text = fEntry.Details;
            DMBox.Text      = fEntry.DMInfo;

            foreach (EncyclopediaEntry ee in Session.Project.Encyclopedia.Entries)
            {
                if (ee.ID == fEntry.ID)
                {
                    continue;
                }

                ListViewItem lvi = EntryList.Items.Add(ee.Name);
                lvi.Tag     = ee;
                lvi.Checked = (Session.Project.Encyclopedia.FindLink(fEntry.ID, ee.ID) != null);
            }

            if (EntryList.Items.Count == 0)
            {
                ListViewItem lvi = EntryList.Items.Add("(no entries)");
                lvi.ForeColor = SystemColors.GrayText;

                EntryList.CheckBoxes = false;
            }

            update_pictures();
        }
コード例 #12
0
 public void SetRightPage(EncyclopediaEntry entry)
 {
     background.sprite       = entry.GetBackground;
     icon.sprite             = entry.GetIcon;
     title.text              = entry.GetEnemyName;
     health.text             = entry.GetHealth.ToString();
     armour.text             = entry.GetArmour.ToString();
     range.text              = entry.GetRange;
     damage.text             = entry.GetDamage.ToString();
     movementType.text       = entry.GetMovementType;
     speed.text              = entry.GetSpeed.ToString();
     description.text        = entry.GetDescription;
     dungeonInteraction.text = entry.GetDungeonInteraction;
     // implement killText
     quipButton.onClick.RemoveAllListeners();
     quipButton.onClick.AddListener(() => { PlayerProperties.tutorialWidgetMenu.Initialize(entry.GetQuip); });
 }
コード例 #13
0
        public EncyclopediaEntryForm(EncyclopediaEntry entry)
        {
            this.InitializeComponent();
            Application.Idle += new EventHandler(this.Application_Idle);
            BinarySearchTree <string> binarySearchTree = new BinarySearchTree <string>();

            binarySearchTree.Add("People");
            binarySearchTree.Add("Places");
            binarySearchTree.Add("Things");
            binarySearchTree.Add("History");
            binarySearchTree.Add("Culture");
            binarySearchTree.Add("Geography");
            binarySearchTree.Add("Organisations");
            foreach (EncyclopediaEntry encyclopediaEntry in Session.Project.Encyclopedia.Entries)
            {
                if (encyclopediaEntry.Category == null || !(encyclopediaEntry.Category != ""))
                {
                    continue;
                }
                binarySearchTree.Add(encyclopediaEntry.Category);
            }
            this.CatBox.Items.AddRange(binarySearchTree.SortedList.ToArray());
            this.fEntry          = entry.Copy();
            this.TitleBox.Text   = this.fEntry.Name;
            this.CatBox.Text     = this.fEntry.Category;
            this.DetailsBox.Text = this.fEntry.Details;
            this.DMBox.Text      = this.fEntry.DMInfo;
            foreach (EncyclopediaEntry encyclopediaEntry1 in Session.Project.Encyclopedia.Entries)
            {
                if (encyclopediaEntry1.ID == this.fEntry.ID)
                {
                    continue;
                }
                ListViewItem listViewItem = this.EntryList.Items.Add(encyclopediaEntry1.Name);
                listViewItem.Tag     = encyclopediaEntry1;
                listViewItem.Checked = Session.Project.Encyclopedia.FindLink(this.fEntry.ID, encyclopediaEntry1.ID) != null;
            }
            if (this.EntryList.Items.Count == 0)
            {
                ListViewItem grayText = this.EntryList.Items.Add("(no entries)");
                grayText.ForeColor        = SystemColors.GrayText;
                this.EntryList.CheckBoxes = false;
            }
            this.update_pictures();
        }
コード例 #14
0
        private void EncEntryBtn_Click(object sender, EventArgs e)
        {
            if ((SelectedCreature == null) && (SelectedNPC == null))
            {
                return;
            }

            Guid   id   = (SelectedNPC != null) ? SelectedNPC.ID : SelectedCreature.ID;
            string name = (SelectedNPC != null) ? SelectedNPC.Name : SelectedCreature.Name;
            string cat  = (SelectedNPC != null) ? "People" : "Creatures";

            EncyclopediaEntry entry = Session.Project.Encyclopedia.FindEntryForAttachment(id);

            if (entry == null)
            {
                // If there is no entry, ask to create it
                string msg = "There is no encyclopedia entry associated with " + name + ".";
                msg += Environment.NewLine;
                msg += "Would you like to create one now?";
                if (MessageBox.Show(msg, "Masterplan", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                {
                    return;
                }

                entry              = new EncyclopediaEntry();
                entry.Name         = name;
                entry.AttachmentID = id;
                entry.Category     = cat;

                Session.Project.Encyclopedia.Entries.Add(entry);
                Session.Modified = true;
            }

            // Edit the entry
            int index = Session.Project.Encyclopedia.Entries.IndexOf(entry);
            EncyclopediaEntryForm dlg = new EncyclopediaEntryForm(entry);

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                Session.Project.Encyclopedia.Entries[index] = dlg.Entry;
                Session.Modified = true;
            }
        }
コード例 #15
0
        private void LocationEntry_Click(object sender, EventArgs e)
        {
            if (MapPanel.SelectedLocation == null)
            {
                return;
            }

            EncyclopediaEntry entry = Session.Project.Encyclopedia.FindEntryForAttachment(MapPanel.SelectedLocation.ID);

            if (entry == null)
            {
                // If there is no entry, ask to create it
                string msg = "There is no encyclopedia entry associated with this location.";
                msg += Environment.NewLine;
                msg += "Would you like to create one now?";
                if (MessageBox.Show(msg, "Masterplan", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                {
                    return;
                }

                entry              = new EncyclopediaEntry();
                entry.Name         = MapPanel.SelectedLocation.Name;
                entry.AttachmentID = MapPanel.SelectedLocation.ID;
                entry.Category     = MapPanel.SelectedLocation.Category;
                if (entry.Category == "")
                {
                    entry.Category = "Places";
                }

                Session.Project.Encyclopedia.Entries.Add(entry);
                Session.Modified = true;
            }

            // Edit the entry
            int index = Session.Project.Encyclopedia.Entries.IndexOf(entry);
            EncyclopediaEntryForm dlg = new EncyclopediaEntryForm(entry);

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                Session.Project.Encyclopedia.Entries[index] = dlg.Entry;
                Session.Modified = true;
            }
        }