少年修仙传客户端代码仓库
client_linchunjie
2018-09-21 7c88b8d1880b9d509d7db0acf425034a3f00e2e6
服务器时间封包修改
5个文件已修改
105 ■■■■■ 已修改文件
Core/NetworkPackage/ServerPack/HA0_Sys/HA005_tagOpenServerDay.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/DailyQuestData.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyLeagueModel.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/OperationTimeHepler.cs 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/TimeUtility.cs 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HA0_Sys/HA005_tagOpenServerDay.cs
@@ -8,7 +8,14 @@
    public ushort Day;    // 已开服天数,从0开始
    public byte IsMixServer;    //是否是合服服务器
    public ushort MixDay;    // 已合服天数,从0开始
    public string OpenServerTime;    //开服时间yyyy-MM-dd HH:mm:ss
    public byte OpenWeekday;    //开服是周几,1代表周一
    public ushort NowYear;    //服务器当前时间 - 年
    public byte NowMonth;
    public byte NowDay;
    public byte NowHour;
    public byte NowMinute;
    public byte NowSecond;
    public uint NowMicSecond;
    public HA005_tagOpenServerDay()
    {
@@ -20,7 +27,14 @@
        TransBytes(out Day, vBytes, NetDataType.WORD);
        TransBytes(out IsMixServer, vBytes, NetDataType.BYTE);
        TransBytes(out MixDay, vBytes, NetDataType.WORD);
        TransBytes(out OpenServerTime, vBytes, NetDataType.Chars, 19);
        TransBytes(out OpenWeekday, vBytes, NetDataType.BYTE);
        TransBytes(out NowYear, vBytes, NetDataType.WORD);
        TransBytes(out NowMonth, vBytes, NetDataType.BYTE);
        TransBytes(out NowDay, vBytes, NetDataType.BYTE);
        TransBytes(out NowHour, vBytes, NetDataType.BYTE);
        TransBytes(out NowMinute, vBytes, NetDataType.BYTE);
        TransBytes(out NowSecond, vBytes, NetDataType.BYTE);
        TransBytes(out NowMicSecond, vBytes, NetDataType.DWORD);
    }
}
System/DailyQuest/DailyQuestData.cs
@@ -229,7 +229,7 @@
        }
        var isSpecialDay = TimeUtility.OpenWeekCnt <= 1;
        var openDayWeek = (int)TimeUtility.openServerTime.DayOfWeek;
        var openDayWeek = (int)TimeUtility.openServerDayOfWeek;
        var dayIndex = TimeUtility.OpenDay + 1;
        if (isSpecialDay)
        {
@@ -278,7 +278,7 @@
    public bool TryGetTodayNearestOpenTime(out HourMinute _hourMinute)
    {
        var isSpecialDay = TimeUtility.OpenWeekCnt <= 1;
        var openDayWeek = (int)TimeUtility.openServerTime.DayOfWeek;
        var openDayWeek = (int)TimeUtility.openServerDayOfWeek;
        var dayIndex = TimeUtility.OpenDay + 1;
        if (isSpecialDay)
        {
@@ -336,7 +336,7 @@
    public bool ContainTimeNode(int week, int timeNode)
    {
        var openDayWeek = (int)TimeUtility.openServerTime.DayOfWeek;
        var openDayWeek = (int)TimeUtility.openServerDayOfWeek;
        List<HourMinute> hourMinutes = null;
        var dayDelta = (week == 0 ? 7 : week) - (openDayWeek == 0 ? 7 : openDayWeek);
@@ -365,7 +365,7 @@
    private bool ContainWeek(int week)
    {
        var openDayWeek = (int)TimeUtility.openServerTime.DayOfWeek;
        var openDayWeek = (int)TimeUtility.openServerDayOfWeek;
        var todayWeek = (int)TimeUtility.ServerNow.DayOfWeek;
        var dayDelta = (week == 0 ? 7 : week) - (openDayWeek == 0 ? 7 : openDayWeek);
@@ -430,7 +430,7 @@
        var isSpecificDay = TimeUtility.OpenWeekCnt <= 1;
        if (isSpecificDay)
        {
            var openDayWeek = (int)TimeUtility.openServerTime.DayOfWeek;
            var openDayWeek = (int)TimeUtility.openServerDayOfWeek;
            var todayWeek = (int)TimeUtility.ServerNow.DayOfWeek;
            var dayDelta = ((week == 0 ? 7 : week) - (todayWeek == 0 ? 7 : todayWeek));
            var dayIndex = TimeUtility.OpenDay + 1 + dayDelta;
System/FairyAu/FairyLeagueModel.cs
@@ -17,8 +17,7 @@
        {
            get
            {
                var openServerTime = TimeUtility.openServerTime;
                var openServerWeekDay = openServerTime.DayOfWeek == DayOfWeek.Sunday ? 7 : (int)openServerTime.DayOfWeek;
                var openServerWeekDay = TimeUtility.openServerDayOfWeek == DayOfWeek.Sunday ? 7 : (int)TimeUtility.openServerDayOfWeek;
                if (specialLeagueTimes.ContainsKey(openServerWeekDay))
                {
                    var dict = specialLeagueTimes[openServerWeekDay];
@@ -40,8 +39,7 @@
        {
            get
            {
                var openServerTime = TimeUtility.openServerTime;
                var openServerWeekDay = openServerTime.DayOfWeek == DayOfWeek.Sunday ? 7 : (int)openServerTime.DayOfWeek;
                var openServerWeekDay = TimeUtility.openServerDayOfWeek == DayOfWeek.Sunday ? 7 : (int)TimeUtility.openServerDayOfWeek;
                if (specialLeagueTimes.ContainsKey(openServerWeekDay))
                {
                    var dict = specialLeagueTimes[openServerWeekDay];
@@ -976,7 +974,7 @@
                {
                    return x.stage == FairyLeagueStage.Fight;
                });
                var time = TimeUtility.openServerTime.AddTicks((weekTime.rings[0].openServerDay - 1) * TimeSpan.TicksPerDay);
                var time = TimeUtility.ServerNow.AddTicks((weekTime.rings[0].openServerDay - TimeUtility.OpenDay - 1) * TimeSpan.TicksPerDay);
                time = new DateTime(time.Year, time.Month, time.Day, fightStage.startHour, fightStage.startMinute, 0);
                seconds = (int)(time - TimeUtility.ServerNow).TotalSeconds;
                seconds = Mathf.Max(seconds, 0);
@@ -988,8 +986,7 @@
        {
            if (TimeUtility.OpenWeekCnt <= 1)
            {
                var openServerTime = TimeUtility.openServerTime;
                var openServerWeekDay = openServerTime.DayOfWeek == DayOfWeek.Sunday ? 7 : (int)openServerTime.DayOfWeek;
                var openServerWeekDay = TimeUtility.openServerDayOfWeek == DayOfWeek.Sunday ? 7 : (int)TimeUtility.openServerDayOfWeek;
                if (specialLeagueTimes.ContainsKey(openServerWeekDay))
                {
                    var dict = specialLeagueTimes[openServerWeekDay];
System/Welfare/OperationTimeHepler.cs
@@ -476,24 +476,24 @@
                    day = int.Parse(dateArray[2].Trim())
                };
            }
            else if (dateArray != null && dateArray.Length == 1)
            {
                var time = TimeUtility.openServerTime;
                if (time.Equals(default(DateTime)))
                {
                    DebugEx.Log("服务期开服时间下发顺序有问题");
                }
                var days = 0;
                int.TryParse(date, out days);
                days = Mathf.Max(1, days);
                time = time.AddDays(days - 1);
                return new OperationDate()
                {
                    year = time.Year,
                    month = time.Month,
                    day = time.Day,
                };
            }
            //else if (dateArray != null && dateArray.Length == 1)
            //{
            //    var time = TimeUtility.openServerTime;
            //    if (time.Equals(default(DateTime)))
            //    {
            //        DebugEx.Log("服务期开服时间下发顺序有问题");
            //    }
            //    var days = 0;
            //    int.TryParse(date, out days);
            //    days = Mathf.Max(1, days);
            //    time = time.AddDays(days - 1);
            //    return new OperationDate()
            //    {
            //        year = time.Year,
            //        month = time.Month,
            //        day = time.Day,
            //    };
            //}
            return default(OperationDate);
        }
Utility/TimeUtility.cs
@@ -4,7 +4,7 @@
public static class TimeUtility
{
    private static DateTime _serverTime = DateTime.Now;
    private static DateTime s_ServerTime = DateTime.Now;
    private static float _checkTime = 0;
    /// <summary>
@@ -15,10 +15,10 @@
        get
        {
            float tick = Time.realtimeSinceStartup - _checkTime;
            DateTime real = _serverTime.AddSeconds(tick);
            DateTime real = s_ServerTime.AddSeconds(tick);
            return real;
        }
        private set { _serverTime = value; }
        private set { s_ServerTime = value; }
    }
    /// <summary>
@@ -95,7 +95,7 @@
        get; private set;
    }
    public static DateTime openServerTime;
    public static DayOfWeek openServerDayOfWeek;
    public static int OpenWeekCnt
    {
@@ -138,10 +138,13 @@
    public static void OnRefreshServerTime(HA004_tagServerDateTime vNetData)
    {
        DateTime n = new DateTime(vNetData.Year, vNetData.Month, vNetData.Day, vNetData.Hour, vNetData.Minute, vNetData.Second);
        _serverTime = n;
        DebugEx.Log("OnRefreshServerTime月份:" + _serverTime.Month);
        s_ServerTime = n;
        DebugEx.Log("OnRefreshServerTime月份:" + s_ServerTime.Month);
        _checkTime = Time.realtimeSinceStartup;
        if (OnServerTimeRefresh != null) OnServerTimeRefresh();
        if (OnServerTimeRefresh != null)
        {
            OnServerTimeRefresh();
        }
        TimeDownMgr.Instance.Begin(TimeDownMgr.CoolTimeType.SyncServerTime, 60, (float tick) =>
        {
            SyncServerTime();
@@ -153,7 +156,18 @@
        OpenDay = package.Day;
        IsMixServer = package.IsMixServer == 1;
        MixOpenDay = package.MixDay;
        DateTime.TryParse(package.OpenServerTime, out openServerTime);
        openServerDayOfWeek = package.OpenWeekday == 7 ? DayOfWeek.Sunday : (DayOfWeek)package.OpenWeekday;
        OnRefreshServerTime(new HA004_tagServerDateTime()
        {
            Year = package.NowYear,
            Month = package.NowMonth,
            Day = package.NowDay,
            Hour = package.NowHour,
            Minute = package.NowMinute,
            Second = package.NowSecond,
            MicSecond = package.NowMicSecond,
        });
        //DateTime.TryParse(package.OpenServerTime, out openServerTime);
        if (OnServerOpenDayRefresh != null)
        {
            OnServerOpenDayRefresh();