UI HUGE UPDATE

This commit is contained in:
2026-06-25 11:48:56 +08:00
parent bd2a06f4c7
commit b2a1e307a4
1806 changed files with 359863 additions and 20822 deletions
+28 -5
View File
@@ -551,13 +551,12 @@ public class idolEquipments : MonoBehaviour
}
equipItemPrefab prefab = eqpmtItemPrefab.GetComponent<equipItemPrefab>();
if (prefab == null || prefab.itemBtmColors == null || prefab.itemBtmColors.Length == 0)
if (prefab == null)
{
return Color.white;
}
int safeIndex = Mathf.Clamp(colorIndex, 0, prefab.itemBtmColors.Length - 1);
return prefab.itemBtmColors[safeIndex];
return prefab.GetAccentColorByVisualIndex(colorIndex);
}
private void RefreshEmptyState(int count)
@@ -757,6 +756,7 @@ public class idolEquipments : MonoBehaviour
private equipmentSO[] LoadEquipments()
{
var results = new List<equipmentSO>();
var indexedByName = new Dictionary<string, int>(StringComparer.Ordinal);
#if UNITY_EDITOR
if (!Application.isPlaying)
{
@@ -768,15 +768,38 @@ public class idolEquipments : MonoBehaviour
results.AddRange(Resources.LoadAll<equipmentSO>(runtimeEquipmentFolder).Where(e => e != null));
}
for (int i = 0; i < results.Count; i++)
{
equipmentSO equipment = results[i];
if (equipment == null || string.IsNullOrWhiteSpace(equipment.name))
{
continue;
}
indexedByName[equipment.name] = i;
}
IReadOnlyList<equipmentSO> runtimeGenerated = equipmentGenerator.GetRuntimeGeneratedEquipments();
if (runtimeGenerated != null)
{
for (int i = 0; i < runtimeGenerated.Count; i++)
{
equipmentSO equipment = runtimeGenerated[i];
if (equipment != null && !results.Contains(equipment))
if (equipment == null)
{
results.Add(equipment);
continue;
}
if (!string.IsNullOrWhiteSpace(equipment.name) && indexedByName.TryGetValue(equipment.name, out int existingIndex))
{
results[existingIndex] = equipment;
continue;
}
results.Add(equipment);
if (!string.IsNullOrWhiteSpace(equipment.name))
{
indexedByName[equipment.name] = results.Count - 1;
}
}
}