private void UpdateNode(TreeNode node) { if (node == null || node.Tag == null) { return; } DialogTranslation.LineData tag = node.Tag as DialogTranslation.LineData; if (tag.isInterjection) { node.Text = "*插入对话节点*"; } else if (tag.dialogueLine.Lines.Count <= 0 || string.IsNullOrEmpty(tag.dialogueLine.Lines[0].Translation)) { node.Text = "<Empty>"; } else { node.Text = tag.dialogueLine.Lines[0].Translation; } if (tag.isLink) { node.ForeColor = Color.Gray; return; } TalkerEnum item = (TalkerEnum)tag.data.idata["speaker"]; if (tag.isInterjection) { node.BackColor = StateColours.getIntejectionColour(item); return; } node.ForeColor = StateColours.getTalkerColour(item); }
public static Color getIntejectionColour(TalkerEnum value) { switch (value) { case TalkerEnum.T_INTERJECTOR1: { return(Color.LightBlue); } case TalkerEnum.T_INTERJECTOR2: { return(Color.LightGreen); } case TalkerEnum.T_INTERJECTOR3: { return(Color.PaleTurquoise); } } return(Color.White); }
public static Color getTalkerColour(TalkerEnum value) { switch (value) { case TalkerEnum.T_ME: { return(Color.Black); } case TalkerEnum.T_TARGET: { return(Color.Maroon); } case TalkerEnum.T_TARGET_IF_PLAYER: { return(Color.Maroon); } case TalkerEnum.T_INTERJECTOR1: { return(Color.Blue); } case TalkerEnum.T_INTERJECTOR2: { return(Color.Green); } case TalkerEnum.T_INTERJECTOR3: { return(Color.DarkTurquoise); } } return(Color.Maroon); }
public void refresh(GameData.Item dialogLine) { if (dialogLine == null) { this.listView1conditions.Enabled = false; this.listView1conditions.Items.Clear(); this.addCondition.Enabled = false; this.removeCondition.Enabled = false; this.CurrentLine = null; return; } this.listView1conditions.Enabled = true; this.addCondition.Enabled = dialogLine.getState() != GameData.State.LOCKED; this.removeCondition.Enabled = dialogLine.getState() != GameData.State.LOCKED; if (this.possibleConditions.Items.Count == 0) { foreach (DialogConditionEnum value in Enum.GetValues(typeof(DialogConditionEnum))) { if (value == DialogConditionEnum.DC_NONE) { continue; } this.possibleConditions.Items.Add(value); } } if (this.whoBox.Items.Count == 0) { foreach (TalkerEnum talkerEnum in Enum.GetValues(typeof(TalkerEnum))) { this.whoBox.Items.Add(talkerEnum); } } if (this.whoBox.SelectedIndex < 0) { this.whoBox.SelectedIndex = 0; } this.listView1conditions.Items.Clear(); if (dialogLine == null) { return; } foreach (KeyValuePair <string, GameData.TripleInt> keyValuePair in dialogLine.referenceData("conditions", false)) { GameData.Item item = this.nav.ou.gameData.getItem(keyValuePair.Key); item.idata.ContainsKey("condition name"); if (item.sdata.ContainsKey("compare by")) { item["compare by"] = this.methodToInt(item.sdata["compare by"]); } DialogConditionEnum dialogConditionEnum = (DialogConditionEnum)item.idata["condition name"]; int num = keyValuePair.Value.v0; if (!item.idata.ContainsKey("who")) { item.idata["who"] = 0; } ListView.ListViewItemCollection items = this.listView1conditions.Items; TalkerEnum item1 = (TalkerEnum)item.idata["who"]; ListViewItem listViewItem = items.Add(item1.ToString()); listViewItem.SubItems.Add(dialogConditionEnum.ToString()); listViewItem.SubItems.Add(this.methodToString(item.idata["compare by"])); listViewItem.SubItems.Add(num.ToString()); if (item.sdata.ContainsKey("stringvar")) { string str = item.sdata["stringvar"]; } if (dialogConditionEnum == DialogConditionEnum.DC_HAS_TAG) { ListViewItem.ListViewSubItemCollection subItems = listViewItem.SubItems; CharacterPerceptionTags_LongTerm characterPerceptionTagsLongTerm = (CharacterPerceptionTags_LongTerm)item.idata["tag"]; subItems.Add(characterPerceptionTagsLongTerm.ToString()); } if (dialogConditionEnum < DialogConditionEnum.DC_PERSONALITY_TAG) { continue; } ListViewItem.ListViewSubItemCollection listViewSubItemCollections = listViewItem.SubItems; PersonalityTags personalityTag = (PersonalityTags)item.idata["tag"]; listViewSubItemCollections.Add(personalityTag.ToString()); } this.CurrentLine = dialogLine; }