Example #1
0
 public EditExtendedDescription(TalkData data)
 {
     InitializeComponent();
     lblDescription.Text = "Response";
     txtDescription.Text = data.Message;
     txtKeywords.Text    = data.Keywords;
 }
Example #2
0
        private void PlayVoice()
        {
            TalkData data = _clips[0];

            App.GetGameManager <Mahjong2DGameManager>().Players[data.Seat].OnPlayeTalk(data.Clip, data.Lenth);
            Invoke("OnFinish", data.Lenth);
        }
Example #3
0
    //增加对话 角色,对话内容,所处的故事
    public void AddTalkData(string playerId, string storyId, string text)
    {
        //获取角色对话字典
        Dictionary <string, List <TalkData> > playerTalkDic = null;

        if (!m_playerTalkContent.TryGetValue(playerId, out playerTalkDic))
        {
            playerTalkDic = new Dictionary <string, List <TalkData> >();

            m_playerTalkContent.Add(playerId, playerTalkDic);
        }

        //获取聊天列表
        List <TalkData> list = null;

        if (!playerTalkDic.TryGetValue(storyId, out list))
        {
            list = new List <TalkData>();
            playerTalkDic.Add(storyId, list);
        }

        var talkId = GetTalkId(playerId);

        var data = new TalkData(talkId, text);

        list.Add(data);
    }
Example #4
0
        public void StartTalk(TalkCloudBase cloud, TalkData talkData)
        {
            if (!_isTalking)
            {
                _talkCloud = cloud;

                _talkCloud.Init(talkData.PagesCount);

                _talkCloud.OnCloudShown  += OnCloudShown;
                _talkCloud.OnCloudHidden += OnCloudHidden;

                _talkData = talkData;

                _currentPage = _talkData.GetPage(_firstPage);
                _talkCloud.SetPage(_currentPage, _firstPage);

                if (_talkData)
                {
                    _isTalking = true;

                    _pageIndex       = default;
                    _isLastPage      = default;
                    _canShowNextPage = default;

                    _writerControl.Init(_currentPage, _talkCloud.TextControl);

                    _talkCloud.OnShowCloud();
                    _talkCallback?.Invoke(TalkEvent.Started);
                }
                else
                {
                    Debug.LogError($"Talk Data is null");
                }
            }
        }
 public EditExtendedDescription(TalkData data)
 {
     InitializeComponent();
     lblDescription.Text = "Response";
     txtDescription.Text = data.Message;
     txtKeywords.Text = data.Keywords;
 }
Example #6
0
    public TalkData SetData(string talkData)
    {
        TalkData data = new TalkData();

        string[] talkDataSpl = talkData.Split(',');

        if (!System.Int32.TryParse(talkDataSpl [0], out data.charaId))
        {
            data.charaId = 0;
        }
        data.talKContent = talkDataSpl [1];


        if (talkDataSpl[2] == "0")
        {
            data.talkerPos = TalkPos.Left;
        }
        else if (talkDataSpl[2] == "1")
        {
            data.talkerPos = TalkPos.Right;
        }
        else
        {
            data.talkerPos = TalkPos.Center;
        }
        return(data);
    }
 public TalkData GetTalkData()
 {
     TalkData data = new TalkData();
     data.Message = txtDescription.Text;
     data.Keywords = txtKeywords.Text;
     return data;
 }
Example #8
0
 public void InitTalkUI(TalkData data)
 {
     if (this.view != null)
     {
         this.view.InitTalkUI(data);
     }
 }
Example #9
0
        public TalkData GetTalkData()
        {
            TalkData data = new TalkData();

            data.Message  = txtDescription.Text;
            data.Keywords = txtKeywords.Text;
            return(data);
        }
    public void SetTalk(TalkData talkData)
    {
        int emotion = DialogUnitDataMgr.dialogUnitDataContainer.GetEmotion(talkData.emotion);

        DialogEffect df = (DialogEffect)_dictionary[UIType.DialogEffect];

        df.SetMsg(talkData.dialogue, talkData.name, emotion);
    }
