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