コード例 #1
0
 protected override void OnJump(UIPanelBase.PanelJumpData jumpData)
 {
     base.OnJump(jumpData);
     if (jumpData != null)
     {
         if (jumpData.Param != null)
         {
             if (jumpData.Param is TabMode)
             {
                 curMode = (TabMode)jumpData.Param;
             }
         }
     }
     else
     {
         CHATTYPE chatType = DataManager.Manager <ChatDataManager>().CurChatType;
         if (chatType == CHATTYPE.CHAT_WORLD)
         {
             curMode = TabMode.ShiJie;
         }
         else
         {
             curMode = TabMode.ShiZu;
         }
     }
     UIFrameManager.Instance.OnCilckTogglePanel(this.PanelId, 1, (int)curMode);
     ReqRefreshAllInfo();
 }
コード例 #2
0
 public void OnPickUpItemRes(GameCmd.stPickUpItemReturnPropertyUserCmd_S cmd)
 {
     if (cmd.state == 0)
     {
         Engine.Utility.Log.Error("PICK UP ERROR ID:{0}", cmd.qwThisID);
     }
     else
     {
         if (!DataManager.Manager <TeamDataManager>().IsJoinTeam)
         {
             return;
         }
         table.ItemDataBase db = GameTableManager.Instance.GetTableItem <table.ItemDataBase>(cmd.baseid);
         if (db != null)
         {
             if (db.IsBroad)
             {
                 CHATTYPE chatType = CHATTYPE.CHAT_TEAM;
                 string   name     = "[" + db.itemName + "]";
                 string   endTxt   = ChatDataManager.GetItemHrefString(name, MainPlayerHelper.GetPlayerID(), cmd.qwThisID, db.quality);
                 string   info     = DataManager.Manager <TextManager>().GetLocalFormatText(LocalTextType.Team_Recruit_woshiqu, endTxt);
                 stWildChannelCommonChatUserCmd_CS wild = new stWildChannelCommonChatUserCmd_CS();
                 wild.byChatType = chatType;
                 wild.szInfo     = info;
                 wild.dwOPDes    = 0;
                 wild.timestamp  = (uint)DateTimeHelper.Instance.Now;
                 NetService.Instance.Send(wild);
             }
         }
     }
 }
コード例 #3
0
 public ChatChannel(CHATTYPE type, string head, int cacheLength)
 {
     ChannelType = type;
     Head        = head;
     dataCache   = new CircularQueue <ChatInfo>()
     {
         Capacity = cacheLength
     };
 }
コード例 #4
0
ファイル: ChatPanel.cs プロジェクト: zuojiashun/src
    public override bool OnMsg(UIMsgID msgid, object param)
    {
        if (msgid == UIMsgID.eResetChatWindowPosX)
        {
            SetTeamChannelTitle();

            if (m_CurrChannel == CHATTYPE.CHAT_TEAM || m_CurrChannel == CHATTYPE.CHAT_RECRUIT)
            {
                CHATTYPE chatType = GetChatType(BtnType.TabTeam);
                if (chatType != m_CurrChannel)
                {
                    ResetChannel(chatType);
                }
            }

            transform.GetChild(0).localPosition = new Vector3(startPosX, 0, 0);
            if (m_CurrChannel == CHATTYPE.CHAT_CLAN)
            {
                if (!DataManager.Manager <ClanManger>().IsJoinClan&& m_trans_ChatItemRoot.childCount > 0)
                {
                    ResetChannel(m_CurrChannel);
                }
            }
        }
        else if (msgid == UIMsgID.eRefreshSendBtnLable)
        {
            int cd = (int)param;
            if (m_trans_inputnormal.gameObject.activeSelf)
            {
                m_btnSendLable.text = string.Format("发送({0})", cd);
                if (cd <= 0)
                {
                    m_btnSendLable.text = "发送";
                    UILabel label = m_btn_voice_input.transform.Find("Label").GetComponent <UILabel>();
                    if (label != null)
                    {
                        label.text = "按住说话";
                    }
                }
            }
            if (m_trans_inputvoice.gameObject.activeSelf)
            {
                UILabel label = m_btn_voice_input.transform.Find("Label").GetComponent <UILabel>();
                if (label != null)
                {
                    label.text = string.Format("按住说话({0})", cd);
                    if (cd <= 0)
                    {
                        label.text          = "按住说话";
                        m_btnSendLable.text = "发送";
                    }
                }
            }
        }
        return(base.OnMsg(msgid, param));
    }
