| | |
| | | OnUpdateFirstChargeInfo?.Invoke(); |
| | | } |
| | | |
| | | public string key { get { return StringUtility.Contact("FirstCharge_AllRewardsClaimed_Time_", PlayerDatas.Instance.baseData.PlayerID); } } |
| | | |
| | | /// <summary> |
| | | /// 检查是否所有首充奖励都已领取,如果是,则将当前服务器时间保存到本地 |
| | | /// </summary> |
| | | private void CheckAndSaveAllRewardsClaimedTime() |
| | | { |
| | | // 检查是否所有奖励都已领取 |
| | | if (IsAllFirstChargeRewardsClaimed()) |
| | | { |
| | | // 生成一个唯一的键来存储时间 |
| | | string key = $"FirstCharge_AllRewardsClaimed_Time_{PlayerDatas.Instance.baseData.PlayerID}"; |
| | | // 将当前服务器时间保存到本地 |
| | | LocalSave.SetString(key, TimeUtility.ServerNow.Ticks.ToString()); |
| | | } |
| | | if (LocalSave.HasKey(key)) |
| | | return; |
| | | // 所有奖励都已领取? |
| | | if (!IsAllFirstChargeRewardsClaimed()) |
| | | return; |
| | | // 将当前服务器时间保存到本地 |
| | | LocalSave.SetInt(key, TimeUtility.AllSeconds); |
| | | } |
| | | public void UpdateRedPoint() |
| | | { |
| | |
| | | // 检查是否已经过了所有奖励领取完毕后的第二天0点 |
| | | public bool IsNextDayAfterAllClaimed() |
| | | { |
| | | // 生成一个唯一的键来获取时间 |
| | | string key = $"FirstCharge_AllRewardsClaimed_Time_{PlayerDatas.Instance.baseData.PlayerID}"; |
| | | |
| | | // 检查是否存在记录的时间戳 |
| | | if (!LocalSave.HasKey(key)) |
| | | return false; |
| | | |
| | | // 获取记录的时间戳 |
| | | string timeString = LocalSave.GetString(key); |
| | | if (string.IsNullOrEmpty(timeString)) |
| | | int time = LocalSave.GetInt(key); |
| | | if (time <= 0) |
| | | return false; |
| | | |
| | | // 解析时间戳 |
| | | if (!long.TryParse(timeString, out long ticks)) |
| | | return false; |
| | | |
| | | // 将时间戳转换为DateTime |
| | | DateTime allRewardsClaimedTime = new DateTime(ticks); |
| | | |
| | | // 计算第二天0点的时间 |
| | | DateTime nextDayStart = allRewardsClaimedTime.Date.AddDays(1); |
| | | |
| | | // 判断当前服务器时间是否已经过了第二天0点 |
| | | DateTime serverNow = TimeUtility.ServerNow; |
| | | return serverNow >= nextDayStart; |
| | | DateTime endDateTime = TimeUtility.GetTime((uint)time).Date.AddDays(1); |
| | | return TimeUtility.ServerNow >= endDateTime; |
| | | } |
| | | |
| | | } |