少年修仙传客户端代码仓库
Client_PangDeRong
2018-12-22 d68d2b97c4309cc841129d8b0fe4985b8a640c4c
5398 子 【开发】【1.4】跨服竞技场 ,正在进入跨服时,限制进入副本
1 文件已复制
3个文件已删除
1 文件已重命名
2个文件已添加
6个文件已修改
425 ■■■■■ 已修改文件
Core/GameEngine/DataToCtl/PackageRegedit.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC001_tagGCCrossRealmPKMatchOK.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC002_tagGCCrossRealmPKStartMatch.cs 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC004_tagGCCrossRealmPKSeason.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC004_tagGCCrossRealmPKSeasonInfo.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC004_tagGCCrossRealmPKSeasonInfo.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC004_tagGCCrossRealmPKSeason.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC004_tagGCCrossRealmPKSeason.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC004_tagGCCrossRealmPKSeasonInfo.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC004_tagGCCrossRealmPKSeasonInfo.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerArenaWin.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerModel.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerPKSeason.cs 188 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -201,7 +201,7 @@
        Register(typeof(HC001_tagGCCrossRealmPKMatchOK), typeof(DTCC001_tagGCCrossRealmPKMatchOK));
        Register(typeof(HC002_tagGCCrossRealmPKStartMatch), typeof(DTCC002_tagGCCrossRealmPKStartMatch));
        Register(typeof(HC003_tagGCCrossRealmPKOverInfo), typeof(DTCC003_tagGCCrossRealmPKOverInfo));
        Register(typeof(HC004_tagGCCrossRealmPKSeason), typeof(DTCC004_tagGCCrossRealmPKSeason));
        Register(typeof(HC004_tagGCCrossRealmPKSeasonInfo), typeof(DTCC004_tagGCCrossRealmPKSeasonInfo));
        Register(typeof(HC101_tagMCCrossRealmPKPlayerInfo), typeof(DTCC101_tagMCCrossRealmPKPlayerInfo));
        Register(typeof(HC102_tagMCCrossRealmPKAwardState), typeof(DTCC102_tagMCCrossRealmPKAwardState));
        Register(typeof(HC005_tagGCCrossRealmPKBillboardInfo), typeof(DTCC005_tagGCCrossRealmPKBillboardInfo));
Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC001_tagGCCrossRealmPKMatchOK.cs
@@ -2,19 +2,26 @@
using System.Collections;
using Snxxz.UI;
// C0 01 跨服PK匹配成功 #tagGCCrossRealmPKMatchOK
// C0 01 跨服PK匹配成功 #tagGCCrossRealmPKMatchOK
public class DTCC001_tagGCCrossRealmPKMatchOK : DtcBasic
{
{
    public override void Done(GameNetPackBasic vNetPack)
    {
        base.Done(vNetPack);
    {
        base.Done(vNetPack);
        var package = vNetPack as HC001_tagGCCrossRealmPKMatchOK;
        if (package.socketType == GameNetSystem.SocketType.Main)
        {
            CrossServerLogin.Instance.UpdateCrossServerOneVsOneData(package);
            WindowCenter.Instance.Open<CrossServerOneVsOneEnterConfirmWin>();
            ModelCenter.Instance.GetModel<CrossServerModel>().IsMatching = false;
        }
    }
}
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC002_tagGCCrossRealmPKStartMatch.cs
@@ -1,11 +1,24 @@
using UnityEngine;
using System.Collections;
using System;
// C0 02 跨服PK开始匹配 #tagGCCrossRealmPKStartMatch
public class DTCC002_tagGCCrossRealmPKStartMatch : DtcBasic {
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        HC002_tagGCCrossRealmPKStartMatch vNetData = vNetPack as HC002_tagGCCrossRealmPKStartMatch;
    }
}
// C0 02 跨服PK开始匹配 #tagGCCrossRealmPKStartMatch
public class DTCC002_tagGCCrossRealmPKStartMatch : DtcBasic {
    public static event Action CrossServerStartMatchEvent;
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        HC002_tagGCCrossRealmPKStartMatch vNetData = vNetPack as HC002_tagGCCrossRealmPKStartMatch;
        if(CrossServerStartMatchEvent != null)
        {
            CrossServerStartMatchEvent();
        }
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC004_tagGCCrossRealmPKSeason.cs
File was deleted
Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC004_tagGCCrossRealmPKSeasonInfo.cs
New file
@@ -0,0 +1,20 @@
using UnityEngine;
using System.Collections;
using Snxxz.UI;
// C0 04 跨服PK赛季信息 #tagGCCrossRealmPKSeasonInfo
public class DTCC004_tagGCCrossRealmPKSeasonInfo : DtcBasic {
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        HC004_tagGCCrossRealmPKSeasonInfo vNetData = vNetPack as HC004_tagGCCrossRealmPKSeasonInfo;
        CrossServerPKSeason.Instance.UpdatePkSeason(vNetData);
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC004_tagGCCrossRealmPKSeasonInfo.cs.meta
File was renamed from Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC004_tagGCCrossRealmPKSeason.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: caa8b080f4218d74dbadca1f9f9bac29
timeCreated: 1545270558
guid: f26d37a470172e64684bbea1ca2fb561
timeCreated: 1545468995
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC004_tagGCCrossRealmPKSeason.cs
File was deleted
Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC004_tagGCCrossRealmPKSeason.cs.meta
File was deleted
Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC004_tagGCCrossRealmPKSeasonInfo.cs
New file
@@ -0,0 +1,57 @@
using UnityEngine;
using System.Collections;
// C0 04 跨服PK赛季信息 #tagGCCrossRealmPKSeasonInfo
public class HC004_tagGCCrossRealmPKSeasonInfo : GameNetPackBasic {
    public byte ZoneCount;    // 赛区个数
    public  tagGCCrossRealmPKZone[] ZoneList;    // 赛区列表
    public byte ZoneID;    // 所属赛区ID
    public ushort SeasonID;    // 当前赛季ID
    public HC004_tagGCCrossRealmPKSeasonInfo () {
        _cmd = (ushort)0xC004;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out ZoneCount, vBytes, NetDataType.BYTE);
        ZoneList = new tagGCCrossRealmPKZone[ZoneCount];
        for (int i = 0; i < ZoneCount; i ++) {
            ZoneList[i] = new tagGCCrossRealmPKZone();
            TransBytes (out ZoneList[i].ZoneID, vBytes, NetDataType.BYTE);
            TransBytes (out ZoneList[i].ZoneNameLen, vBytes, NetDataType.BYTE);
            TransBytes (out ZoneList[i].ZoneName, vBytes, NetDataType.Chars, ZoneList[i].ZoneNameLen);
            TransBytes (out ZoneList[i].SeasonCount, vBytes, NetDataType.WORD);
            ZoneList[i].SeasonList = new tagGCCrossRealmPKSeason[ZoneList[i].SeasonCount];
            for (int j = 0; j < ZoneList[i].SeasonCount; j ++) {
                ZoneList[i].SeasonList[j] = new tagGCCrossRealmPKSeason();
                TransBytes (out ZoneList[i].SeasonList[j].SeasonID, vBytes, NetDataType.WORD);
                TransBytes (out ZoneList[i].SeasonList[j].StartDate, vBytes, NetDataType.Chars, 10);
                TransBytes (out ZoneList[i].SeasonList[j].EndDate, vBytes, NetDataType.Chars, 10);
                TransBytes (out ZoneList[i].SeasonList[j].EndTime, vBytes, NetDataType.Chars, 5);
                TransBytes (out ZoneList[i].SeasonList[j].NextStartDate, vBytes, NetDataType.Chars, 10);
                TransBytes (out ZoneList[i].SeasonList[j].NextEndDate, vBytes, NetDataType.Chars, 10);
            }
        }
        TransBytes (out ZoneID, vBytes, NetDataType.BYTE);
        TransBytes (out SeasonID, vBytes, NetDataType.WORD);
    }
    public struct tagGCCrossRealmPKZone {
        public byte ZoneID;        // 赛区ID
        public byte ZoneNameLen;
        public string ZoneName;        // 赛区名
        public ushort SeasonCount;
        public  tagGCCrossRealmPKSeason[] SeasonList;        // 赛季列表
    }
    public struct tagGCCrossRealmPKSeason {
        public ushort SeasonID;        // 当前赛季ID
        public string StartDate;        // 开始日期 yyyy-MM-dd
        public string EndDate;        // 结束日期 yyyy-MM-dd
        public string EndTime;        // 赛季结算时间,赛季奖励该时间后才可领取 hh:mm
        public string NextStartDate;        // 下赛季开始日期 yyyy-MM-dd
        public string NextEndDate;        // 下赛季结束日期 yyyy-MM-dd
    }
}
Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC004_tagGCCrossRealmPKSeasonInfo.cs.meta
copy from Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC004_tagGCCrossRealmPKSeason.cs.meta copy to Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC004_tagGCCrossRealmPKSeasonInfo.cs.meta
File was copied from Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC004_tagGCCrossRealmPKSeason.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: caa8b080f4218d74dbadca1f9f9bac29
timeCreated: 1545270558
guid: ee68d3ee41cab3b40b488fb5cd7ed870
timeCreated: 1545468995
licenseType: Pro
MonoImporter:
  serializedVersion: 2
System/CrossServerOneVsOne/CrossServerArenaWin.cs
@@ -17,6 +17,7 @@
        [SerializeField] Text reaminNumText;
        [SerializeField] Text seasonTimeText;
        [SerializeField] Text openTimeText;
        [SerializeField] Text winStreakText;
        [SerializeField] Button buyTimesBtn;
        [SerializeField] Button matchRecordBtn;
        [SerializeField] GameObject inSeasonTimeObj;
@@ -43,6 +44,7 @@
            SetDisplay();
            TimeMgr.Instance.OnMinuteEvent += UpdateMinute;
            GlobalTimeEvent.Instance.secondEvent += UpdateSecond;
            DTCC002_tagGCCrossRealmPKStartMatch.CrossServerStartMatchEvent += OnStartMatch;
        }
        protected override void OnAfterOpen()
@@ -110,6 +112,7 @@
        {
            winRateText.text = CrossServerPlayerInfo.Instance.DisplayWinningRate();
            sumNumText.text = CrossServerPlayerInfo.Instance.PKCount.ToString();
            winStreakText.text = CrossServerPlayerInfo.Instance.CWinCount.ToString();
        }
        private void UpdateMinute()
@@ -203,21 +206,24 @@
            WindowCenter.Instance.Open<RankingWin>();
        }
        private void OnStartMatch()
        {
            lookPlayerObj.SetActive(true);
            crossServerModel.IsMatching = true;
            crossServerModel.matchStartTime = DateTime.Now;
            UpdateLookPlayerTime();
            UpdateActivityState();
        }
        private void ClickMatch(int type)
        {
            crossServerModel.SendCrossMatch(type);
            lookPlayerObj.SetActive(type == 1);
            if(type == 1)
            if(type != 1)
            {
                crossServerModel.IsMatching = true;
                crossServerModel.matchStartTime = DateTime.Now;
                UpdateLookPlayerTime();
            }
            else
            {
                lookPlayerObj.SetActive(false);
                crossServerModel.IsMatching = false;
                UpdateActivityState();
            }
            UpdateActivityState();
        }
        private void ClickMatchRecord()
