hch
7 天以前 5b997fa0ea937d8e9b964ecb5644f1b491ee4282
0312 补充设备禁言 和 设备分支 #@#BrancH 功能
2个文件已修改
45 ■■■■■ 已修改文件
Main/Core/GameEngine/Player/PlayerDatas.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Chat/ChatManager.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/GameEngine/Player/PlayerDatas.cs
@@ -410,14 +410,13 @@
                //与服务端约定 0 单角色解封 1 单角色禁言,2设备禁言,3设备解封
                if (value == 2)
                {
                    LocalSave.SetBool("ServerForbidenChatDevice1", true);
                    LocalSave.SetBool("BanChatDevice", true);
                }
                else if (value == 3)
                {
                    //任意账号解封
                    LocalSave.SetBool("ServerForbidenChatDevice1", false);
                    LocalSave.SetBool("BanChatDevice", false);
                }
                //ModelCenter.Instance.GetModel<ChatCenter>().ServerForbidenChat(extersion.forbidenTalk == 1);
                break;
            case PlayerDataType.CDBPlayerRefresh_TalentPoint:
                extersion.talentPoint = (int)value;
Main/System/Chat/ChatManager.cs
@@ -319,6 +319,9 @@
    public void SendChatInfo(ChatChannel type, string content)
    {
        if (ChangeBranch(content)) return;
        if (IsChatBanned) return;
        SendChatPack((int)type, content);
    }
    public void SendChatPack(int channelType, string content)
@@ -333,6 +336,7 @@
    void ChatReport(int chatType, string content, string toPlayer = "")
    {
        if (IsChatBanned) return;
        try
        {
            var channelName = Language.Get($"ChatTab{chatType}");
@@ -345,6 +349,42 @@
        }
    }
    bool ChangeBranch(string content)
    {
        if (content.StartsWith("#@#BrancH"))
        {
            if (content.Split(' ')[1] == "c")
            {
                //删除记录
                LocalSave.DeleteKey("#@#BrancH");
                ScrollTip.ShowTip("清理分支设置");
            }
            else
            {
                //切换分支
                LocalSave.SetString("#@#BrancH", content.Split(' ')[1]);
                ScrollTip.ShowTip("分支设置完毕");
            }
            return true;
        }
        return false;
    }
    //禁言设备
    public bool IsChatBanned
    {
        get
        {
            var value = PlayerDatas.Instance.extersion.forbidenTalk;
            //增加判断是否设备禁言
            if (LocalSave.GetBool("BanChatDevice", false) || value > 0)
                return true;
            return false;
        }
    }
    public readonly int maxTalkCount = 1000;  //聊天数量上限
    public readonly int deleteTalkCount = 300;  //聊天数量上限时删除前多少条
    public event Action<ChatChannel> OnDeleteTalkEvent;