コード例 #5
0
 /// <summary>
 /// 判断是否含有该频道
 /// </summary>
 /// <param name="type">频道类型</param>
 /// <returns></returns>
 public bool HasChatChannel(CHATTYPE type)
 {
     foreach (ChatChannel channel in showingChannel)
     {
         if (channel.ChannelType == type)
         {
             return(true);
         }
     }
     return(false);
 }
コード例 #6
0
    void OnThanksBoss(GameObject go)
    {
        RedPacket rp = m_dataManager.GetRedPacketByID(m_uRedID);

        if (rp != null)
        {
            string   str = DataManager.Manager <TextManager>().GetLocalFormatText(LocalTextType.Red_Tips_xiexielaoban, rp.name);
            CHATTYPE ct  = m_dataManager.GetRedEnvelopeChannelByID(m_uRedID);
            DataManager.Manager <ChatDataManager>().SetChatInputType(ct);
            DataManager.Manager <ChatDataManager>().SendChatText(str);
        }
        HideSelf();
    }
コード例 #7
0
 public void RemoveChannel(CHATTYPE type)
 {
     foreach (ChatChannel channel in showingChannel)
     {
         if (channel.ChannelType == type)
         {
             channel.OnNewChat -= AddChatText;
             showingChannel.Remove(channel);
             Engine.Utility.Log.LogGroup(GameDefine.LogGroup.User_ZCX, "RemoveChannel : {0}", channel.Head);
             break;
         }
     }
 }
コード例 #8
0
ファイル: ChatPanel.cs プロジェクト: zuojiashun/src
    void OnToggleValueChange(string channelName)
    {
        Log.LogGroup(GameDefine.LogGroup.User_ZCX, channelName);
        BtnType btntype = (BtnType)System.Enum.Parse(typeof(BtnType), channelName);

        if (btntype == BtnType.TabRed)
        {
            return;
        }
        CHATTYPE chatType = GetChatType(btntype);

        ResetChannel(chatType);
    }
コード例 #9
0
    void InitChannel()
    {
        CHATTYPE chatType = DataManager.Manager <ChatDataManager>().CurChatType;

        if (chatType == CHATTYPE.CHAT_WORLD)
        {
            m_toggle_wolrdselected.value = true;
            m_toggle_clanselected.value  = false;
        }
        else
        {
            m_toggle_clanselected.value  = true;
            m_toggle_wolrdselected.value = false;
        }
    }
コード例 #10
0
ファイル: ChatPanel.cs プロジェクト: zuojiashun/src
 void CheckTeamChanne(CHATTYPE chatType)
 {
     m_trans_inputnormal.gameObject.SetActive(chatType == CHATTYPE.CHAT_RECRUIT || chatType == CHATTYPE.CHAT_SYS ? false : true);
     if (chatType == CHATTYPE.CHAT_RECRUIT)
     {
         m_label_bottomTips.text = "您当前没有加入队伍,不能发言";
     }
     else if (chatType == CHATTYPE.CHAT_SYS)
     {
         m_label_bottomTips.text = "系统频道玩家无法发言";
     }
     else
     {
         m_label_bottomTips.text = "";
     }
 }
コード例 #11
0
    private ChatInfo ToChatInfo(uint OPDesThisid, string speakText, string name, CHATTYPE type, uint profession, uint timestmap, string voicefileid = "", uint voiceLength = 0)
    {
        speakText = speakText.Trim();

        // var title = FormatCharTitle(Head, name, TimeSpan.FromTicks(timestmap).ToString(), speakText, OPDesThisid);
        var richText = FormatPrivateAddCharHead(Head, name, speakText, voicefileid);

        return(new ChatInfo()
        {
            IsMe = type == CHATTYPE.CHAT_SILENT ? Client.ClientGlobal.Instance().MainPlayer.GetName() == name : false,
            Id = OPDesThisid,
            Content = ChatChannel.FormatContent(speakText),
            Channel = type,
            Name = name,
            job = (int)profession,
            Timestamp = timestmap,
            voiceFileid = voicefileid,
            voiceLegth = voiceLength,
            RichText = richText
        });
    }