Example #11
0
    public void SetTalk(TalkData talkData)
    {
        illustAnim.SetTrigger("isTalk");

        illust.sprite = unitDataContainer.GetSprite(talkData.id, talkData.emotion);
        npcname.text  = unitDataContainer.GetName(talkData.id);
        dialogEffect.SetMsg(this.context, talkData.context);
    }
Example #12
0
        public void StartTalk(TalkCloudBase cloud, TalkData talkData, Action <TalkEvent> talkCallback, Action <string> wordEventCallback)
        {
            if (!_isTalking)
            {
                _onWordEventCallBack = wordEventCallback;

                StartTalk(cloud, talkData, talkCallback);
            }
        }
    public void SetTalkData(TalkData talkData)
    {
        if (dialogController == null)
        {
            dialogController = (DialogCanvas)UIMgr.Instance.GetCurrentCanvas();
        }

        dialogController.SetTalk(talkData);
    }
Example #14
0
        public void StartTalk(TalkCloudBase cloud, TalkData talkData, Action <TalkEvent> talkCallback)
        {
            if (!_isTalking)
            {
                _talkCallback = talkCallback;

                StartTalk(cloud, talkData);
            }
        }
Example #15
0
        public void StartTalk(TalkCloudBase cloud, TalkInfo talkInfo)
        {
            if (!_isTalking)
            {
                _talkData = _scriptableContainer.Container.GetTalkAsset(talkInfo);

                StartTalk(cloud, _talkData);
            }
        }
Example #16
0
 public void InitTalkUI(TalkData talkdata)
 {
     if (talkPanel != null)
     {
         Text txtName = talkPanel.transform.Find("txtName").GetComponent <Text>();
         Text txtMsg  = talkPanel.transform.Find("txtMsg").GetComponent <Text>();
         txtName.text = talkdata.name;
         txtMsg.text  = talkdata.msg;
     }
 }
Example #17
0
 public TalkPage(MeChat meChat, TalkData talkData)
 {
     this.MeChat = meChat;
     TalkData    = talkData;
     InitializeComponent();
     foreach (TalkData.Cell cell in TalkData.cells)
     {
         AddCell(cell);
     }
 }
Example #18
0
    /// <summary>
    /// 获取每项数据
    /// </summary>
    public TalkData GetTalkData(int id)
    {
        TalkData agc = null;

        if (talkDict.TryGetValue(id, out agc))
        {
            return(agc);
        }
        return(null);
    }
Example #19
0
    void AddOpBtn(TalkData talkdata)
    {
        if (mLastItem != null)
        {
            mLastItem.Hide();
        }
        if (mCurrentItem != null)
        {
            mCurrentItem.Hide();
            mLastItem = mCurrentItem;
        }

        if (talkdata == null)
        {
            return;
        }

        string content = "";
        string name    = "";

        //if (talkdata.m_Name != "player")
        //{
        //    AiNpcObject npc;
        //    int outinfo;
        //    if (int.TryParse(talkdata.m_Name, out outinfo))
        //        npc = NpcManager.Instance.GetNpcRandom(outinfo);
        //    else
        //        npc = NpcManager.Instance.GetNpc(talkdata.m_Name);

        //    if (talkdata.m_Name == "0" && GameUI.Instance.mNPCTalk.m_CurSelNpc != null)
        //    {
        //        npc = GameUI.Instance.mNPCTalk.m_CurSelNpc;
        //    }

        //    content = talkdata.m_Content;

        //    if (npc != null)
        //    {
        //        name = npc.NpcName + ": ";
        //        npc.CmdFaceTo = PlayerFactory.mMainPlayer.transform;
        //        npc.ApplySound(talkdata.m_SoundID);
        //    }
        //}
        //else
        //{
        //    name = Pathea.PeCreature.Instance.mainPlayer.ToString();
        //    content = talkdata.m_Content;
        //}

        mCurrentItem = Instantiate(mPrefab) as ServantTalkItem_N;
        mCurrentItem.transform.parent        = this.transform;
        mCurrentItem.transform.localPosition = Vector3.zero;
        mCurrentItem.transform.localRotation = Quaternion.identity;
        mCurrentItem.InitItem(name, content);
    }
