예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
 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;
 }