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"); }
/// <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)); } } }
/// <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); }
/// <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); } }
/// <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); }
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; } }
/// <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); }