public List <TalkContent> GetAllContentByFromId(string fnick, string tnick, DateTime start, DateTime end)
        {
            string nick = fnick.IndexOf(":") >= 0 ? fnick.Substring(0, fnick.IndexOf(':')) : fnick;
            string sql  = SQL_SELECT_TALKCONTENT.Replace("@tableName", DBHelper.GetRealTable("TalkContent", DataHelper.Encrypt(nick)));

            List <TalkContent> list = new List <TalkContent>();

            SqlParameter[] param = new[]
            {
                new SqlParameter("@start", start.ToShortDateString()),
                new SqlParameter("@end", end.ToShortDateString()),
                new SqlParameter("@fnick", fnick),
                new SqlParameter("@tnick", tnick)
            };
            DataTable dt = DBHelper.ExecuteDataTable(sql, param);

            foreach (DataRow dr in dt.Rows)
            {
                TalkContent info = new TalkContent();
                info.content   = dr["TalkContent"].ToString();
                info.time      = dr["TalkTime"].ToString();
                info.direction = int.Parse(dr["direction"].ToString());

                info.FromNick = fnick;
                info.ToNick   = tnick;

                list.Add(info);
            }

            return(list);
        }
        public int InsertContent(TalkContent tc, string nick)
        {
            SqlParameter[] param = CreateParameter(tc);
            string         sql   = SQL_INSERT.Replace("@tableName", DBHelper.GetRealTable("TalkContent", DataHelper.Encrypt(nick)));

            return(ServiceDBHelper.ExcuteSql(sql, param));
        }
        public List <TalkContent> GetAllContent(DateTime start, DateTime end, string nick)
        {
            List <TalkContent> list = new List <TalkContent>();

            string sql = SQL_SELECT_ALL_CONTENT_BYDATE.Replace("@tableName", DBHelper.GetRealTable("TalkContent", DataHelper.Encrypt(nick)));

            SqlParameter[] param = new[]
            {
                new SqlParameter("@start", start),
                new SqlParameter("@end", end)
            };
            using (SqlDataReader dr = ServiceDBHelper.CreateReader(sql, param))
            {
                if (dr != null)
                {
                    while (dr.Read())
                    {
                        TalkContent info = new TalkContent();
                        info.FromNick  = dr["FromId"].ToString();
                        info.direction = dr["direction"] == DBNull.Value ? 0 : int.Parse(dr["direction"].ToString());
                        info.ToNick    = dr["ToId"].ToString();
                        info.time      = dr["TalkTime"].ToString();

                        list.Add(info);
                    }
                }
            }

            return(list);
        }
Esempio n. 4
0
    private void OnSceneGUI()
    {
        m_monoTalkConten = target as MonoTalkContent;
        m_talkContent    = m_monoTalkConten.m_talkContent;


        //ShowContent ();
    }
Esempio n. 5
0
    void ShowContent(TalkContent talkNode, MonoTalkNode monoTalkNode)
    {
        GameObject go = new GameObject(talkNode.m_name + "-" + talkNode.GetType());

        go.transform.SetParent(monoTalkNode.transform);
        go.transform.position = Vector3.zero;

        MonoTalkContent monoCont = go.AddComponent <MonoTalkContent> ();

        monoCont.Init(talkNode);
    }
        private static SqlParameter[] CreateParameter(TalkContent tc)
        {
            SqlParameter[] param = new[]
            {
                new SqlParameter("@TalkTime", tc.time),
                new SqlParameter("@ContentId", Guid.NewGuid()),
                new SqlParameter("@FromId", tc.FromNick),
                new SqlParameter("@ToId", tc.ToNick),
                new SqlParameter("@TalkContent", tc.content),
                new SqlParameter("@direction", tc.direction)
            };

            return(param);
        }
        public IList <TalkContent> GetTalkTotalHour(string nick, DateTime start, DateTime end)
        {
            string sql = SQL_SELECT_R_CUSTOMER.Replace("@tableName", DBHelper.GetRealTable("TalkContent", DataHelper.Encrypt(nick)));

            SqlParameter[] param = new[]
            {
                new SqlParameter("@start", start.ToShortDateString()),
                new SqlParameter("@end", end.ToShortDateString()),
                new SqlParameter("@nick", nick)
            };
            IList <TalkContent> list = new List <TalkContent>();
            DataTable           dt   = DBHelper.ExecuteDataTable(sql, param);

            foreach (DataRow dr in dt.Rows)
            {
                TalkContent info = new TalkContent();
                info.ToNick = dr["toid"].ToString();
                info.time   = dr["mhour"].ToString();
                list.Add(info);
            }

            return(list);
        }
