From 16dba0ff4d2eed7f5a4a7c37640f158ee9f73d8c Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期五, 05 六月 2026 19:22:43 +0800
Subject: [PATCH] 669 子 【武将】武将系统 / 时装新增开服天数显示入口字段
---
Main/System/Store/StoreModel.cs | 77 ++++++++++++++++++++++++++++++++++++++
1 files changed, 76 insertions(+), 1 deletions(-)
diff --git a/Main/System/Store/StoreModel.cs b/Main/System/Store/StoreModel.cs
index cc7c163..ba9b185 100644
--- a/Main/System/Store/StoreModel.cs
+++ b/Main/System/Store/StoreModel.cs
@@ -212,10 +212,85 @@
return validDatas;
}
+ public List<StoreData> GetTimeValidHeroSkinStoreDatas()
+ {
+ var validDatas = GetTimeValidStoreDatas(StoreFunc.HeroSkin);
+ if (validDatas == null)
+ return null;
+
+ List<StoreData> heroSkinValidDatas = new List<StoreData>();
+ for (int i = 0; i < validDatas.Count; i++)
+ {
+ var storeData = validDatas[i];
+ if (IsHeroSkinShopOpenByStoreConfig(storeData.storeConfig))
+ {
+ heroSkinValidDatas.Add(storeData);
+ }
+ }
+
+ return heroSkinValidDatas;
+ }
+
+ public bool IsHeroSkinShopOpenByShopID(int shopID)
+ {
+ return IsHeroSkinShopOpenByStoreConfig(StoreConfig.Get(shopID));
+ }
+
+ public bool IsHeroSkinShopOpenByStoreConfig(StoreConfig storeConfig)
+ {
+ if (!TryGetHeroSkinShopSkinID(storeConfig, out var skinID))
+ {
+ return true;
+ }
+
+ return IsHeroSkinShopOpenBySkinID(skinID);
+ }
+
+ public bool IsHeroSkinShopOpenBySkinID(int skinID)
+ {
+ var skinConfig = HeroSkinConfig.Get(skinID);
+ if (skinConfig == null || skinConfig.OpenDay <= 0)
+ {
+ return true;
+ }
+
+ return TimeUtility.OpenDay + 1 >= skinConfig.OpenDay;
+ }
+
+ public bool TryGetHeroSkinShopSkinID(StoreConfig storeConfig, out int skinID)
+ {
+ skinID = 0;
+ if (storeConfig == null)
+ {
+ return false;
+ }
+
+ if (HeroSkinAttrConfig.TryGetSkinIDByItemID(storeConfig.ItemID, out skinID))
+ {
+ return true;
+ }
+
+ if (storeConfig.ItemListEx == null)
+ {
+ return false;
+ }
+
+ for (int i = 0; i < storeConfig.ItemListEx.Length; i++)
+ {
+ var item = storeConfig.ItemListEx[i];
+ if (item != null && item.Length > 0 && HeroSkinAttrConfig.TryGetSkinIDByItemID(item[0], out skinID))
+ {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
public bool TryGetTimeValidSkinShopIDByItemID(int itemID, out int shopID)
{
shopID = 0;
- var validDatas = GetTimeValidStoreDatas(StoreFunc.HeroSkin);
+ var validDatas = GetTimeValidHeroSkinStoreDatas();
if (validDatas == null)
{
return false;
--
Gitblit v1.8.0