UI HUGE UPDATE

This commit is contained in:
FloatGaming
2026-06-25 11:48:56 +08:00
parent bd2a06f4c7
commit b2a1e307a4
1806 changed files with 359863 additions and 20822 deletions
+5
View File
@@ -435,6 +435,11 @@ public class UI_Idols : MonoBehaviour
ieqpmt.SetHero(hero);
}
if (isk != null)
{
isk.SetHero(hero);
}
if (rightPanel != null)
{
rightPanel.SetActive(hero != null);
+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;
}
}
}
+12 -1
View File
@@ -1,6 +1,17 @@
using UnityEngine;
using System.Collections.Generic;
public class idolSkins : MonoBehaviour
{
private AllyHero_SO currentHero;
private List<HeroSkinResolvedData> currentSkinSet = new List<HeroSkinResolvedData>();
public AllyHero_SO CurrentHero => currentHero;
public IReadOnlyList<HeroSkinResolvedData> CurrentSkinSet => currentSkinSet;
public void SetHero(AllyHero_SO hero)
{
currentHero = hero;
currentSkinSet = hero != null ? DlcContentAccess.GetAccessibleSkinSet(hero, true) : new List<HeroSkinResolvedData>();
}
}