Example #1
0
        /// <summary>
        /// <para>トークデータを読み込むメソッド</para>
        /// <para>成功するとtrue, 失敗すると戻り値がfalseになります。</para>
        /// </summary>
        /// <returns></returns>
        public bool LoadTalkData()
        {
            try
            {
                if (!File.Exists("talkData.xml"))
                {
                    return(true);                               // ファイルがない場合
                }
                // 読み込んだデータを一時保存するリスト
                System.Collections.ArrayList al = new System.Collections.ArrayList();

                // データファイルへのアクセス準備
                using (FileStream fs = new FileStream("talkData.xml", FileMode.Open))
                {
                    // Xml解析用インスタンスの初期化
                    XmlSerializer ser = new XmlSerializer(typeof(System.Collections.ArrayList), new Type[] { typeof(TalkDataValue) });

                    // データの読み出し
                    al = (System.Collections.ArrayList)ser.Deserialize(fs);
                }

                // 読み出したデータを管理リストへ変換
                for (int i = 0; i < al.Count; i++)
                {
                    TalkDataValue tdv = (TalkDataValue)al[i];

                    talkDataList.Add(new TalkDataValue(tdv.InputText, tdv.OutputText, tdv.FaceImage));
                }
            }
            catch
            {
                return(false);
            }
            return(true);
        }
Example #2
0
        /// <summary>
        /// <para>応答リストにデータを追加するメソッド</para>
        /// <para>同じ反応文字列だったり追加に失敗した場合は、戻り値がfalseなります</para>
        /// </summary>
        /// <param name="value">トークデータ</param>
        /// <returns>追加処理の結果</returns>
        public bool AddTalkData(TalkDataValue value)
        {
            try
            {
                for (int i = 0; i < talkDataList.Count; i++)
                {
                    // すでに存在している場合
                    if (talkDataList[i].InputText == value.InputText)
                        return false;
                }

                talkDataList.Add(value);
            }
            catch
            {
                return false;
            }
            return true;
        }
Example #3
0
        /// <summary>
        /// <para>応答リストにデータを追加するメソッド</para>
        /// <para>同じ反応文字列だったり追加に失敗した場合は、戻り値がfalseなります</para>
        /// </summary>
        /// <param name="value">トークデータ</param>
        /// <returns>追加処理の結果</returns>
        public bool AddTalkData(TalkDataValue value)
        {
            try
            {
                for (int i = 0; i < talkDataList.Count; i++)
                {
                    // すでに存在している場合
                    if (talkDataList[i].InputText == value.InputText)
                    {
                        return(false);
                    }
                }

                talkDataList.Add(value);
            }
            catch
            {
                return(false);
            }
            return(true);
        }