少年修仙传客户端代码仓库
client_linchunjie
2019-01-21 a8610f666942a4a53185fb2bb399d7b6c5c7e2d4
5982【前端】【1.5.100】聊天频道查看角色信息支持区分跨服或本服角色信息
2个文件已修改
114 ■■■■■ 已修改文件
System/Message/RichShowPlayerEvent.cs 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Tip/PlayerDetails.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Message/RichShowPlayerEvent.cs
@@ -1,37 +1,59 @@
using Snxxz.UI;
using System;
using System.Collections.Generic;
using UnityEngine;
public class RichShowPlayerEvent : TRichTextEvent
{
    public RichShowPlayerEvent()
    {
        RichTextMgr.Inst.RegisterEvent(RichTextEventEnum.SHOWPLAYER, this);
    }
    public override bool Execute(RichTextEventEnum type, RichTextMgr.HrefInfo href)
    {
        switch (type)
        {
            case RichTextEventEnum.SHOWPLAYER:
                {
                    uint id = 0;
                    if (uint.TryParse(href.mSplits["showplayer"], out id))
                    {
                        if (id == PlayerDatas.Instance.baseData.PlayerID)
                        {
                            return false;
                        }
                        PlayerDetails.ShowPlayerDetails((int)id, null);
                    }
                }
                break;
        }
        return false;
    }
    public override string GetDisplay(RichTextEventEnum type, Dictionary<string, string> dic)
    {
        return string.Empty;
    }
}
using Snxxz.UI;
using System;
using System.Collections.Generic;
using UnityEngine;
public class RichShowPlayerEvent : TRichTextEvent
{
    public RichShowPlayerEvent()
    {
        RichTextMgr.Inst.RegisterEvent(RichTextEventEnum.SHOWPLAYER, this);
    }
    public override bool Execute(RichTextEventEnum type, RichTextMgr.HrefInfo href)
    {
        switch (type)
        {
            case RichTextEventEnum.SHOWPLAYER:
                {
                    uint id = 0;
                    if (uint.TryParse(href.mSplits["showplayer"], out id))
                    {
                        if (id == PlayerDatas.Instance.baseData.PlayerID)
                        {
                            return false;
                        }
                        var serverGroupId = 0;
                        if (href.mSplits.ContainsKey("servergroupid"))
                        {
                            int.TryParse(href.mSplits["servergroupid"], out serverGroupId);
                        }
                        if (serverGroupId != 0 && serverGroupId != PlayerDatas.Instance.baseData.ServerGroupId)
                        {
                            var name = string.Empty;
                            if (href.mSplits.ContainsKey("name"))
                            {
                                name = href.mSplits["name"];
                            }
                            var level = 0;
                            if (href.mSplits.ContainsKey("level"))
                            {
                                int.TryParse(href.mSplits["level"], out level);
                            }
                            PlayerDetails.ShowCrossServerPlayer((int)id, level, name, serverGroupId);
                        }
                        else
                        {
                            PlayerDetails.ShowPlayerDetails((int)id, null);
                        }
                    }
                }
                break;
        }
        return false;
    }
    public override string GetDisplay(RichTextEventEnum type, Dictionary<string, string> dic)
    {
        return string.Empty;
    }
}
System/Tip/PlayerDetails.cs
@@ -40,6 +40,24 @@
            }
        }
        public static void ShowCrossServerPlayer(int playerId, int level, string name, int serverGroupId)
        {
            openType = OpenType.CrossPlayer;
            PlayerID = playerId;
            LV = level;
            Job = 1;
            RealmLV = 0;
            PlayerName = name;
            OnlineType = 0;
            IsInTeam = 0;
            ServerGroupId = serverGroupId;
            if (!WindowCenter.Instance.IsOpen<PlayerDetailWin>())
            {
                WindowCenter.Instance.Open<PlayerDetailWin>();
            }
        }
        public static void ShowAreaPlayer(int _playerId)
        {
            openType = OpenType.Default;