少年修仙传客户端代码仓库
client_Wu Xijin
2018-10-18 3678e238ee59a49ecaf80248323a18dfcf3dcce2
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
6个文件已修改
228 ■■■■■ 已修改文件
System/DailyQuest/DailyQuestData.cs 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyGrabBossModel.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyGrabBossNoticeWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/PlayerTaskDatas.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/TaskBoxBGMWin.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OpenServerActivityWin.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/DailyQuestData.cs
@@ -334,110 +334,133 @@
    }
    public int GetFirstOpenSurplusSeconds()
    public int GetNextSessionSurplusTime()
    {
        if (IsAfterFirstOpen())
        if (InOpenTime())
        {
            return 0;
        }
        var openDayWeek = (int)TimeUtility.openServerDayOfWeek;
        var dayIndex = TimeUtility.OpenDay + 1;
        var maxDays = 15 - openDayWeek == 0 ? 7 : openDayWeek;
        var startDay = dayIndex;
        var createRoleTime = TimeUtility.createRoleTime;
        if (dayIndex == 1 && specialOpenTimes.ContainsKey(openDayWeek) && specialOpenTimes[openDayWeek].ContainsKey(dayIndex))
        var maxSpecialDays = 15 - (openDayWeek == 0 ? 7 : openDayWeek);
        var hour = TimeUtility.ServerNow.Hour;
        var minute = TimeUtility.ServerNow.Minute;
        for (int i = 0; i <= 7; i++)//一周内必须有活动
        {
            var openServerDay = TimeUtility.ServerNow.AddTicks(-TimeUtility.OpenDay * TimeSpan.TicksPerDay);
            if (createRoleTime.Year == openServerDay.Year && createRoleTime.Month == openServerDay.Month
                && createRoleTime.Day == openServerDay.Day)
            List<HourMinute> hourminutes = null;
            var days = dayIndex + i;
            if (days <= maxSpecialDays)
            {
                var hourMinutes = specialOpenTimes[openDayWeek][1];
                var hourMinute = hourMinutes[hourMinutes.Count - 1];
                var hour = createRoleTime.Hour;
                var minute = createRoleTime.Minute;
                if (hour > hourMinute.hourEnd ||
                    (hour == hourMinute.hourEnd && minute >= hourMinute.minuteEnd))
                if (!specialOpenTimes.ContainsKey(openDayWeek)
                || !specialOpenTimes[openDayWeek].ContainsKey(days))
                {
                    startDay++;
                    continue;
                }
                hourminutes = specialOpenTimes[openDayWeek][days];
            }
        }
        for (int i = startDay; i <= maxDays; i++)
        {
            if (specialOpenTimes.ContainsKey(openDayWeek) && specialOpenTimes[openDayWeek].ContainsKey(dayIndex))
            else
            {
                var days = i - dayIndex;
                var hourMinute = specialOpenTimes[openDayWeek][dayIndex][0];
                var hour = TimeUtility.ServerNow.Hour;
                var minute = TimeUtility.ServerNow.Minute;
                var time = TimeUtility.ServerNow.AddDays(days);
                time = new DateTime(time.Year, time.Month, time.Day, hourMinute.hourBegin, hourMinute.minuteBegin, 0);
                var seconds = (int)(time - TimeUtility.ServerNow).TotalSeconds;
                return Mathf.Max(0, seconds);
                var dayOfWeek = (int)TimeUtility.ServerNow.AddTicks(i * TimeSpan.TicksPerDay).DayOfWeek;
                if (!openTimes.ContainsKey(dayOfWeek))
                {
                    continue;
                }
                hourminutes = openTimes[dayOfWeek];
            }
            if (hourminutes != null)
            {
                foreach (var hourMinute in hourminutes)
                {
                    if (days == dayIndex && hourMinute.AfterOpenTime(hour, minute))
                    {
                        continue;
                    }
                    var time = TimeUtility.ServerNow.AddTicks(i * TimeSpan.TicksPerDay);
                    time = new DateTime(time.Year, time.Month, time.Day, hourMinute.hourBegin, hourMinute.minuteBegin, 0);
                    var seconds = (int)(time - TimeUtility.ServerNow).TotalSeconds;
                    return Mathf.Max(0, seconds);
                }
            }
        }
        return 0;
    }
    public bool IsAfterFirstOpen()
    public int PassSessionCount(DateTime beginTime)
    {
        var isSpecialDay = TimeUtility.OpenWeekCnt <= 1;
        if (!isSpecialDay)
        {
            return true;
        }
        var openDayWeek = (int)TimeUtility.openServerDayOfWeek;
        var dayIndex = TimeUtility.OpenDay + 1;
        var maxDays = 15 - openDayWeek == 0 ? 7 : openDayWeek;
        var startDay = 1;
        var createRoleTime = TimeUtility.createRoleTime;
        if (specialOpenTimes.ContainsKey(openDayWeek) && specialOpenTimes[openDayWeek].ContainsKey(1))
        var maxSpecialDays = 15 - (openDayWeek == 0 ? 7 : openDayWeek);
        var beginHour = beginTime.Hour;
        var beginMinute = beginTime.Minute;
        var session = 0;
        var openServerDay = TimeUtility.ServerNow.AddTicks(-TimeUtility.OpenDay * TimeSpan.TicksPerDay);
        openServerDay = new DateTime(openServerDay.Year, openServerDay.Month, openServerDay.Day);
        var beginDay = (int)(beginTime - openServerDay).TotalDays + 1;
        List<HourMinute> hourMinutes = null;
        if (beginDay <= maxSpecialDays)
        {
            var openServerDay = TimeUtility.ServerNow.AddTicks(-TimeUtility.OpenDay * TimeSpan.TicksPerDay);
            if (createRoleTime.Year == openServerDay.Year && createRoleTime.Month == openServerDay.Month
                && createRoleTime.Day == openServerDay.Day)
            if (specialOpenTimes.ContainsKey(openDayWeek) && specialOpenTimes[openDayWeek].ContainsKey(beginDay))
            {
                var hourMinutes = specialOpenTimes[openDayWeek][1];
                var hourMinute = hourMinutes[hourMinutes.Count - 1];
                var hour = createRoleTime.Hour;
                var minute = createRoleTime.Minute;
                if (hour > hourMinute.hourEnd ||
                    (hour == hourMinute.hourEnd && minute >= hourMinute.minuteEnd))
                {
                    startDay = 2;
                }
                hourMinutes = specialOpenTimes[openDayWeek][beginDay];
            }
        }
        for (int i = startDay; i <= maxDays; i++)
        else
        {
            if (specialOpenTimes.ContainsKey(openDayWeek) && specialOpenTimes[openDayWeek].ContainsKey(dayIndex))
            var dayOfWeek = (int)beginTime.DayOfWeek;
            if (openTimes.ContainsKey(dayOfWeek))
            {
                hourMinutes = openTimes[dayOfWeek];
            }
        }
        if (hourMinutes != null)
        {
            var hourMinute = hourMinutes[hourMinutes.Count - 1];
            if (hourMinute.AfterOpenTime(beginHour, beginMinute))
            {
                beginDay++;
            }
        }
        var nowHour = TimeUtility.ServerNow.Hour;
        var nowMinute = TimeUtility.ServerNow.Minute;
        for (int i = beginDay; i <= dayIndex; i++)
        {
            hourMinutes = null;
            if (i <= maxSpecialDays)
            {
                if (specialOpenTimes.ContainsKey(openDayWeek) && specialOpenTimes[openDayWeek].ContainsKey(i))
                {
                    hourMinutes = specialOpenTimes[openDayWeek][i];
                }
            }
            else
            {
                var dayOfWeek = (int)openServerDay.AddTicks((i - 1) * TimeSpan.TicksPerDay).DayOfWeek;
                if (openTimes.ContainsKey(dayOfWeek))
                {
                    hourMinutes = openTimes[dayOfWeek];
                }
            }
            if (hourMinutes != null)
            {
                if (i < dayIndex)
                {
                    return true;
                    session += hourMinutes.Count;
                }
                if (i == dayIndex)
                else if (i == dayIndex)
                {
                    var hourMinute = specialOpenTimes[openDayWeek][dayIndex][0];
                    var hour = TimeUtility.ServerNow.Hour;
                    var minute = TimeUtility.ServerNow.Minute;
                    if (hour < hourMinute.hourEnd ||
                        (hour == hourMinute.hourEnd && minute < hourMinute.minuteEnd))
                    foreach (var hourMinute in hourMinutes)
                    {
                        return false;
                        if (hourMinute.AfterOpenTime(nowHour, nowMinute))
                        {
                            session++;
                        }
                    }
                    else
                    {
                        return true;
                    }
                }
                if (i > dayIndex)
                {
                    return false;
                }
            }
        }
        return true;
        return session;
    }
    public bool ContainTimeNode(int week, int timeNode)