Example #20
0
 // Runs the Initializer() method in each static script. The call is ignored if
 // a class has already been initialized.
 public static void Run()
 {
     //AudioManager initialized by GameAudioSource object
     InvData.Initialize();
     BattleEnemyData.Initialize();
     HeroSpriteData.Initialize();
     BattleAbilityData.Initialize();
     BattleLoader.Initialize();
     Shop.Initialize();
     TalkData.Initialize();
 }
Example #21
0
    private void CheckIfPassGame()
    {
        int      tempTalkID = talkID + 1;
        TalkData data       = resService.GetTalkData(tempTalkID);

        if (data == null)
        {
            //过关
            battleSystem.IsWin = true;
        }
    }
Example #22
0
    public void GetNextInfoAndPlay(int talkID)
    {
        //组合成XML中的格式
        int id = int.Parse(checkPointNum + "0" + talkID);

        Debug.Log(id);
        this.talkID = id;
        talkData    = resService.GetTalkData(id);
        if (talkData != null)
        {
            talkInfo = talkData.talk.Split('#');
            SetTalk();
        }
    }
Example #23
0
        public bool SaveTalkData(TalkData data)
        {
            string toId = data.ToId;

            if (toId == null)
            {
                return(false);
            }
            try
            {
                return(IO <TalkData> .Save(Path + "talk/" + toId, data));
            }
            catch { return(false); }
        }
Example #24
0
        public void SetCurrentTalkData(TalkData talkData)
        {
            _talkData = talkData;

            if (_textInfo.TextEditor != null)
            {
                _textInfo.TextEditor.SelectNone();
                //_textInfo.TextEditor.cursorIndex = _textInfo.TextEditor.text.Length;
            }

            _textInfo = default;

            SetTextPageIndex(0, talkData);
        }
Example #25
0
 //Call it when a talk is running and the language is changed to update the cloud talk with the new text.
 /// <summary>Call when the language is changed.</summary>
 public void SetTalkOnLanguageChanged(TalkInfo info)
 {
     if (_scriptableContainer)
     {
         if (_talkData)
         {
             _talkData = _scriptableContainer.Container.GetTalkAsset(info);
             _writerControl.Writer.OnLanguageChanged(_talkData.GetPage(_pageIndex));
         }
     }
     else
     {
         Debug.LogError("Container reference wasn't added.");
     }
 }
Example #26
0
        private void btnEditMessage_Click(object sender, EventArgs e)
        {
            int index = lstMessages.SelectedIndex;

            if (index != -1)
            {
                TalkData desc = lstMessages.SelectedItem as TalkData;
                EditExtendedDescription dialog = new EditExtendedDescription(desc);
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    lstMessages.Items.RemoveAt(index);
                    lstMessages.Items.Insert(index, dialog.GetTalkData());
                }
            }
        }
Example #27
0
        private void OnCloudHidden()
        {
            _isTalking = false;
            _talkData  = null;

            _talkCallback?.Invoke(TalkEvent.Finished);

            _talkCallback        = null;
            _onWordEventCallBack = null;

            _writerControl.Clear();

            _talkCloud.OnCloudShown  -= OnCloudShown;
            _talkCloud.OnCloudHidden -= OnCloudHidden;
        }
Example #28
0
    public static void ParseData(string content, string fileName)
    {
        Meta = new Dictionary <int, TalkData>();

        CSVParser parser = new CSVParser();

        if (!parser.Parse(content))
        {
            ClientLog.Instance.LogError("TalkData" + ConfigLoader.Instance.csvext + "解析错误");
            return;
        }

        int      recordCounter = parser.GetRecordCounter();
        TalkData data          = null;

        for (int i = 0; i < recordCounter; ++i)
        {
            data = new TalkData();

            data.TalkId = parser.GetInt(i, "talk");

            if (Meta.ContainsKey(data.TalkId))
            {
                ClientLog.Instance.LogError("TalkData" + ConfigLoader.Instance.csvext + "ID重复");
                return;
            }

            string npcid  = "npcid";
            string contex = "content";

            for (int j = 1; j <= 10; ++j)
            {
                int id = parser.GetInt(i, npcid + j);
                if (id == 0)
                {
                    break;
                }
                Pair <int, string> pair = new Pair <int, string>(id, parser.GetString(i, contex + j));
                data.Content.Add(pair);
            }

            data.BattleId = parser.GetInt(i, "BattleID");

            Meta[data.TalkId] = data;
        }
        parser.Dispose();
        parser = null;
    }
