UI HUGE UPDATE
This commit is contained in:
@@ -265,6 +265,7 @@ public class equipBag : MonoBehaviour
|
||||
private equipmentSO[] LoadEquipments()
|
||||
{
|
||||
var results = new List<equipmentSO>();
|
||||
var indexedByName = new Dictionary<string, int>(StringComparer.Ordinal);
|
||||
#if UNITY_EDITOR
|
||||
if (!Application.isPlaying)
|
||||
{
|
||||
@@ -277,15 +278,38 @@ public class equipBag : MonoBehaviour
|
||||
.Where(equipment => equipment != 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user