@@ -621,6 +644,19 @@
        }
    }
    public bool AfterOpenTime(int hour,int minute)
    {
        if (wholeDay)
        {
            return false;
        }
        else
        {
            var minutes = hour * 60 + minute;
            return (hourEnd * 60 + minuteEnd) <= minutes;
        }
    }
    public override string ToString()
    {
        var minuteBeginStr = minuteBegin > 9 ? minuteBegin.ToString() : StringUtility.Contact("0", minuteBegin);
System/FairyAu/FairyGrabBossModel.cs
@@ -346,6 +346,12 @@
                noticeShowPet = int.Parse(config.Numerical1);
                noticeShowHorse = int.Parse(config.Numerical2);
            }
            config = Config.Instance.Get<FuncConfigConfig>("FairyGrabBossNoticeSessions");
            noticeSessions = 2;
            if (config != null)
            {
                noticeSessions = int.Parse(config.Numerical1);
            }
        }
        public bool TryGetDropItems(int bossId, out List<Item> dropItems)
@@ -697,7 +703,8 @@
                DailyQuestOpenTime dailyQuestOpenTime;
                if (dailyQuestModel.TryGetOpenTime((int)DailyQuestType.FairyGrabBoss, out dailyQuestOpenTime))
                {
                    return FuncOpen.Instance.IsFuncOpen(139) && !dailyQuestOpenTime.IsAfterFirstOpen();
                    return FuncOpen.Instance.IsFuncOpen(139)
                        && dailyQuestOpenTime.PassSessionCount(TimeUtility.createRoleTime) < noticeSessions;
                }
                return false;
            }