Esempio n. 8
0
 public void Init(TalkContent talkContent)
 {
     m_talkContent = talkContent;
 }
Esempio n. 9
0
 public static void UpdateTalkContent(string _TalkContent)
 {
     TalkContent.GetComponent <Text>().text = _TalkContent;
 }
Esempio n. 10
0
    //保存为xml
    public static void SaveXMLEvent()
    {
        DialogWriter dialogWriter = ProduceWriter();

        //保存路径

        path = Application.dataPath + "/OutputXml/" + dialogWriter.GetType() + ".xml";
        FileInfo fi = new FileInfo(path);

        if (fi.Exists)
        {
            //fi.MoveTo ("./backup");
            fi.Delete();
        }

        List <DialogEvent> dialogEventLsit = dialogWriter.m_dialogEventList;

        XmlDocument doc = new XmlDocument();
        XmlElement  dialogWriterElem = doc.CreateElement("DialogWriter");

        for (int i = 0; i < dialogEventLsit.Count; i++)
        {
            XmlElement  eve         = doc.CreateElement("Event");
            DialogEvent dialogEvent = dialogEventLsit [i];
            eve.SetAttribute("Name", dialogEvent.m_name);
            eve.SetAttribute("EvenOrder", dialogEvent.m_eventOrder.ToString());
            for (int j = 0; j < dialogEvent.m_nodeList.Count; j++)
            {
                //判断是否为talk节点
                if (dialogEvent.m_nodeList [j].m_dialogType == DialogNode.NodeType.Talk)
                {
                    XmlElement node     = doc.CreateElement("TalkNode");
                    TalkNode   talkNode = (TalkNode)dialogEvent.m_nodeList [j];
                    node.SetAttribute("Name", talkNode.m_name);
                    node.SetAttribute("NodeType", talkNode.m_dialogType.ToString());
                    for (int k = 0; k < talkNode.m_background.Count; k++)
                    {
                        //node.SetAttribute ("Background"+k, );
                        XmlElement background = doc.CreateElement("Background");
                        background.SetAttribute("Name", talkNode.m_background [k]);
                        node.AppendChild(background);
                    }
                    for (int k = 0; k < talkNode.m_tachie.Count; k++)
                    {
                        XmlElement tachie = doc.CreateElement("Tachie");
                        tachie.SetAttribute("Name", talkNode.m_tachie [k]);
                        node.AppendChild(tachie);
                        //node.SetAttribute ("Tachie"+k, talkNode.m_tachie [k]);
                    }
                    for (int k = 0; k < talkNode.m_talkContents.Count; k++)
                    {
                        XmlElement  content     = doc.CreateElement("TalkContent");
                        TalkContent talkContent = talkNode.m_talkContents [k];
                        content.SetAttribute("Background", talkContent.m_backGround.ToString());
                        content.SetAttribute("Tachie", talkContent.m_tachie.ToString());
                        content.SetAttribute("Name", talkContent.m_name);
                        content.SetAttribute("Content", talkContent.m_content);
                        node.AppendChild(content);
                    }
                    eve.AppendChild(node);
                }
                else
                {
                    XmlElement    node          = doc.CreateElement("SelectionNode");
                    SelectionNode selectionNode = (SelectionNode)dialogEvent.m_nodeList [j];
                    node.SetAttribute("Name", selectionNode.m_name);
                    node.SetAttribute("NodeType", selectionNode.m_dialogType.ToString());

                    //分为两个select节点
                    foreach (string s in selectionNode.m_selection.Keys)
                    {
                        XmlElement select = doc.CreateElement("Select");
                        select.SetAttribute("Select", s);

                        XmlElement talk     = doc.CreateElement("TalkNode");
                        TalkNode   talkNode = selectionNode.m_selection [s];

                        talk.SetAttribute("Name", talkNode.m_name);
                        talk.SetAttribute("NodeType", talkNode.m_dialogType.ToString());
                        for (int k = 0; k < talkNode.m_background.Count; k++)
                        {
                            //node.SetAttribute ("Background"+k, );
                            XmlElement background = doc.CreateElement("Background");
                            background.SetAttribute("Name", talkNode.m_background [k]);
                            talk.AppendChild(background);
                        }
                        for (int k = 0; k < talkNode.m_tachie.Count; k++)
                        {
                            XmlElement tachie = doc.CreateElement("Tachie");
                            tachie.SetAttribute("Name", talkNode.m_tachie [k]);
                            talk.AppendChild(tachie);
                            //node.SetAttribute ("Tachie"+k, talkNode.m_tachie [k]);
                        }
                        for (int k = 0; k < talkNode.m_talkContents.Count; k++)
                        {
                            XmlElement  content     = doc.CreateElement("TalkContent");
                            TalkContent talkContent = talkNode.m_talkContents [k];
                            content.SetAttribute("Background", talkContent.m_backGround.ToString());
                            content.SetAttribute("Tachie", talkContent.m_tachie.ToString());
                            content.SetAttribute("Name", talkContent.m_name);
                            content.SetAttribute("Content", talkContent.m_content);
                            talk.AppendChild(content);
                        }

                        select.AppendChild(talk);
                        node.AppendChild(select);
                    }

                    eve.AppendChild(node);
                }
            }
            dialogWriterElem.AppendChild(eve);
        }
        doc.AppendChild(dialogWriterElem);

        doc.Save(path);
    }
