少年修仙传客户端代码仓库
client_linchunjie
2018-12-26 303229cd2af0bff37ef3119eac9cf700a0525d58
Merge remote-tracking branch 'origin/Cross_Server' into 【1.4】王者法宝
1 文件已重命名
11个文件已修改
1个文件已添加
1个文件已删除
347 ■■■■■ 已修改文件
Core/GameEngine/Model/Player/PlayerDatas.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToGameServer/CC0_CrossRealm/CC003_tagCGForceQuitCrossState.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToGameServer/CC0_CrossRealm/CC003_tagCGForceQuitCrossState.cs.meta 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC005_tagGCCrossRealmPKBillboardInfo.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerOneVsOneWin.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerRewardModel.cs 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/MatchWin.cs 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/RankCellCtrl.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/RankingWin.cs 101 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/SegmentRewardCell.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Login/CrossServerLogin.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Mount/PlayerMountDatas.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RoleParticulars/RoleParticularModel.cs 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/TimeUtility.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Player/PlayerDatas.cs
@@ -517,6 +517,7 @@
                        StageManager.Instance.Load<DungeonStage>(baseData.MapID, true);
                        if (hero != null && !hero.ActorInfo.serverDie)
                        {
                            hero.RequestName();
                            hero.IdleImmediate();
                            hero.State = E_ActorState.Idle;
                        }
Core/NetworkPackage/ClientPack/ClientToGameServer/CC0_CrossRealm/CC003_tagCGForceQuitCrossState.cs
New file
@@ -0,0 +1,19 @@
using UnityEngine;
using System.Collections;
// C0 03 强制退出跨服状态 #tagCGForceQuitCrossState
public class CC003_tagCGForceQuitCrossState : GameNetPackBasic
{
    public CC003_tagCGForceQuitCrossState()
    {
        combineCmd = (ushort)0x1801;
        _cmd = (ushort)0xC003;
    }
    public override void WriteToBytes()
    {
    }
}
Core/NetworkPackage/ClientPack/ClientToGameServer/CC0_CrossRealm/CC003_tagCGForceQuitCrossState.cs.meta
File was renamed from System/CrossServerOneVsOne/MatchWin.cs.meta
@@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: 784a736d12f092c4db01eddfdd2ea569
timeCreated: 1544583799
licenseType: Free
guid: 8121ba00aeb53ff4cab35031d1b94af1
timeCreated: 1545810908
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC005_tagGCCrossRealmPKBillboardInfo.cs
@@ -4,9 +4,11 @@
// C0 05 跨服PK赛季排行榜 #tagGCCrossRealmPKBillboardInfo
public class DTCC005_tagGCCrossRealmPKBillboardInfo : DtcBasic {     CrossServerRewardModel m_CrossServerRewardModel;
public class DTCC005_tagGCCrossRealmPKBillboardInfo : DtcBasic
{     CrossServerRewardModel m_CrossServerRewardModel;
    CrossServerRewardModel crossServerRewardModel { get { return m_CrossServerRewardModel ?? (m_CrossServerRewardModel = ModelCenter.Instance.GetModel<CrossServerRewardModel>()); } }
    public override void Done(GameNetPackBasic vNetPack) {
    public override void Done(GameNetPackBasic vNetPack)
    {
        base.Done(vNetPack);
        HC005_tagGCCrossRealmPKBillboardInfo vNetData = vNetPack as HC005_tagGCCrossRealmPKBillboardInfo;         if (vNetData == null)
        {
System/CrossServerOneVsOne/CrossServerOneVsOneWin.cs
@@ -151,7 +151,6 @@
            WindowCenter.Instance.CloseImmediately<CrossServerOneVsOneHonorStoreWin>();
            WindowCenter.Instance.CloseImmediately<SeasonRewardWin>();
            WindowCenter.Instance.CloseImmediately<SegmentRewardWin>();
            WindowCenter.Instance.CloseImmediately<MatchWin>();
            arena_SelectImg.SetActive(false);
            rankAward_SelectImg.SetActive(false);
            seasonAward_SelectImg.SetActive(false);
System/CrossServerOneVsOne/CrossServerRewardModel.cs
@@ -60,29 +60,16 @@
    CrossServerOneVsOneModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerOneVsOneModel>(); } }
    public Dictionary<int, SeasonAwardClass> SegmentRewardDic = new Dictionary<int, SeasonAwardClass>();
    public ImpactRankModel.RankAwardItem SeasonRewardDic = new ImpactRankModel.RankAwardItem();
    //Dictionary<int,>
    Dictionary<ZoneRankingStruct, Dictionary<int, RankingInformationClass>> ZoneRankingDic = new Dictionary<ZoneRankingStruct, Dictionary<int, RankingInformationClass>>();
    public Dictionary<int, RankingInformationClass> RankInformationDic = new Dictionary<int, RankingInformationClass>();
    public Dictionary<ZoneRankingStruct, Dictionary<int, RankingInformationClass>> ZoneRankingDic = new Dictionary<ZoneRankingStruct, Dictionary<int, RankingInformationClass>>();
    public Action CrossRealmPKAwardStateUpdate;//领取奖励刷新
    public Action RankInformationUpdate;//排行奖励刷新
    public Action RankInformationUpdate;//排行榜刷新
    private uint DayPKCountAwardState; //每日匹配次数奖励记录
    private uint DayWinCountAwardState; // 每日胜利次数奖励记录
    private uint DanLVAwardState; // 段位达标奖励记录
    private int SeasonAwardState; // 赛季结算奖励是否已领取
    private bool m_IsOpenMatch;
    public int ZoneID = 0;//赛区ID
    public int SeasonID = 0;//赛季ID
    public bool IsOpenMatch
    {
        get { return m_IsOpenMatch; }
        set { m_IsOpenMatch = value; }
    }
    DateTime m_DateTime = DateTime.Now;
    public DateTime Date_Time
    {
        get { return m_DateTime; }
        set { m_DateTime = value; }
    }
    public int MyRank = 0;//我的排名
    public override void Init()
    {
        GetSeasonAward();
@@ -137,6 +124,10 @@
                    itemClass.Isbind = int.Parse((_jsonData[j][2]).ToString());
                    itemClassList.Add(itemClass);
                }
                if (itemClassList.Count <= 0)
                {
                    continue;
                }
                seasonAwardClass.ItemList = itemClassList;
                SegmentRewardDic.Add(_config.DanLV, seasonAwardClass);
            }
@@ -161,10 +152,6 @@
            }
        }
        SeasonRewardDic = _award;
    }
    public void ResetTime()
    {
        Date_Time = TimeUtility.ServerNow;
    }
    public void CrossRealmPKAwardState(HC102_tagMCCrossRealmPKAwardState info)//c102跨服PK玩家奖励记录
    {
@@ -203,7 +190,7 @@
                    _bool = MathUtility.GetBitValue(DayWinCountAwardState, (ushort)Index);
                    break;
                case CrossRealmPKAwardStateEnum.DanLVAwardState:
                    _bool = MathUtility.GetBitValue(DayWinCountAwardState, (ushort)Index);
                    _bool = MathUtility.GetBitValue(DanLVAwardState, (ushort)Index);
                    break;
            }
        }
