From b8f9f7e78313ab7b3232686c72a3ed74d423c7d3 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 31 十月 2025 15:09:36 +0800
Subject: [PATCH] 0312 武将培养增加全屏避免引导问题,引导默认隐藏资源避免第一次加载闪烁; 合成修改
---
Main/System/KnapSack/PackManager.cs | 47 ++++++++++++++++++++++++++++++++++-------------
1 files changed, 34 insertions(+), 13 deletions(-)
diff --git a/Main/System/KnapSack/PackManager.cs b/Main/System/KnapSack/PackManager.cs
index afefa1c..a66d931 100644
--- a/Main/System/KnapSack/PackManager.cs
+++ b/Main/System/KnapSack/PackManager.cs
@@ -36,7 +36,8 @@
public Dictionary<int, int> PackMaxCountDict = new Dictionary<int, int>(); //鑳屽寘绫诲瀷锛氳儗鍖呮牸瀛愭渶澶ф暟閲�
public int initBagGridCount { get; private set; } //鍒濆鐗╁搧鑳屽寘鏍煎瓙鏁�
public int[] itemPackSortTyps { get; private set; } //鑳屽寘鐗╁搧鐨勬寜绫诲瀷鎺掑簭
- public List<string> composeItemGuidList = new List<string>(); //鍚堟垚鍒楄〃鐗╁搧guid
+ public List<int> composeItemIDList = new List<int>(); //鍚堟垚鍒楄〃鐗╁搧ID
+ List<int> canComposeItemIDList = new List<int>(); //鏁伴噺瓒冲鍚堟垚鍒楄〃鐗╁搧ID 鎺掑簭鍒ゆ柇鐢�
//寮�鏍煎瓙
public Dictionary<int, int> openGirdMoneyDict = new Dictionary<int, int>(); //鑳屽寘绫诲瀷锛氭秷鑰楄揣甯佺被鍨�
@@ -897,11 +898,13 @@
SinglePack singlePack = GetSinglePack(PackType.Item);
var items = singlePack.GetAllItems();
+ redpointComposePack.state = RedPointState.None;
foreach (var item in items.Values)
{
- if (ItemCompoundConfig.IsCompoundItem(item.itemId))
+ int makeID = ItemCompoundConfig.GetMakeIDByMaterial(item.itemId);
+ if (makeID != 0)
{
- var config = ItemCompoundConfig.GetItemCompoundConfig(item.itemId);
+ var config = ItemCompoundConfig.GetItemCompoundConfig(makeID);
var targetID = config.itemID;
var targetCnt = config.itemCount;
if (GetItemCountByID(PackType.Item, targetID) >= targetCnt)
@@ -941,35 +944,53 @@
public void RefreshItemComposeList()
{
//鏀堕泦鍚堟垚鐗╁搧
- composeItemGuidList.Clear();
+ composeItemIDList.Clear();
+ canComposeItemIDList.Clear();
SinglePack singlePack = GetSinglePack(PackType.Item);
var items = singlePack.GetAllItems();
foreach (var item in items.Values)
{
- if (ItemCompoundConfig.IsCompoundItem(item.itemId))
+ var makeID = ItemCompoundConfig.GetMakeIDByMaterial(item.itemId);
+ if (makeID != 0)
{
- composeItemGuidList.Add(item.guid);
+ composeItemIDList.Add(makeID);
+
+ var config = ItemCompoundConfig.GetItemCompoundConfig(makeID);
+ var targetID = config.itemID;
+ var targetCnt = config.itemCount;
+ if (GetItemCountByID(PackType.Item, targetID) >= targetCnt)
+ {
+ canComposeItemIDList.Add(makeID);
+ }
}
}
- composeItemGuidList.Sort(SortItemCompose);
+ composeItemIDList.Sort(SortItemCompose);
}
- int SortItemCompose(string guidA, string guidB)
+ int SortItemCompose(int itemIDA, int itemIDB)
{
- var itemA = GetItemByGuid(guidA);
- var itemB = GetItemByGuid(guidB);
+ // 鍚堟垚鏉愭枡澶熶笉澶�
+ var isEnoughA = canComposeItemIDList.Contains(itemIDA);
+ var isEnoughB = canComposeItemIDList.Contains(itemIDB);
+ if (isEnoughA != isEnoughB)
+ {
+ return isEnoughA ? -1 : 1;
+ }
- var colorA = itemA.config.ItemColor;
- var colorB = itemB.config.ItemColor;
+ var itemA = ItemConfig.Get(itemIDA);
+ var itemB = ItemConfig.Get(itemIDB);
+
+ var colorA = itemA.ItemColor;
+ var colorB = itemB.ItemColor;
if (colorA != colorB)
{
return colorB - colorA;
}
- return itemA.itemId - itemB.itemId;
+ return itemA.ID - itemB.ID;
}
#endregion
--
Gitblit v1.8.0