hch
2026-03-10 0cfa0f146cdf71c802a63b1b854249f909372510
Main/System/Chat/ChatManager.cs
@@ -99,7 +99,7 @@
        if (!obj)
        {
            nowChatChannel = ChatChannel.World;
            nowChatTab = ChatTab.World;
            nowChatTab = ChatChannel.World;
            if (talkDict.ContainsKey(ChatChannel.Guild))
            {
                talkDict[ChatChannel.Guild].Clear();
@@ -117,7 +117,7 @@
        lastTalkDataDict.Clear();
        currentDayDict.Clear();
        nowChatChannel = ChatChannel.World;
        nowChatTab = ChatTab.World;
        nowChatTab = ChatChannel.World;
    }
    private void OnBeforePlayerDataInitializeEventOnRelogin()
@@ -415,7 +415,7 @@
            bool isOpen = GetBulletSetting(channelType);
            if (!isOpen)
                continue;
            if (channelType == ChatChannel.Guild && !IsTabOpen(ChatTab.Guild, false))
            if (channelType == ChatChannel.Guild && !IsTabOpen(ChatChannel.Guild, false))
                continue;
            if (data == null || talkData.TalkTime > data.TalkTime)
            {
@@ -598,8 +598,8 @@
    }
    #region 标签页
    // 当前展示的频道入口
    private ChatTab m_NowChatTab;
    public ChatTab nowChatTab
    private ChatChannel m_NowChatTab;
    public ChatChannel nowChatTab
    {
        get { return m_NowChatTab; }
        set
@@ -611,26 +611,26 @@
        }
    }
    public event Action<ChatTab> OnChatTabChangeEvent;
    public event Action<ChatChannel> OnChatTabChangeEvent;
    // 频道入口的展示顺序
    public readonly List<ChatTab> tabShowList = new List<ChatTab>()
    public readonly List<ChatChannel> tabShowList = new List<ChatChannel>()
    {
        ChatTab.World,
        ChatTab.Guild,
        ChatTab.CrossServer,
        ChatChannel.World,
        ChatChannel.Guild,
        ChatChannel.CrossServer,
        // ChatTab.Person,
        // ChatTab.BlackList,
    };
    public bool IsTabOpen(ChatTab chatTab, bool isTip = false)
    public bool IsTabOpen(ChatChannel chatTab, bool isTip = false)
    {
        if (!tabShowList.Contains(chatTab))
            return false;
        switch (chatTab)
        {
            case ChatTab.Guild:
            case ChatChannel.Guild:
                //没有公会
                if (!PlayerDatas.Instance.fairyData.HasFairy)
                {
@@ -639,7 +639,7 @@
                    return false;
                }
                return true;
            case ChatTab.CrossServer:
            case ChatChannel.CrossServer:
                //没有合服
                if (GuildManager.Instance.zoneID <= 0)
                {
@@ -653,22 +653,22 @@
        }
    }
    public bool IsSelectChatTab(ChatTab chatTab)
    public bool IsSelectChatTab(ChatChannel chatTab)
    {
        return nowChatTab == chatTab;
    }
    public bool IsValidChatTab(int chatTab)
    {
        return Enum.IsDefined(typeof(ChatTab), chatTab);
        return Enum.IsDefined(typeof(ChatChannel), chatTab);
    }
    public string GetChatTabName(ChatTab chatTab)
    public string GetChatTabName(ChatChannel chatTab)
    {
        return Language.Get(StringUtility.Concat("ChatTab", ((int)chatTab).ToString()));
    }
    public string GetChatTabSelectIcon(ChatTab chatTab, bool isSelect)
    public string GetChatTabSelectIcon(ChatChannel chatTab, bool isSelect)
    {
        return StringUtility.Concat(isSelect ? "ChatTabSelect" : "ChatTabUnSelect", ((int)chatTab).ToString());
    }
@@ -747,14 +747,7 @@
}
public enum ChatTab
{
    World = 0,      //世界
    Guild = 1,      //公会
    CrossServer = 2,    //跨服
    Person = 3,     //私聊
    BlackList = 4,  //黑名单
}
public enum ChatChannel
{
    World = 0,          //世界