Example #29
0
    /// <summary>
    /// 初始化XML中数据
    /// </summary>
    private void InitTalkXML(string path)
    {
        TextAsset nameText = Resources.Load <TextAsset>(path);

        if (nameText == null)
        {
            Debug.LogError("xml file:" + path + "not exist");
        }
        else
        {
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(nameText.text);

            XmlNodeList nodeList = doc.SelectSingleNode("root").ChildNodes;

            for (int i = 0; i < nodeList.Count; i++)
            {
                XmlElement element = nodeList[i] as XmlElement;
                if (element.GetAttributeNode("ID") == null)
                {
                    continue;
                }

                int      id       = Convert.ToInt32(element.GetAttributeNode("ID").InnerText);
                TalkData talkData = new TalkData
                {
                    ID = id
                };

                foreach (XmlElement ele in nodeList[i].ChildNodes)
                {
                    switch (ele.Name)
                    {
                    case "talk":
                        talkData.talk = ele.InnerText;
                        break;
                    }
                }

                talkDict.Add(id, talkData);
            }
        }
    }
Example #30
0
    void InitTalk(int talkId)
    {
        TalkData tdata = TalkData.GetData(talkId);

        if (null == tdata)
        {
            Hide();
            return;
        }
        TalkList  = tdata.Content;
        BattleId  = tdata.BattleId;
        TalkIndex = 0;
        if (Duihua != null)
        {
            Duihua.gameObject.SetActive(true);
        }
        NpcTask.SetActive(false);
        Talking();
    }
Example #31
0
        public void NpcSayOneWord(int _contentId, float _interval, ENpcSpeakType _type)
        {
            Texture  tex      = faceTex;
            string   _content = "";
            string   _npcName = "";
            TalkData talkdata = TalkRespository.GetTalkData(_contentId);;

//            if (Entity.entityProto.proto == EEntityProto.RandomNpc)
//                _npcName = characterName.givenName + ":";
//            else if (Entity.entityProto.proto == EEntityProto.Npc)
//                _npcName = characterName.familyName + ":";
            _npcName = characterName.fullName + ":";

            if (talkdata != null)
            {
                _content = talkdata.m_Content;
                //lz-2016.11.04 替换npc说话内容中的玩家名字
                _content = _content.Replace("\"name%\"", Pathea.PeCreature.Instance.mainPlayer.ToString());
            }

            if (_type == ENpcSpeakType.Topleft)
            {
                new PeTipMsg(_npcName + _content, tex, PeTipMsg.EMsgLevel.Norm);
            }
            else if (_type == ENpcSpeakType.TopHead)
            {
                //Log:lz-2016.04.29:唐小力 错误 #1851仆从头上的提示信息取消名字开头
                if (mHeadInfo != null)
                {
                    mHeadInfo.SayOneWord(_content, _interval);
                }
            }
            else if (_type == ENpcSpeakType.Both)
            {
                new PeTipMsg(_npcName + _content, tex, PeTipMsg.EMsgLevel.Norm);
                //Log:lz-2016.04.29:唐小力 错误 #1851仆从头上的提示信息取消名字开头
                if (mHeadInfo != null)
                {
                    mHeadInfo.SayOneWord(_content, _interval);
                }
            }
        }
Example #32
0
        /// <summary>
        /// ユーザーとのトーク内容を取得します。
        /// </summary>
        /// <param name="time">開始時間を指定します。この時間以降の内容を取得します。(未指定:"1990.01.01")</param>
        public async Task <TalkData> GetTalkData(string toId, string time = "1990-01-01")
        {
            BaseJson <TalkJson> b;

            var param = CreateParam();

            param.Add("time", time);
            param.Add("token", Token);

            string json = await Get(REQUEST_URI + "/Get/Talk/" + MyId + "/" + toId, param);

            Debug.Log("Get Json : " + json);

            if ((b = BaseJson <TalkJson> .GetT(json)) == null)
            {
                return(null);
            }

            return(TalkData.FromJson(MeChatHost.MeChat, toId, b));
        }