Ejemplo n.º 1
0
        /// <summary>
        /// タグ属性ノードを読み込む
        /// </summary>
        /// <param name="attrElement">タグ属性エレメント</param>
        private KagTagAttr readTagAttrNode(XmlElement attrElement)
        {
            KagTagAttr attr = new KagTagAttr();

            foreach (XmlElement node in attrElement.ChildNodes)
            {
                switch (node.Name)
                {
                case "attrname":
                    attr.Name = node.InnerText;
                    break;

                case "attrshortinfo":
                    attr.ShortInfo = node.InnerText;
                    break;

                case "attrrequired":
                    attr.SetRequiredFormString(node.InnerText);
                    break;

                case "attrformat":
                    //格納する(リストに載っていないものはこれを使用する)
                    attr.Format = node.InnerText;
                    break;

                case "attrinfo":
                    attr.SetInfo(node.InnerText);
                    break;
                }
            }

            return(attr);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// タグノードを読み込む
        /// </summary>
        /// <param name="tagElement">タグエレメント</param>
        private KagTag readTagNode(XmlElement tagElement, bool kagex)
        {
            KagTag tag = new KagTag(kagex);

            foreach (XmlElement node in tagElement.ChildNodes)
            {
                switch (node.Name)
                {
                case "tagname":
                    tag.Name = node.InnerText;
                    break;

                case "group":
                    tag.Group = node.InnerText;
                    break;

                case "tagshortinfo":
                    tag.ShortInfo = node.InnerText;
                    break;

                case "tagremarks":
                    tag.SetRemarks(node.InnerText);
                    break;

                case "attr":
                    KagTagAttr attr = readTagAttrNode(node);
                    if (attr == null || attr.Name == "" || tag.AttrTable.ContainsKey(attr.Name))
                    {
                        //取得できなかった時、またはすでに登録済みの場合は登録しない
                        break;
                    }
                    tag.AttrTable.Add(attr.Name, attr);
                    m_attrNameList.Add(tag.Name + "\t" + attr.Name + "\t" + attr.Format);
                    break;
                }
            }

            //属性値フォーマットを改めてセットする
            foreach (string attrName in tag.AttrTable.Keys)
            {
                string format = getAttrValueFormatFromTable(tag.Name, attrName);
                if (format != "")
                {
                    //フォーマットテーブルにのっているときはそれを使用する
                    tag.AttrTable[attrName].Format = format;
                }
            }
            return(tag);
        }
Ejemplo n.º 3
0
Archivo: KagTag.cs Proyecto: mryp/kkde
        /// <summary>
        /// コンストラクタ
        /// </summary>
        public KagTag(bool kagex)
        {
            //cond属性の初期化
            m_condAttr.Name      = "cond";
            m_condAttr.ShortInfo = "TJS式評価";
            m_condAttr.Info      = "式を評価した結果が真の時のみにそのタグが実行されます";
            m_condAttr.Required  = false;
            m_condAttr.Format    = "TJS式";

            if (kagex)
            {
                m_delayrunAttr           = new KagTagAttr();
                m_delayrunAttr.Name      = "delayrun";
                m_delayrunAttr.ShortInfo = "遅延実行パラメーター指定";
                m_delayrunAttr.Info      = "遅延実行を行うパラメーターを指定します(数値を指定すると指定したミリ秒後に実行され、文字列を指定するとBGM/SEの該当するラベルのタイミングで実行されます)。";
                m_delayrunAttr.Required  = false;
                m_delayrunAttr.Format    = "ミリ秒時間;vl1;vl2;vl3;任意文字列";
            }
        }