@@ -715,17 +722,20 @@
        bool cacheNoticeOpen { get; set; }
        int noticeSessions { get; set; }
        public event Action<int> onStateUpate;
        public int GetFirstOpenSeconds()
        public int GetNextSessionSeconds()
        {
            int seconds = 0;
            if (!InActivityTime)
            if (!IsOpen)
            {
                DailyQuestOpenTime dailyQuestOpenTime;
                if (dailyQuestModel.TryGetOpenTime((int)DailyQuestType.FairyGrabBoss, out dailyQuestOpenTime))
                {
                    seconds = dailyQuestOpenTime.GetFirstOpenSurplusSeconds();
                }
                return 0;
            }
            DailyQuestOpenTime dailyQuestOpenTime;
            if (dailyQuestModel.TryGetOpenTime((int)DailyQuestType.FairyGrabBoss, out dailyQuestOpenTime))
            {
                seconds = dailyQuestOpenTime.GetNextSessionSurplusTime();
            }
            return seconds;
        }
System/FairyAu/FairyGrabBossNoticeWin.cs
@@ -77,7 +77,7 @@
        void DisplayTime()
        {
            var seconds = model.GetFirstOpenSeconds();
            var seconds = model.GetNextSessionSeconds();
            var isOpen = model.IsOpen;
            if (seconds > 0)
            {
System/MainInterfacePanel/PlayerTaskDatas.cs
@@ -358,7 +358,10 @@
            {
                if (BountyDic.ContainsKey(_TaskNow) || FairyAuDic.ContainsKey(_TaskNow))
                {
                    RequestGetTaskAward("OK");
                    if (!ModelCenter.Instance.GetModel<TeamModel>().teamPrepare.isPreparing)
                    {
                        RequestGetTaskAward("OK");
                    }
                }
            }
@@ -375,7 +378,10 @@
            {
                if (BountyDic.ContainsKey(_TaskNow) || FairyAuDic.ContainsKey(_TaskNow))
                {
                    RequestGetTaskAward("OK");
                    if (!ModelCenter.Instance.GetModel<TeamModel>().teamPrepare.isPreparing)
                    {
                        RequestGetTaskAward("OK");
                    }
                }
            }
        }
System/MainInterfacePanel/TaskBoxBGMWin.cs
@@ -143,11 +143,15 @@
            if (_AllMissionDict.ContainsKey(_TaskId))
            {
                if (_AllMissionDict[_TaskId].Type == 7 || (_AllMissionDict[_TaskId].Type == 12 /*&& vipmodel.GetVipPrivilegeCnt(VipPrivilegeType.AutoFairyMisstion) >= 1*/))
                if (_AllMissionDict[_TaskId].Type == 7 || (_AllMissionDict[_TaskId].Type == 12))
                {
                    taskmodel.RequestGetTaskAward("OK");
                    WindowCenter.Instance.CloseImmediately<TaskBoxBGMWin>();
                    WindowCenter.Instance.Open<MainInterfaceWin>();
                    if (!ModelCenter.Instance.GetModel<TeamModel>().teamPrepare.isPreparing)
                    {
                        taskmodel.RequestGetTaskAward("OK");
                        WindowCenter.Instance.CloseImmediately<TaskBoxBGMWin>();
                        WindowCenter.Instance.Open<MainInterfaceWin>();
                    }
                }
            }
        }
System/OpenServerActivity/OpenServerActivityWin.cs
@@ -186,7 +186,7 @@
            if (cell != null)
            {
                var activityCell = cell as OpenServerActivityCell;
                var seconds = fairyGrabBossModel.GetFirstOpenSeconds();
                var seconds = fairyGrabBossModel.GetNextSessionSeconds();
                bool isOpen = fairyGrabBossModel.IsOpen;
                activityCell.title.gameObject.SetActive(seconds > 0 || isOpen);
                activityCell.title.color = UIHelper.GetUIColor(TextColType.Green, true);
@@ -282,7 +282,7 @@
                    break;
                case 13:
                    {
                        var seconds = fairyGrabBossModel.GetFirstOpenSeconds();
                        var seconds = fairyGrabBossModel.GetNextSessionSeconds();
                        bool isOpen = fairyGrabBossModel.IsOpen;
                        _cell.title.gameObject.SetActive(seconds > 0 || isOpen);
                        _cell.title.color = UIHelper.GetUIColor(TextColType.Green, true);