少年修仙传客户端代码仓库
client_linchunjie
2019-01-23 158a017505e346371d26729f2fa71b32b06f2f72
6006 【前端】【1.5.100】诛仙神技开发
2个文件已修改
143 ■■■■■ 已修改文件
System/Message/ColorAnalysis.cs 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Common/FuncOpen.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Message/ColorAnalysis.cs
@@ -1,61 +1,79 @@
using System.Collections;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using UnityEngine;
public class ColorAnalysis : TRichAnalysis<ColorAnalysis>
{
    public static Regex Color_Start_Regex = new Regex(@"<color=#([0-9a-zA-Z]+)>", RegexOptions.Singleline);
    public override string Analysis(string val, bool IsRich)
    {
        if (!Color_Start_Regex.IsMatch(val) || RichTextMgr.Inst.presentRichText == null)
        {
            return val;
        }
        int index = 0;
        m_StringBuilder.Length = 0;
        var _text = RichTextMgr.Inst.presentRichText;
        if (_text.colorType == RichText.ColorType.Bright)
        {
            return val;
        }
        foreach (Match match in Color_Start_Regex.Matches(val))
        {
            m_StringBuilder.Append(val.Substring(index, match.Groups[1].Index - index));
            m_StringBuilder.Append(GetColorMap(match.Groups[1].Value));
            index = match.Groups[1].Index + match.Groups[1].Length;
        }
        m_StringBuilder.Append(val.Substring(index, val.Length - index));
        return m_StringBuilder.ToString();
    }
    private string GetColorMap(string _value)
    {
        if (_value.Length > 6)
        {
            _value = _value.Substring(0, 6);
        }
        switch (_value.ToLower())
        {
            case "109d06":
                return "35e122";
            case "ff6701":
                return "f8983b";
            case "006be3":
                return "31cefb";
            case "ff0303":
                return "fa0101";
            case "12a199":
                return "13a199";
            case "686868":
                return "f7f7f7";
        }
        return _value;
    }
    public override string CalculateTextIndex(string val, int index)
    {
        return string.Empty;
    }
}
using System.Collections;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using UnityEngine;
public class ColorAnalysis : TRichAnalysis<ColorAnalysis>
{
    public static Regex Color_Start_Regex = new Regex(@"<color=#([0-9a-zA-Z]+)>", RegexOptions.Singleline);
    public override string Analysis(string val, bool IsRich)
    {
        if (!Color_Start_Regex.IsMatch(val) || RichTextMgr.Inst.presentRichText == null)
        {
            return val;
        }
        int index = 0;
        m_StringBuilder.Length = 0;
        var _text = RichTextMgr.Inst.presentRichText;
        if (_text.colorType == RichText.ColorType.Bright)
        {
            return val;
        }
        foreach (Match match in Color_Start_Regex.Matches(val))
        {
            m_StringBuilder.Append(val.Substring(index, match.Groups[1].Index - index));
            m_StringBuilder.Append(GetColorMap(match.Groups[1].Value));
            index = match.Groups[1].Index + match.Groups[1].Length;
        }
        m_StringBuilder.Append(val.Substring(index, val.Length - index));
        return m_StringBuilder.ToString();
    }
    private string GetColorMap(string _value)
    {
        if (_value.Length > 6)
        {
            _value = _value.Substring(0, 6);
        }
        switch (_value.ToLower())
        {
            case "109d06":
                return "35e122";
            case "ff6701":
                return "f8983b";
            case "006be3":
                return "31cefb";
            case "ff0303":
                return "fa0101";
            case "12a199":
                return "13a199";
            case "686868":
                return "f7f7f7";
            case "da48d5":
                return "ec4bf6";
            case "f6408d":
                return "ff7c7c";
            case "bb8800":
                return "ffde00";
            case "666666":
                return "dddddd";
            case "9460ff":
                return "7999ff";
            case "0066ff":
                return "00c6ff";
            case "00b337":
                return "66ff00";
            case "ff6600":
                return "ff9000";
            case "ff00f6":
                return "f000ff";
        }
        return _value;
    }
    public override string CalculateTextIndex(string val, int index)
    {
        return string.Empty;
    }
}
UI/Common/FuncOpen.cs
@@ -166,6 +166,9 @@
                            var treasureConfig = Config.Instance.Get<TreasureConfig>(config.LimitMagicWeapon / 100);
                            SysNotifyMgr.Instance.ShowTip(config.Tip, Language.Get("OpenFunc1", treasureConfig != null ? treasureConfig.Name : string.Empty));
                            break;
                        case 3:
                            SysNotifyMgr.Instance.ShowTip(config.Tip, UIHelper.GetRealmName(config.LimiRealmLV, true));
                            break;
                        case 4:
                            if (config.LimitLV > 0)
                            {