Esempio n. 11
0
    static void WriteTalkContent(Transform monoDialogEvent)
    {
        TalkContent talkContent = monoDialogEvent.gameObject.GetComponent <MonoTalkContent> ().m_talkContent;

        newWriterTalkNode.m_talkContents.Add(talkContent);
    }
Esempio n. 12
0
    //加载xm文件
    public static DialogWriter LoadXMLEvent()
    {
        bool m_isTalkNode = true;


        if (Application.platform == RuntimePlatform.OSXPlayer)
        {
            Console.Log("sfdbdfsdgsfdgsfdds");
            path = Application.dataPath + "/Resources/Data/StreamingAssets/dialogWriter.xml";
            Console.Log(path);
        }
        else if (Application.platform == RuntimePlatform.IPhonePlayer)
        {
            path = Application.dataPath + "/Raw/";
        }
        else if (Application.platform == RuntimePlatform.Android)
        {
            path = "jar:file//" + Application.dataPath + "!/assets/";
        }
        //} else if(Application.platform == RuntimePlatform.){
        //	path = Application.dataPath + "/StreamingAssets/";
        //}


        XmlReader reader = new XmlTextReader(path);

        //提前设置的变量,用于保存读取文件时的各个子节点
        DialogWriter  newDialogWriter  = null;
        DialogEvent   newDialogEvent   = null;
        TalkNode      newTalkNode      = null;
        SelectionNode newSelectionNode = null;
        TalkContent   newTalkContent   = null;
        string        newSelect        = "";

        newDialogWriter = new DialogWriter();
        while (reader.Read())
        {
            if (reader.NodeType == XmlNodeType.Element)
            {
                if (reader.LocalName == "DialogWriter")
                {
                    if (newDialogWriter != null)
                    {
                    }
                    //不会执行
                }
                else if (reader.LocalName == "Event")
                {
                    newDialogEvent = new DialogEvent("");
                    for (int i = 0; i < reader.AttributeCount; i++)
                    {
                        reader.MoveToAttribute(i);
                        if (reader.Name == "Name")
                        {
                            newDialogEvent.m_name = reader.Value;
                        }
                        else if (reader.Name == "EventOrder")
                        {
                            newDialogEvent.m_eventOrder = int.Parse(reader.Value);
                        }
                    }

                    if (newDialogWriter != null)
                    {
                        newDialogWriter.m_dialogEventList.Add(newDialogEvent);
                    }
                }
                else if (reader.LocalName == "TalkNode")
                {
                    newTalkNode = new TalkNode("");


                    for (int i = 0; i < reader.AttributeCount; i++)
                    {
                        reader.MoveToAttribute(i);
                        if (reader.Name == "Name")
                        {
                            newTalkNode.m_name = reader.Value;
                        }
                        else if (reader.Name == "NodeType")
                        {
                            newTalkNode.m_dialogType = (DialogNode.NodeType)System.Enum.Parse(typeof(DialogNode.NodeType), reader.Value);
                        }
                    }

                    //不是选择分支下的对话节点
                    if (m_isTalkNode)
                    {
                        if (newDialogEvent != null)
                        {
                            newDialogEvent.m_nodeList.Add(newTalkNode);
                        }
                    }
                    else
                    {
                        if (newSelectionNode != null)
                        {
                            newSelectionNode.m_selection [newSelect] = newTalkNode;
                            //每次都重新设为true
                            m_isTalkNode = true;
                        }
                    }
                }
                else if (reader.LocalName == "Background")
                {
                    for (int i = 0; i < reader.AttributeCount; i++)
                    {
                        reader.MoveToAttribute(i);

                        if (reader.Name == "Name")
                        {
                            newTalkNode.m_background.Add(reader.Value);
                        }
                    }
                }
                else if (reader.LocalName == "Tachie")
                {
                    for (int i = 0; i < reader.AttributeCount; i++)
                    {
                        reader.MoveToAttribute(i);
                        if (reader.Name == "Name")
                        {
                            newTalkNode.m_tachie.Add(reader.Value);
                        }
                    }
                }
                else if (reader.LocalName == "TalkContent")
                {
                    newTalkContent = new TalkContent();
                    for (int i = 0; i < reader.AttributeCount; i++)
                    {
                        reader.MoveToAttribute(i);
                        if (reader.Name == "Background")
                        {
                            newTalkContent.m_backGround = int.Parse(reader.Value);
                        }
                        else if (reader.Name == "Tachie")
                        {
                            newTalkContent.m_tachie = int.Parse(reader.Value);
                        }
                        else if (reader.Name == "Name")
                        {
                            newTalkContent.m_name = reader.Value;
                        }
                        else if (reader.Name == "Content")
                        {
                            newTalkContent.m_content = reader.Value;
                        }
                    }

                    if (newTalkNode != null)
                    {
                        newTalkNode.m_talkContents.Add(newTalkContent);
                    }
                }
                else if (reader.LocalName == "SelectionNode")
                {
                    newSelectionNode = new SelectionNode("");
                    for (int i = 0; i < reader.AttributeCount; i++)
                    {
                        reader.MoveToAttribute(i);
                        if (reader.Name == "Name")
                        {
                            newSelectionNode.m_name = reader.Value;
                        }
                    }

                    if (newDialogEvent != null)
                    {
                        newDialogEvent.m_nodeList.Add(newSelectionNode);
                    }
                }
                else if (reader.LocalName == "Select")
                {
                    m_isTalkNode = false;

                    for (int i = 0; i < reader.AttributeCount; i++)
                    {
                        reader.MoveToAttribute(i);
                        if (reader.Name == "Select")
                        {
                            //把数值临时保存
                            newSelect = reader.Value;
                            newSelectionNode.m_selection.Add(reader.Value, new TalkNode(""));
                        }
                    }
                }
            }
        }


        return(newDialogWriter);
    }