@@ -226,6 +213,17 @@
    public void ViewCrossPKBillboard(int ZoneID, int SeasonID)//(赛区,赛季) 查看跨服竞技场赛季排行榜 
    {
        ZoneRankingStruct zoneRanking = new ZoneRankingStruct();
        zoneRanking.ZoneID = ZoneID;
        zoneRanking.SeasonID = SeasonID;
        int seasonIDNow = CrossServerOneVsOnePKSeason.Instance.SeasonID;
        if (ZoneRankingDic.ContainsKey(zoneRanking))
        {
            if (RankInformationUpdate != null)
            {
                RankInformationUpdate();
            }
        }
        CC001_tagCGViewCrossPKBillboard c001 = new CC001_tagCGViewCrossPKBillboard();
        c001.ZoneID = (byte)ZoneID;
        c001.SeasonID = (byte)SeasonID;
@@ -234,11 +232,9 @@
    public void CrossRealmPKBillboardInfo(HC005_tagGCCrossRealmPKBillboardInfo info)//跨服PK赛季排行榜
    {
        ZoneID = info.ZoneID;
        SeasonID = info.SeasonID;
        Dictionary<int, RankingInformationClass> RankInformationDic = new Dictionary<int, RankingInformationClass>();
        if (info.Count > 0)
        {
            RankInformationDic.Clear();
            for (int i = 0; i < info.Count; i++)
            {
                if (!RankInformationDic.ContainsKey(i))
@@ -252,6 +248,10 @@
                    RankingInformation.DanLv = (int)info.PKBillboardList[i].DanLV;
                    RankingInformation.PkScore = (int)info.PKBillboardList[i].PKScore;
                    RankInformationDic.Add(i, RankingInformation);
                    if (PlayerDatas.Instance.baseData.PlayerID == info.PKBillboardList[i].PlayerID)
                    {
                        MyRank = i;
                    }
                }
                else
                {
@@ -276,7 +276,10 @@
        }
        else
        {
            ZoneRankingDic[zoneRank] = RankInformationDic;
            if (RankInformationDic.Count > 0)
            {
                ZoneRankingDic[zoneRank] = RankInformationDic;
            }
        }
        if (RankInformationUpdate != null)
        {
System/CrossServerOneVsOne/MatchWin.cs
File was deleted
System/CrossServerOneVsOne/RankCellCtrl.cs
@@ -19,12 +19,13 @@
        [SerializeField] Image m_RankNumBottom;
        [SerializeField] Text m_NameTxt;
        [SerializeField] Text m_JobTxt;
        [SerializeField] Text m_RankWhatTxt;
       // [SerializeField] Text m_RankWhatTxt;
        [SerializeField] Text m_SegmentTxt;
        [SerializeField] Text m_IntegralTxt;
        [SerializeField] Image m_RealmImage;
        CrossServerRewardModel m_CrossServerRewardModel;
        CrossServerRewardModel crossServerRewardModel { get { return m_CrossServerRewardModel ?? (m_CrossServerRewardModel = ModelCenter.Instance.GetModel<CrossServerRewardModel>()); } }
        RoleParticularModel roleParticularModel { get { return ModelCenter.Instance.GetModel<RoleParticularModel>(); } }
        public override void Refresh(CellView cell)
        {
            int index = cell.index;
@@ -53,25 +54,34 @@
            }
            m_RealmImage.gameObject.SetActive(false);
            RankingInformationClass data = null;
            if (crossServerRewardModel.RankInformationDic != null && index < crossServerRewardModel.RankInformationDic.Count)
            ZoneRankingStruct zoneRanking = new ZoneRankingStruct();
            zoneRanking.ZoneID= crossServerRewardModel.ZoneID;
            zoneRanking.SeasonID = crossServerRewardModel.SeasonID;
            Dictionary<int, RankingInformationClass> rankDic = new Dictionary<int, RankingInformationClass>();
            if (crossServerRewardModel.ZoneRankingDic.ContainsKey(zoneRanking))
            {
                data = crossServerRewardModel.RankInformationDic[index];
                rankDic = crossServerRewardModel.ZoneRankingDic[zoneRanking];
            }
            if (rankDic != null && index < rankDic.Count)
            {
                data = rankDic[index];
            }
            if (data != null)
            {
                m_RankButton.SetListener(()=> 
                {
                    DebugEx.LogError(data.PlayerID);
                    //DebugEx.LogError(data.PlayerID);
                    roleParticularModel.ViewFairyCrossServerOneVsOne(data.PlayerID);
                });
                m_NameTxt.text = data.PlayerName;
                m_JobTxt.text = OccupationNameConfig.GetOccupationName(data.Job, 0);
                m_JobTxt.text = OccupationNameConfig.GetOccupationName(data.Job, 1);
                RealmConfig presentCfg = Config.Instance.Get<RealmConfig>(data.Realm);
                if (presentCfg != null)
                {
                    m_RealmImage.gameObject.SetActive(true);
                    m_RealmImage.SetSprite(presentCfg.Img);
                }
                m_RankWhatTxt.text = data.Power.ToString();
              //  m_RankWhatTxt.text = data.Power.ToString();
                Segment(data.DanLv);
                m_IntegralTxt.text = data.PkScore.ToString();
            }
@@ -79,13 +89,13 @@
            {
                m_NameTxt.text = Language.Get("L1046");
                m_JobTxt.text = "-";
                m_RankWhatTxt.text = "-";
              //  m_RankWhatTxt.text = "-";
                m_SegmentTxt.text= "-";
                m_IntegralTxt.text= "-";
                m_NameTxt.color = UIHelper.GetUIColor(TextColType.NavyBrown);
                m_JobTxt.color = UIHelper.GetUIColor(TextColType.NavyBrown);
                m_RankWhatTxt.color = UIHelper.GetUIColor(TextColType.NavyBrown);
               // m_RankWhatTxt.color = UIHelper.GetUIColor(TextColType.NavyBrown);
                m_SegmentTxt.color = UIHelper.GetUIColor(TextColType.NavyBrown);
                m_SegmentTxt.color = UIHelper.GetUIColor(TextColType.NavyBrown);
            }
System/CrossServerOneVsOne/RankingWin.cs
@@ -11,7 +11,8 @@
using TableConfig;
using EnhancedUI.EnhancedScroller;
namespace Snxxz.UI {
namespace Snxxz.UI
{
    //积分排名
    [XLua.Hotfix]
    public class RankingWin : Window
@@ -20,6 +21,7 @@
        [SerializeField] Button m_CloseButton;
        [SerializeField] Text m_TextMyRank;//我的排名
        [SerializeField] Text m_TextScores;//我的积分
        [SerializeField] Text m_NumberText;//赛季
        [SerializeField] GameObject m_DivisionObj;//赛区
        [SerializeField] Text m_DivisionNameText1;//赛区名
@@ -38,23 +40,34 @@
        protected override void BindController()
        {
            m_ScrollerController.OnRefreshCell += OnRefreshGridCell;
            m_ScrollerController1.OnRefreshCell += OnRefreshGridCell_Z;//赛区
            m_ScrollerController2.OnRefreshCell += OnRefreshGridCell_S;//赛区
        }
        protected override void AddListeners()
        {
            m_CloseButton.AddListener(()=> { Close(); });
            m_CloseButton.AddListener(() => { Close(); });
            m_PullButton1.AddListener(OnClickPullButton1);
            m_PullButton2.AddListener(OnClickPullButton2);
        }
        protected override void OnPreOpen()
        {
            SetZoneIDAndSeasonID();
            ZoneAndSeasonpanel();
            m_NumberText.text = CrossServerOneVsOnePKSeason.Instance.SeasonID.ToString();
            m_TextScores.text = CrossServerOneVsOnePlayerInfo.Instance.Score.ToString();
            SetTextMyRank();
            SetZoneAndSeasonNum();
            OnCreateGridLineCell(m_ScrollerController);
            OnCreateGridLineCell_Z(m_ScrollerController1);
            OnCreateGridLineCell_S(m_ScrollerController2);
            m_ScrollerController.JumpIndex(0);
        }
        protected override void OnActived()
        {
            crossServerRewardModel.ViewCrossPKBillboard(crossServerRewardModel.ZoneID, crossServerRewardModel.SeasonID);//关于赛季查询
        }
        protected override void OnAfterOpen()
        {
            CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent += UpdatePlayerInfoEvent;
@@ -67,7 +80,7 @@
            crossServerRewardModel.RankInformationUpdate -= RankInformationUpdate;
        }
        protected override void OnAfterClose()
        {
@@ -75,16 +88,18 @@
        #endregion
        private void RankInformationUpdate()
        {
            m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见
            SetZoneAndSeasonNum();
            OnCreateGridLineCell(m_ScrollerController);
            m_ScrollerController.JumpIndex(0);
        }
        private void OnClickPullButton1()
        {
            m_ClickScreenOtherSpace1.SetActive(true);
            m_ClickScreenOtherSpace1.SetActive(!m_ClickScreenOtherSpace1.activeSelf);
        }
        private void OnClickPullButton2()
        {
            m_ClickScreenOtherSpace1.SetActive(false);
            m_ClickScreenOtherSpace2.SetActive(!m_ClickScreenOtherSpace2.activeSelf);
        }
        private void UpdatePlayerInfoEvent()
        {
@@ -109,19 +124,63 @@
                {
                    gridCtrl.AddCell(ScrollerDataType.Normal, i);
                }
            }
            gridCtrl.Restart();
        }
        void OnCreateGridLineCell_Z(ScrollerController gridCtrl)//赛区
        {
            gridCtrl.Refresh();
            for (int i = 1; i <= CrossServerOneVsOnePKSeason.Instance.ZoneCount; i++)
            {
                gridCtrl.AddCell(ScrollerDataType.Header, i);
            }
            gridCtrl.Restart();
        }
        void OnCreateGridLineCell_S(ScrollerController gridCtrl)//赛季
        {
            gridCtrl.Refresh();
            for (int i = 1; i <= CrossServerOneVsOnePKSeason.Instance.SeasonID; i++)
            {
                gridCtrl.AddCell(ScrollerDataType.Header, i);
            }
            gridCtrl.Restart();
        }
        private void OnRefreshGridCell(ScrollerDataType type, CellView cell)
        {
        }
        private void OnRefreshGridCell_Z(ScrollerDataType type, CellView cell)//赛区
        {
            int Index = cell.index;
            Button Btn = cell.GetComponent<Button>();
            Text txt = cell.transform.Find("Text").GetComponent<Text>();
            txt.text = "赛区" + Index;
            Btn.SetListener(() =>
            {
                crossServerRewardModel.ZoneID = Index;
                m_ClickScreenOtherSpace1.SetActive(false);
                crossServerRewardModel.ViewCrossPKBillboard(crossServerRewardModel.ZoneID, crossServerRewardModel.SeasonID);//关于赛季查询
            });
        }
        private void OnRefreshGridCell_S(ScrollerDataType type, CellView cell)//赛季
        {
            int Index = cell.index;
            Button Btn = cell.GetComponent<Button>();
            Text txt = cell.transform.Find("Text").GetComponent<Text>();
            txt.text = "赛季" + Index;
            Btn.SetListener(() =>
            {
                crossServerRewardModel.SeasonID = Index;
                m_ClickScreenOtherSpace2.SetActive(false);
                crossServerRewardModel.ViewCrossPKBillboard(crossServerRewardModel.ZoneID, crossServerRewardModel.SeasonID);//关于赛季查询
            });
        }
        private void SetTextMyRank()
        {
            int danlv = CrossServerOneVsOnePlayerInfo.Instance.DanLV;
            var config= Config.Instance.Get<CrossServerArenaConfig>(danlv);
            var config = Config.Instance.Get<CrossServerArenaConfig>(danlv);
            if (config != null && danlv >= 6)
            {
                m_TextMyRank.text = config.Name;
@@ -134,8 +193,20 @@
        private void SetZoneAndSeasonNum()
        {
            m_DivisionNameText1.text = crossServerRewardModel.ZoneID.ToString();
            m_DivisionNameText2.text = crossServerRewardModel.SeasonID.ToString();
            m_DivisionNameText1.text = "赛区"+crossServerRewardModel.ZoneID.ToString();
            m_DivisionNameText2.text = "赛季"+crossServerRewardModel.SeasonID.ToString();
        }
        private void SetZoneIDAndSeasonID()//设置赛区和ID
        {
            if (crossServerRewardModel.ZoneID == 0)
            {
                crossServerRewardModel.ZoneID = CrossServerOneVsOnePKSeason.Instance.ZoneID;
            }
            if (crossServerRewardModel.SeasonID == 0)
            {
                crossServerRewardModel.SeasonID = CrossServerOneVsOnePKSeason.Instance.SeasonID;
            }
        }
        private void ZoneAndSeasonpanel()
@@ -152,7 +223,7 @@
            {
                m_DivisionObj.gameObject.SetActive(false);
            }
            if (CrossServerOneVsOnePKSeason.Instance.SeasonID > 1)//赛区
            if (CrossServerOneVsOnePKSeason.Instance.SeasonID > 1)//赛季
            {
                m_SeasonObj.gameObject.SetActive(true);
                if (m_ClickScreenOtherSpace2.activeSelf)
System/CrossServerOneVsOne/SegmentRewardCell.cs
@@ -5,7 +5,8 @@
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using TableConfig;
namespace Snxxz.UI {
    //段位奖励的奖励条
    [XLua.Hotfix]
@@ -36,12 +37,19 @@
        }
        public void SetReceive(int id)
        {
            m_ReceiveBtn.RemoveAllListeners();
            m_ReceiveBtn.AddListener(OnClickReceive);
            _Id = id;
            var config = Config.Instance.Get<CrossServerArenaConfig>(_Id);
            if (config != null)
            {
                m_Image_Segment.SetSprite(config.IconKey);
              //  m_Image_Segment.SetNativeSize();
            }
            if (crossServerRewardModel.SegmentRewardDic.ContainsKey(id))
            {
                var dic = crossServerRewardModel.SegmentRewardDic[id];
                var dic = crossServerRewardModel.SegmentRewardDic[id];
                m_Text_Segment.text = dic.Name;
                ReceiveItem(id);
            }
System/Login/CrossServerLogin.cs
@@ -49,8 +49,8 @@
                opponentName = matchOK.MatchPlayer[0].PlayerName,
                opponentJob = matchOK.MatchPlayer[0].Job,
                opponentMaxHp = (int)matchOK.MatchPlayer[0].MaxHP,
                opponentLevel=(int)matchOK.MatchPlayer[0].LV,
                opponentPlayerId=(int)matchOK.MatchPlayer[0].PlayerID,
                opponentLevel = (int)matchOK.MatchPlayer[0].LV,
                opponentPlayerId = (int)matchOK.MatchPlayer[0].PlayerID,
            };
            Clock.Create(DateTime.Now + new TimeSpan(5 * TimeSpan.TicksPerSecond), () =>
@@ -241,7 +241,9 @@
            }
            else
            {
                //需要服务端再给一个封包来处理登录跨服失败的情况
                ExceptionCatcher.ReportException("登录跨服出现异常", StringUtility.Contact("角色:", PlayerDatas.Instance.baseData.PlayerName));
                var sendInfo = new CC003_tagCGForceQuitCrossState();
                GameNetSystem.Instance.SendInfo(sendInfo);
                loginModel.ReAccountLogin();
            }
        }
System/Mount/PlayerMountDatas.cs
@@ -250,7 +250,12 @@
        int type = 0;
        foreach (var key in _DicMountItem.Keys)
        {
            if (_DicMountItem[key] >= Config.Instance.Get<AttrFruitConfig>(key).MaxUseCnt)
            var AttrFruit = Config.Instance.Get<AttrFruitConfig>(key);
            if (AttrFruit == null)
            {
                continue;
            }
            if (_DicMountItem[key] >= AttrFruit.MaxUseCnt)
            {
                continue;
            }
System/RoleParticulars/RoleParticularModel.cs
@@ -73,6 +73,12 @@
            ViewRoleParticulars(_playerId);
        }
        public void ViewFairyCrossServerOneVsOne(int _playerId)
        {
            viewPlayerType = 4;
            ViewRoleParticulars(_playerId);
        }
        private void ViewRoleParticulars(int playerID)
        {
            if (viewPlayerType != 2)
@@ -96,9 +102,19 @@
                    return;
                }
            }
            CA212_tagCMViewPlayerInfo pak = new CA212_tagCMViewPlayerInfo();
            pak.PlayerID = (uint)playerID;
            GameNetSystem.Instance.SendInfo(pak);
            switch (viewPlayerType)
            {
                case 4:
                    CC002_tagCGViewCrossPlayerInfo c002 = new CC002_tagCGViewCrossPlayerInfo();
                    c002.PlayerID = (uint)playerID;
                    GameNetSystem.Instance.SendInfo(c002);
                    break;
                default:
                    CA212_tagCMViewPlayerInfo pak = new CA212_tagCMViewPlayerInfo();
                    pak.PlayerID = (uint)playerID;
                    GameNetSystem.Instance.SendInfo(pak);
                    break;
            }
        }
        public void OnRevRoleEquip(HA705_tagSCQueryPlayerCacheResult package)
@@ -597,6 +613,7 @@
            switch (viewPlayerType)
            {
                case 0:
                case 4:
                    if (!WindowCenter.Instance.IsOpen<RoleParticularsWin>())
                    {
                        WindowCenter.Instance.Open<RoleParticularsWin>();
Utility/TimeUtility.cs
@@ -134,6 +134,11 @@
    public static event Action OnCreateRoleTimeRefresh;
    public static void OnRefreshCreateRoleTime(HA124_tagMCPlayerInfo _package)
    {
        if (_package.socketType==GameNetSystem.SocketType.CrossSever)
        {
            return;
        }
        createRoleTime = Convert.ToDateTime(UIHelper.GetTime(_package.CreateRoleTime));
        createRoleTimeTail = new DateTime(createRoleTime.Year, createRoleTime.Month, createRoleTime.Day);
        if (OnCreateRoleTimeRefresh != null)
@@ -146,6 +151,11 @@
    public static event Action OnServerTimeRefresh;
    public static void OnRefreshServerTime(HA004_tagServerDateTime vNetData)
    {
        if (vNetData.socketType == GameNetSystem.SocketType.CrossSever)
        {
            return;
        }
        DateTime n = new DateTime(vNetData.Year, vNetData.Month, vNetData.Day, vNetData.Hour, vNetData.Minute, vNetData.Second);
        s_ServerTime = n;
        DebugEx.Log("OnRefreshServerTime月份:" + s_ServerTime.Month);
@@ -159,9 +169,15 @@
            SyncServerTime();
        }, 60);
    }
    public static event Action OnServerOpenDayRefresh;
    public static void OnRefreshServerOpenDay(HA005_tagOpenServerDay package)
    {
        if (package.socketType == GameNetSystem.SocketType.CrossSever)
        {
            return;
        }
        OpenDay = package.Day;
        IsMixServer = package.IsMixServer == 1;
        MixOpenDay = package.MixDay;