System/CrossServerOneVsOne/CrossServerModel.cs
@@ -9,7 +9,7 @@
{
    [XLua.Hotfix]
    [XLua.LuaCallCSharp]
    public class CrossServerModel : Model, IBeforePlayerDataInitialize, IAfterPlayerDataInitialize, IPlayerLoginOk
    public class CrossServerModel : Model, IBeforePlayerDataInitialize, IAfterPlayerDataInitialize,ISwitchAccount ,IPlayerLoginOk
    {
        public string PkResultLocalSaveKey { get; private set; }
        public List<CrossServerPkResult> localSaveResults { get; private set; }
@@ -23,12 +23,12 @@
        public override void Init()
        {
            IsMatching = false;
            ParseFuncConfig();
        }
        public void OnBeforePlayerDataInitialize()
        {
            IsMatching = false;
            dungeonModel.updateMissionEvent -= UpdateFBHelp;
            rewardModel.CrossRealmPKAwardStateUpdate -= UpdateDayAwardState;
            CrossServerPlayerInfo.Instance.UpdatePlayerInfoEvent -= UpdateDayAwardState;
@@ -42,12 +42,21 @@
            GetLocalSaveData();
        }
        public void OnSwitchAccount()
        {
            IsMatching = false;
        }
        public void OnPlayerLoginOk()
        {
            rewardModel.CrossRealmPKAwardStateUpdate += UpdateDayAwardState;
            CrossServerPlayerInfo.Instance.UpdatePlayerInfoEvent += UpdateDayAwardState;
            dungeonModel.updateMissionEvent += UpdateFBHelp;
            UpdateDayAwardState();
            if(IsMatching)
            {
                SendCrossMatch(1);
            }
        }
        public override void UnInit()
@@ -57,6 +66,7 @@
        private void InitData()
        {
            CrossServerPKSeason.Instance.InitData();
            CrossServerPlayerInfo.Instance.InitData();
            pkResultInfo = new CrossServerPkResult();
        }
System/CrossServerOneVsOne/CrossServerPKSeason.cs
@@ -11,21 +11,77 @@
    {
        public int ZoneCount { get; private set;}    // 所有赛区个数
        public byte[] ZoneIDList { get; private set; }    // 所有赛区列表
        public List<PkZoneInfo> ZoneIDList { get; private set; }    // 所有赛区列表
        public int ZoneID { get; private set; }    // 所属赛区ID
        public int SeasonID { get; private set; }      // 当前赛季ID
        public int SeasonID;    // 当前赛季ID
        public OperationDate StartDate { get; private set; }      // 开始日期 yyyy-MM-dd
        public class PkZoneInfo
        {
            public int ZoneID { get; private set; }        // 赛区ID
        public OperationDate EndDate { get; private set; }       // 结束日期 yyyy-MM-dd
            public string ZoneName { get; private set; }         // 赛区名
        public string EndTime { get; private set; }      // 赛季结算时间,赛季奖励该时间后才可领取 hh:mm
            public int SeasonCount { get; private set; }
        public OperationDate NextStartDate { get; private set; }     // 下赛季开始日期 yyyy-MM-dd
            public List<PkSeasonInfo> SeasonList { get; private set; }          // 赛季列表
        public OperationDate NextEndDate { get; private set; }     // 下赛季结束日期 yyyy-MM-dd
            public void SetZoneInfo(HC004_tagGCCrossRealmPKSeasonInfo.tagGCCrossRealmPKZone pKZone)
            {
                this.ZoneID = pKZone.ZoneID;
                this.ZoneName = pKZone.ZoneName;
                this.SeasonCount = pKZone.SeasonCount;
                SeasonList = new List<PkSeasonInfo>();
                for(int i = 0; i < pKZone.SeasonCount; i++)
                {
                    var pkSeason = pKZone.SeasonList[i];
                    PkSeasonInfo seasonInfo = new PkSeasonInfo();
                    seasonInfo.SetPkSeasonInfo(pkSeason);
                    SeasonList.Add(seasonInfo);
                }
            }
        }
        public class PkSeasonInfo
        {
            public int SeasonID { get; private set; }      // 当前赛季ID
            public OperationDate StartDate { get; private set; }      // 开始日期 yyyy-MM-dd
            public OperationDate EndDate { get; private set; }       // 结束日期 yyyy-MM-dd
            public string EndTime { get; private set; }      // 赛季结算时间,赛季奖励该时间后才可领取 hh:mm
            public OperationDate NextStartDate { get; private set; }     // 下赛季开始日期 yyyy-MM-dd
            public OperationDate NextEndDate { get; private set; }     // 下赛季结束日期 yyyy-MM-dd
            public void SetPkSeasonInfo(HC004_tagGCCrossRealmPKSeasonInfo.tagGCCrossRealmPKSeason seasonInfo)
            {
                this.SeasonID = seasonInfo.SeasonID;
                this.StartDate = ParseOperationDate(seasonInfo.StartDate);
                this.EndDate = ParseOperationDate(seasonInfo.EndDate);
                this.EndTime = seasonInfo.EndTime;
                this.NextStartDate = ParseOperationDate(seasonInfo.NextStartDate);
                this.NextEndDate = ParseOperationDate(seasonInfo.NextEndDate);
            }
            private OperationDate ParseOperationDate(string date)
            {
                string[] dateArray = date.Split('-');
                if (dateArray != null && dateArray.Length == 3)
                {
                    return new OperationDate()
                    {
                        year = int.Parse(dateArray[0].Trim()),
                        month = int.Parse(dateArray[1].Trim()),
                        day = int.Parse(dateArray[2].Trim())
                    };
                }
                return default(OperationDate);
            }
        }
        public event Action activityStartEvent;
        public event Action activityEndEvent;
@@ -36,13 +92,15 @@
        public CrossServerPKSeason()
        {
            DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitializeEvent;
            GlobalTimeEvent.Instance.secondEvent += SecondEvent;
        }
        private void BeforePlayerDataInitializeEvent()
        public void InitData()
        {
            ZoneCount = 0;
            ZoneIDList = null;
            ZoneID = 0;
            SeasonID = 0;
        }
        public List<HourMinute> GetActivityTimes()
@@ -75,19 +133,58 @@
            }
        }
        public void UpdatePkSeason(HC004_tagGCCrossRealmPKSeason pkSeason)
        public void UpdatePkSeason(HC004_tagGCCrossRealmPKSeasonInfo pkSeason)
        {
            inDateNotify = false;
            stepDateNotify = false;
            this.ZoneCount = pkSeason.ZoneCount;
            this.ZoneIDList = pkSeason.ZoneIDList;
            this.ZoneID = pkSeason.ZoneID;
            this.SeasonID = pkSeason.SeasonID;
            this.StartDate = ParseOperationDate(pkSeason.StartDate);
            this.EndDate = ParseOperationDate(pkSeason.EndDate);
            this.EndTime = pkSeason.EndTime;
            this.NextStartDate = ParseOperationDate(pkSeason.NextStartDate);
            this.NextEndDate = ParseOperationDate(pkSeason.NextEndDate);
            var zoneIDs = pkSeason.ZoneList;
            this.ZoneIDList = new List<PkZoneInfo>();
            for(int i = 0; i < pkSeason.ZoneCount; i++)
            {
                var pkZone = pkSeason.ZoneList[i];
                PkZoneInfo zoneInfo = new PkZoneInfo();
                zoneInfo.SetZoneInfo(pkZone);
                ZoneIDList.Add(zoneInfo);
            }
        }
        public bool TryGetZoneInfo(out PkZoneInfo zoneInfo)
        {
            zoneInfo = null;
            if (ZoneIDList == null) return false;
            for(int i = 0; i < ZoneIDList.Count; i++)
            {
                var info = ZoneIDList[i];
                if (this.ZoneID == info.ZoneID)
                {
                    zoneInfo = info;
                    return true;
                }
            }
            return false;
        }
        public bool TryGetSeasonInfo(out PkSeasonInfo seasonInfo)
        {
            seasonInfo = null;
            PkZoneInfo zoneInfo = null;
            bool isZone = TryGetZoneInfo(out zoneInfo);
            if (!isZone) return false;
            for(int i = 0; i < zoneInfo.SeasonList.Count; i++)
            {
                var info = zoneInfo.SeasonList[i];
                if(this.SeasonID == info.SeasonID)
                {
                    seasonInfo = info;
                    return true;
                }
            }
            return false;
        }
        public bool InDay(DateTime time)
@@ -98,7 +195,13 @@
                month = time.Month,
                day = time.Day,
            };
            return date >= StartDate && date <= EndDate;
            PkSeasonInfo seasonInfo = null;
            bool isSeason = TryGetSeasonInfo(out seasonInfo);
            if(isSeason)
            {
                return date >= seasonInfo.StartDate && date <= seasonInfo.EndDate;
            }
            return false;
        }
        public bool InOpenTime()
