少年修仙传客户端代码仓库
client_linchunjie
2018-11-05 a20b5e54e1022e045c589e991f5e8abb7578c513
4577【前端】【1.2.0】仙界盛典新增时间配置支持(支持活动5点开启,0点关闭)
1个文件已修改
119 ■■■■ 已修改文件
System/Welfare/OperationBase.cs 119 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/OperationBase.cs
@@ -79,22 +79,36 @@
            switch (resetType)
            {
                case 0:
                    return true;
                case 1:
                    var indexOfDays = IndexOfDays(time);
                    if (indexOfDays == 0)
                    {
                        return time.Hour >= DayResetHour;
                    }
                    if (indexOfDays == totalDays)
                    {
                        return time.Hour < DayResetHour;
                    }
                    if (indexOfDays < totalDays)
                    {
                        return true;
                    }
                case 1:
                    {
                        var indexOfDays = IndexOfDays(time);
                        if (indexOfDays == 0)
                        {
                            return time.Hour >= DayResetHour;
                        }
                        if (indexOfDays == totalDays)
                        {
                            return time.Hour < DayResetHour;
                        }
                        if (indexOfDays < totalDays)
                        {
                            return true;
                        }
                    }
                    break;
                case 2:
                    {
                        var indexOfDays = IndexOfDays(time);
                        if (indexOfDays == 0)
                        {
                            return time.Hour >= DayResetHour;
                        }
                        return true;
                    }
            }
            return false;
        }
@@ -134,6 +148,7 @@
                    case 0:
                        return index;
                    case 1:
                    case 2:
                        return time.Hour < DayResetHour ? Mathf.Max(0, index - 1) : index;
                    default:
                        return index;
@@ -189,6 +204,7 @@
            switch (resetType)
            {
                case 0:
                case 2:
                    return (int)(endDate.AddSeconds(24 * 60 * 60) - time).TotalSeconds;
                case 1:
                    var endTime = new DateTime(endDate.year, endDate.month, endDate.day, DayResetHour, 0, 0);
@@ -218,13 +234,15 @@
            if (allDay)
            {
                var startHour = 0;
                if (resetType == 0)
                switch (resetType)
                {
                    startHour = 0;
                }
                else if (resetType == 1)
                {
                    startHour = DayResetHour;
                    case 0:
                        startHour = 0;
                        break;
                    case 1:
                    case 2:
                        startHour = DayResetHour;
                        break;
                }
                var startTime = new DateTime(startDate.year, startDate.month, startDate.day, startHour, 0, 0);
                seconds = Mathf.CeilToInt((float)(startTime - time).TotalSeconds);
@@ -260,22 +278,57 @@
                {
                    return GetSurplusTime(time);
                }
                if (resetType == 0)
                switch (resetType)
                {
                    DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
                          TimeUtility.Day, 0, 0, 0);
                    endOperationTime = endOperationTime.AddDays(1);
                    seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds;
                }
                else if (resetType == 1)
                {
                    DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
                          TimeUtility.Day, DayResetHour, 0, 0);
                    if (time.Hour >= DayResetHour)
                    {
                        endOperationTime = endOperationTime.AddDays(1);
                    }
                    seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds;
                    case 0:
                        {
                            DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
                                 TimeUtility.Day, 0, 0, 0);
                            endOperationTime = endOperationTime.AddDays(1);
                            seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds;
                        }
                        break;
                    case 1:
                        {
                            DateTime endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
                                 TimeUtility.Day, DayResetHour, 0, 0);
                            if (time.Hour >= DayResetHour)
                            {
                                endOperationTime = endOperationTime.AddDays(1);
                            }
                            seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds;
                        }
                        break;
                    case 2:
                        {
                            var indexOfDays = IndexOfDays(time);
                            DateTime endOperationTime = DateTime.Now;
                            if (indexOfDays == totalDays)
                            {
                                if (time.Hour >= DayResetHour)
                                {
                                    endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
                                         TimeUtility.Day, 0, 0, 0);
                                    endOperationTime = endOperationTime.AddDays(1);
                                }
                                else
                                {
                                    endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
                                         TimeUtility.Day, DayResetHour, 0, 0);
                                }
                            }
                            else
                            {
                                endOperationTime = new DateTime(TimeUtility.Year, TimeUtility.Month,
                                     TimeUtility.Day, DayResetHour, 0, 0);
                                if (time.Hour >= DayResetHour)
                                {
                                    endOperationTime = endOperationTime.AddDays(1);
                                }
                            }
                            seconds = (int)(endOperationTime - TimeUtility.ServerNow).TotalSeconds;
                        }
                        break;
                }
            }
            else