Exemple #1
0
 public Dungeon(DungeonData data, SharedData sdata)
     : base(sdata)
 {
     characters = data.characters;
     target = data.target;
     field = data.field;
     message = data.message;
     items = data.items;
 }
        /// <summary>
        /// Converts the font count to its string representation
        /// </summary>
        /// <param name="context"></param>
        /// <param name="culture"></param>
        /// <param name="value"></param>
        /// <param name="destinationType"></param>
        /// <returns></returns>
        public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
        {
            if (destinationType == typeof(string))
            {
                UI.Actions.MessageAction messageAction = context.Instance as UI.Actions.MessageAction;
                if (messageAction != null)
                {
                    UI.Message message = messageAction.Scene.GetMessage(messageAction.Message);
                    if (message != null)
                    {
                        return(message.Text);
                    }
                }
            }

            return("None");
        }
Exemple #3
0
        /// <summary>
        /// Removes a message from the global message list as well as from
        /// views.
        /// </summary>
        /// <param name="id"></param>
        public void RemoveMessage(int id)
        {
            UI.Message message = GetMessage(id);
            mMessages.Remove(message);

            foreach (GUIView view in Views)
            {
                foreach (GUIAnimation animation in view.Animations)
                {
                    foreach (MainChannelFrame mainChannelFrame in animation.MainChannelFrames)
                    {
                        mainChannelFrame.Actions.RemoveAll((a) => (a is Actions.MessageAction && ((Actions.MessageAction)a).Message == id));
                    }

                    animation.MainChannelFrames.RemoveAll((al) => (al.Actions.Count == 0));
                }
            }
        }
Exemple #4
0
        /// <summary>
        /// ToString override
        /// </summary>
        /// <returns></returns>
        public override string ToString()
        {
            if (this.Scene != null)
            {
                UI.Message message = this.Scene.GetMessage(mMessageID);

                if (message != null)
                {
                    return("Send Message : '" + message + "'");
                }
                else
                {
                    return("Send Message : '<nil>'");
                }
            }

            return("Send Message ID : " + mMessageID);
        }
Exemple #5
0
        /// <summary>
        /// Removes the current selection
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void mRemoveButton_Click(object sender, EventArgs e)
        {
            DialogResult res = MessageBox.Show(Otter.Properties.Resources.DELETE_MESSAGES,
                                               Otter.Properties.Resources.WARNING,
                                               MessageBoxButtons.YesNo,
                                               MessageBoxIcon.Exclamation);

            if (res == DialogResult.No)
            {
                return;
            }

            foreach (DataGridViewRow row in mMessagesDataGrid.SelectedRows)
            {
                UI.Message message = ((UI.Message)row.Tag);


                mScene.RemoveMessage(message.ID);
                mMessagesDataGrid.Rows.Remove(row);
            }
        }
Exemple #6
0
        /// <summary>
        /// Adds a new message
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void mAddButton_Click(object sender, EventArgs e)
        {
            string text  = "MESSAGE_";
            int    count = 0;
            int    id    = 0;

            // Get a unique ID
            foreach (Otter.UI.Message msg in mScene.Messages)
            {
                if (msg.ID >= id)
                {
                    id = msg.ID + 1;
                }
            }

            bool bUnique = false;

            while (!bUnique)
            {
                count++;
                bUnique = true;
                foreach (Otter.UI.Message msg in mScene.Messages)
                {
                    if (msg.Text == (text + count))
                    {
                        bUnique = false;
                        break;
                    }
                }
            }

            Otter.UI.Message message = new UI.Message();
            message.ID          = id;
            message.Text        = text + count;
            message.Description = "<enter description>";

            mScene.Messages.Add(message);
            AddMessageToDataGrid(message);
        }
Exemple #7
0
        private void mMessagesDataGrid_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            DataGridViewRow  row  = mMessagesDataGrid.Rows[e.RowIndex];
            DataGridViewCell cell = row.Cells[e.ColumnIndex];

            // We need to validate the text
            if (row.Tag is UI.Message && e.ColumnIndex == 0)
            {
                UI.Message message = row.Tag as UI.Message;

                DataGridViewTextBoxCell textCell = cell as DataGridViewTextBoxCell;
                string text = textCell.Value as string;

                // Revert to previous if nothing was entered
                if (text == "" || text == null)
                {
                    textCell.Value = message.Text;
                    return;
                }

                // Bail out if nothing was changed.
                if (text == message.Text)
                {
                    return;
                }

                // Format it
                text = text.ToUpper();
                text = Regex.Replace(text, "[^A-Za-z0-9]", "_");
                text = Regex.Replace(text, "_+", "_");
                if (text.StartsWith("_"))
                {
                    text = text.Remove(0);
                }
                if (text.EndsWith("_"))
                {
                    text = text.Remove(text.Length - 1);
                }

                // Now see if there are any duplicates
                foreach (UI.Message msg in mScene.Messages)
                {
                    if (msg != message && msg.Text == text)
                    {
                        textCell.Value = message.Text;
                        return;
                    }
                }

                textCell.Value = text;
                message.Text   = text;
            }
            else if (row.Tag is UI.Message && e.ColumnIndex == 1)
            {
                UI.Message message = row.Tag as UI.Message;

                DataGridViewTextBoxCell textCell = cell as DataGridViewTextBoxCell;
                string text = textCell.Value as string;

                // Revert to previous if nothing was entered
                if (text == "" || text == null)
                {
                    textCell.Value = message.Description;
                    return;
                }

                // Bail out if nothing was changed.
                if (text == message.Description)
                {
                    return;
                }

                textCell.Value      = text;
                message.Description = text;
            }
        }
Exemple #8
0
        /// <summary>
        /// Adds a new message
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void mAddButton_Click(object sender, EventArgs e)
        {
            string text = "MESSAGE_";
            int count = 0;
            int id = 0;
            // Get a unique ID
            foreach (Otter.UI.Message msg in mScene.Messages)
            {
                if (msg.ID >= id)
                    id = msg.ID + 1;
            }

            bool bUnique = false;
            while(!bUnique)
            {
                count++;
                bUnique = true;
                foreach (Otter.UI.Message msg in mScene.Messages)
                {
                    if (msg.Text == (text + count))
                    {
                        bUnique = false;
                        break;
                    }
                }
            }

            Otter.UI.Message message = new UI.Message();
            message.ID = id;
            message.Text = text + count;
            message.Description = "<enter description>";

            mScene.Messages.Add(message);
            AddMessageToDataGrid(message);
        }