@@ -114,28 +217,40 @@
            {
                return -1;
            }
            DateTime s = new DateTime(StartDate.year, StartDate.month, StartDate.day);
            return (time - s).Days;
            PkSeasonInfo seasonInfo = null;
            bool isSeason = TryGetSeasonInfo(out seasonInfo);
            if(isSeason)
            {
                DateTime s = new DateTime(seasonInfo.StartDate.year, seasonInfo.StartDate.month, seasonInfo.StartDate.day);
                return (time - s).Days;
            }
            return 0;
        }
        public string ToDisplaySeasonTime()
        {
            if(!StartDate.Equals(default(OperationDate))
                && InDay(TimeUtility.ServerNow))
            PkSeasonInfo seasonInfo = null;
            bool isSeason = TryGetSeasonInfo(out seasonInfo);
            if(isSeason)
            {
                return Language.Get("CrossServer106", ToDisplayTime(StartDate, EndDate));
            }
            else
            {
                if(NextStartDate.Equals(default(OperationDate)))
                if (!seasonInfo.StartDate.Equals(default(OperationDate))
                    && InDay(TimeUtility.ServerNow))
                {
                    return Language.Get("CrossServer107", Language.Get("CrossServer108"));
                    return Language.Get("CrossServer106", ToDisplayTime(seasonInfo.StartDate, seasonInfo.EndDate));
                }
                else
                {
                    return Language.Get("CrossServer107", ToDisplayTime(NextStartDate, NextEndDate));
                    if (seasonInfo.NextStartDate.Equals(default(OperationDate)))
                    {
                        return Language.Get("CrossServer107", Language.Get("CrossServer108"));
                    }
                    else
                    {
                        return Language.Get("CrossServer107", ToDisplayTime(seasonInfo.NextStartDate, seasonInfo.NextEndDate));
                    }
                }
            }
           return Language.Get("CrossServer107", Language.Get("CrossServer108"));
        }
        private string ToDisplayTime(OperationDate start,OperationDate end)
@@ -145,21 +260,6 @@
                return StringUtility.Contact(start.ToDisplay(),"-",end.ToDisplay());
            }
            return start.ToDisplay();
        }
        OperationDate ParseOperationDate(string date)
        {
            string[] dateArray = date.Split('-');
            if (dateArray != null && dateArray.Length == 3)
            {
                return new OperationDate()
                {
                    year = int.Parse(dateArray[0].Trim()),
                    month = int.Parse(dateArray[1].Trim()),
                    day = int.Parse(dateArray[2].Trim())
                };
            }
            return default(OperationDate);
        }
    }
}