Esempio n. 13
0
        public void UpdateDayInfo()
        {
            // 新規会話の処理
            if (!TalkContent.ContainsKey(LatestGameInfo.Day))
            {
                TalkContent.Add(LatestGameInfo.Day, new List <Content>());
            }
            List <Content> ContentList = TalkContent[LatestGameInfo.Day];

            for (int i = talkOffset; i < LatestGameInfo.TalkList.Count; i++)
            {
                Talk    srcTalk    = LatestGameInfo.TalkList[i];
                Content newContent = new Content(srcTalk.Text);

                // Content版を作成する
                ContentList.Add(newContent);

                // 単文か
                if (newContent.Operator == Operator.NOP)
                {
                    switch (newContent.Topic)
                    {
                    case Topic.COMINGOUT:
                        // カミングアウト
                        // 自分に対する村陣営COのみ対象
                        if (srcTalk.Agent == newContent.Target && newContent.Role.GetTeam() == Team.VILLAGER)
                        {
                            // カミングアウトの更新
                            UpdateComingOut(newContent.Target, newContent.Role, srcTalk);
                        }
                        break;

                    case Topic.DIVINED:
                        // 占い結果

                        // カミングアウトの更新
                        UpdateComingOut(srcTalk.Agent, Role.SEER, srcTalk);

                        // 判定の追加
                        Judge newSeerJudge = new Judge(srcTalk);
                        SeerJudge.Add(newSeerJudge);

                        break;

                    case Topic.IDENTIFIED:
                        // 霊媒結果

                        // カミングアウトの更新
                        UpdateComingOut(srcTalk.Agent, Role.MEDIUM, srcTalk);

                        // 判定の追加
                        Judge newMediumJudge = new Judge(srcTalk);
                        MediumJudge.Add(newMediumJudge);

                        break;

                    case Topic.GUARDED:
                        // 護衛履歴
                        break;

                    default:
                        break;
                    }
                }
            }
            talkOffset = LatestGameInfo.TalkList.Count;

            // 新規囁きの処理

            /*            for (int i = todayInfo.WhisperContentList.Count; i < todayInfo.WhisperList.Count; i++)
             *          {
             *              Content newContent = new Content(todayInfo.WhisperList[i].Text);
             *
             *              // Content版を作成する
             *              todayInfo.WhisperContentList.Add(newContent);
             *          }*/
        }