コード例 #12
0
    public CHATTYPE GetRedEnvelopeChannelByID(uint redID)
    {
        CHATTYPE ct = CHATTYPE.CHAT_NONE;

        foreach (var item in m_worldRedPacketList)
        {
            if (item.id == redID)
            {
                ct = CHATTYPE.CHAT_WORLD;
                return(ct);
            }
        }
        foreach (var item in m_clanRedPacketList)
        {
            if (item.id == redID)
            {
                ct = CHATTYPE.CHAT_CLAN;
                return(ct);
            }
        }
        return(ct);
    }
コード例 #13
0
ファイル: ChatPanel.cs プロジェクト: zuojiashun/src
 void CheckClan(CHATTYPE chatType)
 {
     m_trans_NoClan.gameObject.SetActive(chatType == CHATTYPE.CHAT_CLAN && !DataManager.Manager <ClanManger>().IsJoinClan);
 }
コード例 #14
0
ファイル: ChatPanel.cs プロジェクト: zuojiashun/src
    private void ResetChannel(CHATTYPE chatType)
    {
        m_chatManager.SetChannelFilter(chatType);
        //切换频道后,要重新绑定一下消息相应函数
        m_chatManager.OnRefresh = OnRefreshText;
        m_chatManager.InitOutputText();
        m_chatManager.OnAddOutput = OnAddText;
        m_chatManager.SetChatInputType(chatType);

        m_CurrChannel             = chatType;
        m_chatManager.CurChatType = chatType;
        ResetNoReadMsg();

        m_scrollview_ChatScrollView.panel.clipOffset        = UnityEngine.Vector2.zero;
        m_scrollview_ChatScrollView.transform.localPosition = new Vector3(0, 23, 0);

        Vector4 baseClipRegion = m_scrollview_ChatScrollView.panel.baseClipRegion;

        m_trans_inputnormal.parent.gameObject.SetActive(m_CurrChannel != CHATTYPE.CHAT_SYS);

        if (m_CurrChannel == CHATTYPE.CHAT_SYS || m_CurrChannel == CHATTYPE.CHAT_RECRUIT)
        {
            //m_btn_btnAutoplay.transform.parent.gameObject.SetActive(false);
            m_btn_BtnSend.transform.parent.gameObject.SetActive(false);
            //y340 sizey 700
            //m_trans_ChatItemRoot.localPosition = new Vector3(0, 330, 0);
            //baseClipRegion.w = 680;
            //m_sprite_chatBg_di.height = (int)baseClipRegion.w;
        }
        else
        {
            //m_label_autoPlayLabel.text = string.Format("自动播放{0}频道语音", DataManager.Manager<ChatDataManager>().GetChannelStr(chatType));
            // m_btn_btnAutoplay.transform.parent.gameObject.SetActive(true);
            m_btn_BtnSend.transform.parent.gameObject.SetActive(true);
        }

        m_scrollview_ChatScrollView.panel.baseClipRegion = baseClipRegion;

        m_lstCurrChannel.Clear();

        CheckClan(chatType);
        CheckTeamChanne(chatType);
        SetTeamChannelTitle();

        if (!m_chatManager.EqualsCurrChannel(CHATTYPE.CHAT_WORLD))
        {
            //m_label_worldTip.gameObject.SetActive(false);
            //Vector3 pos = m_btn_btnAutoplay.transform.localPosition;
            //pos.x = -67f;
            //m_btn_btnAutoplay.transform.localPosition = pos;
        }
        else
        {
            //Vector3 pos = m_btn_btnAutoplay.transform.localPosition;
            //pos.x = -173f;
            //m_btn_btnAutoplay.transform.localPosition = pos;
            //m_label_worldTip.gameObject.SetActive(true);
        }


        m_trans_inputvoice.gameObject.SetActive(false);
        if (m_chatManager.IsCanSendMsg())
        {
            m_btnSendLable.text = "发送";

            UILabel label = m_btn_voice_input.transform.Find("Label").GetComponent <UILabel>();
            if (label != null)
            {
                label.text = "按住说话";
            }
        }
        //m_btn_btnAutoplay.GetComponent<UIToggle>().value = DataManager.Manager<ChatDataManager>().IsAutoPlayVoice(chatType);
    }