icon load fix, tooltip fix
This commit is contained in:
parent
e3dc37e3fd
commit
70a7a4774a
@ -274,7 +274,11 @@ namespace Kryz.CharacterStats.Examples
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
equipmentData.equippedItems[i].Icon = ItemIndexer.Instance.Items[equipmentData.equippedItems[i].templateIndex].Icon;
|
if (equipmentData.equippedItems[i].templateIndex >= 0)
|
||||||
|
equipmentData.equippedItems[i].Icon = ItemIndexer.Instance.Items[equipmentData.equippedItems[i].templateIndex].Icon;
|
||||||
|
else
|
||||||
|
equipmentData.equippedItems[i].Icon = Resources.Load<Sprite>(equipmentData.equippedItems[i].IconPath);
|
||||||
|
|
||||||
equipmentSlots[i].Item = equipmentData.equippedItems[i];
|
equipmentSlots[i].Item = equipmentData.equippedItems[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -125,13 +125,14 @@ public class EquippedItemTooltip : MonoBehaviour
|
|||||||
|
|
||||||
sb.Length = 0;
|
sb.Length = 0;
|
||||||
|
|
||||||
//TODO: Add new stats
|
|
||||||
|
|
||||||
AddStatText(item.AttackDamageBonus, " Attack Damage");
|
AddStatText(item.AttackDamageBonus, " Attack Damage");
|
||||||
AddStatText(item.SpellDamageBonus, " Spell Damage");
|
AddStatText(item.SpellDamageBonus, " Spell Damage");
|
||||||
AddStatText(item.CritChanceBonus, "% Base Crit Chance");
|
AddStatText(item.CritChanceBonus, "% Base Crit Chance");
|
||||||
AddStatText(item.CritDamageBonus, "% Base Crit Damage");
|
AddStatText(item.CritDamageBonus, "% Base Crit Damage");
|
||||||
AddStatText(item.MaxHealthBonus, " Max Health");
|
AddStatText(item.MaxHealthBonus, " Max Health");
|
||||||
|
AddStatText(item.HealthRegenBonus, " Health Regen");
|
||||||
|
AddStatText(item.MaxManaBonus, " Max Mana");
|
||||||
|
AddStatText(item.ManaRegenBonus, " Mana Regen");
|
||||||
AddStatText(item.ArmorBonus, " Armor");
|
AddStatText(item.ArmorBonus, " Armor");
|
||||||
AddStatText(item.MagicResistanceBonus, " Magic Resistance");
|
AddStatText(item.MagicResistanceBonus, " Magic Resistance");
|
||||||
|
|
||||||
@ -139,11 +140,23 @@ public class EquippedItemTooltip : MonoBehaviour
|
|||||||
|
|
||||||
AddStatText(item.AttackDamagePercentBonus * 100, " % Attack Damage");
|
AddStatText(item.AttackDamagePercentBonus * 100, " % Attack Damage");
|
||||||
AddStatText(item.SpellDamagePercentBonus * 100, " % Spell Damage");
|
AddStatText(item.SpellDamagePercentBonus * 100, " % Spell Damage");
|
||||||
|
AddStatText(item.AttackSpeedPercentBonus * 100, " % Attack Speed");
|
||||||
AddStatText(item.CritChancePercentBonus * 100, "% Increased Crit Chance");
|
AddStatText(item.CritChancePercentBonus * 100, "% Increased Crit Chance");
|
||||||
AddStatText(item.CritDamagePercentBonus * 100, "% Increased Crit Damage");
|
AddStatText(item.CritDamagePercentBonus * 100, "% Increased Crit Damage");
|
||||||
AddStatText(item.MaxHealthPercentBonus * 100, " % Max Health");
|
AddStatText(item.MaxHealthPercentBonus * 100, " % Max Health");
|
||||||
|
AddStatText(item.HealthRegenPercentBonus * 100, " % Health Regen");
|
||||||
|
AddStatText(item.MaxManaPercentBonus * 100, " % Max Mana");
|
||||||
|
AddStatText(item.ManaRegenPercentBonus * 100, " % ManaRegen");
|
||||||
AddStatText(item.ArmorPercentBonus * 100, " % Armor");
|
AddStatText(item.ArmorPercentBonus * 100, " % Armor");
|
||||||
AddStatText(item.MagicResistancePercentBonus * 100, " % Magic Resistance");
|
AddStatText(item.MagicResistancePercentBonus * 100, " % Magic Resistance");
|
||||||
|
AddStatText(item.DodgeChancePercentBonus * 100, " % Dodge Chance");
|
||||||
|
AddStatText(item.BlockChancePercentBonus * 100, " % Block Chance");
|
||||||
|
AddStatText(item.BlockEffectivenessPercentBonus * 100, " % Block Effectiveness");
|
||||||
|
AddStatText(item.AreaEffectivenessPercentBonus * 100, " % Area Effectiveness");
|
||||||
|
AddStatText(item.CooldownReductionPercentBonus * 100, " % Cooldown Reduction");
|
||||||
|
AddStatText(item.MovementSpeedPercentBonus * 100, " % Movement Speed");
|
||||||
|
AddStatText(item.ReputationGainIncreasePercentBonus * 100, " % Reputation Gain Increase");
|
||||||
|
AddStatText(item.GoldCostReductionPercentBonus * 100, " % Gold Cost Reduction");
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(itemFromVendor.description))
|
if (!string.IsNullOrEmpty(itemFromVendor.description))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -67,13 +67,14 @@ namespace Kryz.CharacterStats.Examples
|
|||||||
|
|
||||||
sb.Length = 0;
|
sb.Length = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
AddStatText(item.AttackDamageBonus, " Attack Damage");
|
AddStatText(item.AttackDamageBonus, " Attack Damage");
|
||||||
AddStatText(item.SpellDamageBonus, " Spell Damage");
|
AddStatText(item.SpellDamageBonus, " Spell Damage");
|
||||||
AddStatText(item.CritChanceBonus, "% Base Crit Chance");
|
AddStatText(item.CritChanceBonus, "% Base Crit Chance");
|
||||||
AddStatText(item.CritDamageBonus, "% Base Crit Damage");
|
AddStatText(item.CritDamageBonus, "% Base Crit Damage");
|
||||||
AddStatText(item.MaxHealthBonus, " Max Health");
|
AddStatText(item.MaxHealthBonus, " Max Health");
|
||||||
|
AddStatText(item.HealthRegenBonus, " Health Regen");
|
||||||
|
AddStatText(item.MaxManaBonus, " Max Mana");
|
||||||
|
AddStatText(item.ManaRegenBonus, " Mana Regen");
|
||||||
AddStatText(item.ArmorBonus, " Armor");
|
AddStatText(item.ArmorBonus, " Armor");
|
||||||
AddStatText(item.MagicResistanceBonus, " Magic Resistance");
|
AddStatText(item.MagicResistanceBonus, " Magic Resistance");
|
||||||
|
|
||||||
@ -81,11 +82,23 @@ namespace Kryz.CharacterStats.Examples
|
|||||||
|
|
||||||
AddStatText(item.AttackDamagePercentBonus * 100, " % Attack Damage");
|
AddStatText(item.AttackDamagePercentBonus * 100, " % Attack Damage");
|
||||||
AddStatText(item.SpellDamagePercentBonus * 100, " % Spell Damage");
|
AddStatText(item.SpellDamagePercentBonus * 100, " % Spell Damage");
|
||||||
|
AddStatText(item.AttackSpeedPercentBonus * 100, " % Attack Speed");
|
||||||
AddStatText(item.CritChancePercentBonus * 100, "% Increased Crit Chance");
|
AddStatText(item.CritChancePercentBonus * 100, "% Increased Crit Chance");
|
||||||
AddStatText(item.CritDamagePercentBonus * 100, "% Increased Crit Damage");
|
AddStatText(item.CritDamagePercentBonus * 100, "% Increased Crit Damage");
|
||||||
AddStatText(item.MaxHealthPercentBonus * 100, " % Max Health");
|
AddStatText(item.MaxHealthPercentBonus * 100, " % Max Health");
|
||||||
|
AddStatText(item.HealthRegenPercentBonus * 100, " % Health Regen");
|
||||||
|
AddStatText(item.MaxManaPercentBonus * 100, " % Max Mana");
|
||||||
|
AddStatText(item.ManaRegenPercentBonus * 100, " % ManaRegen");
|
||||||
AddStatText(item.ArmorPercentBonus * 100, " % Armor");
|
AddStatText(item.ArmorPercentBonus * 100, " % Armor");
|
||||||
AddStatText(item.MagicResistancePercentBonus * 100, " % Magic Resistance");
|
AddStatText(item.MagicResistancePercentBonus * 100, " % Magic Resistance");
|
||||||
|
AddStatText(item.DodgeChancePercentBonus * 100, " % Dodge Chance");
|
||||||
|
AddStatText(item.BlockChancePercentBonus * 100, " % Block Chance");
|
||||||
|
AddStatText(item.BlockEffectivenessPercentBonus * 100, " % Block Effectiveness");
|
||||||
|
AddStatText(item.AreaEffectivenessPercentBonus * 100, " % Area Effectiveness");
|
||||||
|
AddStatText(item.CooldownReductionPercentBonus * 100, " % Cooldown Reduction");
|
||||||
|
AddStatText(item.MovementSpeedPercentBonus * 100, " % Movement Speed");
|
||||||
|
AddStatText(item.ReputationGainIncreasePercentBonus * 100, " % Reputation Gain Increase");
|
||||||
|
AddStatText(item.GoldCostReductionPercentBonus * 100, " % Gold Cost Reduction");
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(itemToShow.description))
|
if (!string.IsNullOrEmpty(itemToShow.description))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3748,9 +3748,9 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier: Assembly-CSharp::EquippableItemGenerator
|
m_EditorClassIdentifier: Assembly-CSharp::EquippableItemGenerator
|
||||||
minStatRolls: 2
|
minStatRolls: 2
|
||||||
maxStatRolls: 6
|
maxStatRolls: 6
|
||||||
baseStatValue: 10
|
baseStatValue: 1
|
||||||
statVariance: 0.3
|
statVariance: 0.3
|
||||||
percentStatBaseValue: 0.05
|
percentStatBaseValue: 0.01
|
||||||
armorWeights:
|
armorWeights:
|
||||||
attackDamage: 1
|
attackDamage: 1
|
||||||
spellDamage: 1
|
spellDamage: 1
|
||||||
@ -8737,6 +8737,7 @@ MonoBehaviour:
|
|||||||
currentlySelectedCraftingItem:
|
currentlySelectedCraftingItem:
|
||||||
ItemName:
|
ItemName:
|
||||||
Icon: {fileID: 0}
|
Icon: {fileID: 0}
|
||||||
|
IconPath:
|
||||||
sellPricePlayer: 0
|
sellPricePlayer: 0
|
||||||
sellPriceVendor: 0
|
sellPriceVendor: 0
|
||||||
description:
|
description:
|
||||||
@ -8779,6 +8780,7 @@ MonoBehaviour:
|
|||||||
currentlySelectedCraftingStatStone:
|
currentlySelectedCraftingStatStone:
|
||||||
ItemName:
|
ItemName:
|
||||||
Icon: {fileID: 0}
|
Icon: {fileID: 0}
|
||||||
|
IconPath:
|
||||||
sellPricePlayer: 0
|
sellPricePlayer: 0
|
||||||
sellPriceVendor: 0
|
sellPriceVendor: 0
|
||||||
description:
|
description:
|
||||||
|
|||||||
@ -78,7 +78,7 @@ Material:
|
|||||||
- _Mode: 0
|
- _Mode: 0
|
||||||
- _OcclusionStrength: 1
|
- _OcclusionStrength: 1
|
||||||
- _Parallax: 0.02
|
- _Parallax: 0.02
|
||||||
- _Rotation: 89.72914
|
- _Rotation: 0.019999992
|
||||||
- _SmoothnessTextureChannel: 0
|
- _SmoothnessTextureChannel: 0
|
||||||
- _SpecularHighlights: 1
|
- _SpecularHighlights: 1
|
||||||
- _SrcBlend: 1
|
- _SrcBlend: 1
|
||||||
|
|||||||
@ -11,6 +11,10 @@ public class EquippableItemGenerator : MonoBehaviour
|
|||||||
public float statVariance = 0.3f; // 30% variance
|
public float statVariance = 0.3f; // 30% variance
|
||||||
public float percentStatBaseValue = 0.05f; // 5% base for percent stats
|
public float percentStatBaseValue = 0.05f; // 5% base for percent stats
|
||||||
|
|
||||||
|
// Add this field to your EquippableItemGenerator class
|
||||||
|
[Header("Path Mapping")]
|
||||||
|
private Dictionary<Sprite, string> spritePathMap = new Dictionary<Sprite, string>();
|
||||||
|
|
||||||
[Header("Stat Roll Weights by Equipment Type")]
|
[Header("Stat Roll Weights by Equipment Type")]
|
||||||
[SerializeField] private StatWeights armorWeights = new StatWeights();
|
[SerializeField] private StatWeights armorWeights = new StatWeights();
|
||||||
[SerializeField] private StatWeights weaponWeights = new StatWeights();
|
[SerializeField] private StatWeights weaponWeights = new StatWeights();
|
||||||
@ -75,127 +79,175 @@ public class EquippableItemGenerator : MonoBehaviour
|
|||||||
Legendary
|
Legendary
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
UpdateListsFromResources();
|
||||||
|
}
|
||||||
|
|
||||||
[ContextMenu("Update Lists From Resources")]
|
[ContextMenu("Update Lists From Resources")]
|
||||||
private void UpdateListsFromResources()
|
private void UpdateListsFromResources()
|
||||||
{
|
{
|
||||||
|
// Clear existing mappings
|
||||||
|
if (spritePathMap == null)
|
||||||
|
spritePathMap = new Dictionary<Sprite, string>();
|
||||||
|
spritePathMap.Clear();
|
||||||
|
|
||||||
// Armor pieces
|
// Armor pieces
|
||||||
HelmetIcons.Clear();
|
HelmetIcons.Clear();
|
||||||
foreach (Sprite sprite in Resources.LoadAll<Sprite>("Armor/Helmets"))
|
Sprite[] helmetSprites = Resources.LoadAll<Sprite>("Armor/Helmets");
|
||||||
|
foreach (Sprite sprite in helmetSprites)
|
||||||
{
|
{
|
||||||
HelmetIcons.Add(sprite);
|
HelmetIcons.Add(sprite);
|
||||||
|
spritePathMap[sprite] = $"Armor/Helmets/{sprite.name}";
|
||||||
}
|
}
|
||||||
|
|
||||||
ShoulderIcons.Clear();
|
ShoulderIcons.Clear();
|
||||||
foreach (Sprite sprite in Resources.LoadAll<Sprite>("Armor/Shoulders"))
|
Sprite[] shoulderSprites = Resources.LoadAll<Sprite>("Armor/Shoulders");
|
||||||
|
foreach (Sprite sprite in shoulderSprites)
|
||||||
{
|
{
|
||||||
ShoulderIcons.Add(sprite);
|
ShoulderIcons.Add(sprite);
|
||||||
|
spritePathMap[sprite] = $"Armor/Shoulders/{sprite.name}";
|
||||||
}
|
}
|
||||||
|
|
||||||
ChestIcons.Clear();
|
ChestIcons.Clear();
|
||||||
foreach (Sprite sprite in Resources.LoadAll<Sprite>("Armor/Chests"))
|
Sprite[] chestSprites = Resources.LoadAll<Sprite>("Armor/Chests");
|
||||||
|
foreach (Sprite sprite in chestSprites)
|
||||||
{
|
{
|
||||||
ChestIcons.Add(sprite);
|
ChestIcons.Add(sprite);
|
||||||
|
spritePathMap[sprite] = $"Armor/Chests/{sprite.name}";
|
||||||
}
|
}
|
||||||
|
|
||||||
BeltIcons.Clear();
|
BeltIcons.Clear();
|
||||||
foreach (Sprite sprite in Resources.LoadAll<Sprite>("Armor/Belts"))
|
Sprite[] beltSprites = Resources.LoadAll<Sprite>("Armor/Belts");
|
||||||
|
foreach (Sprite sprite in beltSprites)
|
||||||
{
|
{
|
||||||
BeltIcons.Add(sprite);
|
BeltIcons.Add(sprite);
|
||||||
|
spritePathMap[sprite] = $"Armor/Belts/{sprite.name}";
|
||||||
}
|
}
|
||||||
|
|
||||||
LegsIcons.Clear();
|
LegsIcons.Clear();
|
||||||
foreach (Sprite sprite in Resources.LoadAll<Sprite>("Armor/Legs"))
|
Sprite[] legsSprites = Resources.LoadAll<Sprite>("Armor/Legs");
|
||||||
|
foreach (Sprite sprite in legsSprites)
|
||||||
{
|
{
|
||||||
LegsIcons.Add(sprite);
|
LegsIcons.Add(sprite);
|
||||||
|
spritePathMap[sprite] = $"Armor/Legs/{sprite.name}";
|
||||||
}
|
}
|
||||||
|
|
||||||
BracersIcons.Clear();
|
BracersIcons.Clear();
|
||||||
foreach (Sprite sprite in Resources.LoadAll<Sprite>("Armor/Bracers"))
|
Sprite[] bracersSprites = Resources.LoadAll<Sprite>("Armor/Bracers");
|
||||||
|
foreach (Sprite sprite in bracersSprites)
|
||||||
{
|
{
|
||||||
BracersIcons.Add(sprite);
|
BracersIcons.Add(sprite);
|
||||||
|
spritePathMap[sprite] = $"Armor/Bracers/{sprite.name}";
|
||||||
}
|
}
|
||||||
|
|
||||||
GlovesIcons.Clear();
|
GlovesIcons.Clear();
|
||||||
foreach (Sprite sprite in Resources.LoadAll<Sprite>("Armor/Gloves"))
|
Sprite[] glovesSprites = Resources.LoadAll<Sprite>("Armor/Gloves");
|
||||||
|
foreach (Sprite sprite in glovesSprites)
|
||||||
{
|
{
|
||||||
GlovesIcons.Add(sprite);
|
GlovesIcons.Add(sprite);
|
||||||
|
spritePathMap[sprite] = $"Armor/Gloves/{sprite.name}";
|
||||||
}
|
}
|
||||||
|
|
||||||
BootsIcons.Clear();
|
BootsIcons.Clear();
|
||||||
foreach (Sprite sprite in Resources.LoadAll<Sprite>("Armor/Boots"))
|
Sprite[] bootsSprites = Resources.LoadAll<Sprite>("Armor/Boots");
|
||||||
|
foreach (Sprite sprite in bootsSprites)
|
||||||
{
|
{
|
||||||
BootsIcons.Add(sprite);
|
BootsIcons.Add(sprite);
|
||||||
|
spritePathMap[sprite] = $"Armor/Boots/{sprite.name}";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Two-handed weapons
|
// Two-handed weapons
|
||||||
StaffIcons.Clear();
|
StaffIcons.Clear();
|
||||||
foreach (Sprite sprite in Resources.LoadAll<Sprite>("Weapons/Staffs"))
|
Sprite[] staffSprites = Resources.LoadAll<Sprite>("Weapons/Staffs");
|
||||||
|
foreach (Sprite sprite in staffSprites)
|
||||||
{
|
{
|
||||||
StaffIcons.Add(sprite);
|
StaffIcons.Add(sprite);
|
||||||
|
spritePathMap[sprite] = $"Weapons/Staffs/{sprite.name}";
|
||||||
}
|
}
|
||||||
|
|
||||||
SpearIcons.Clear();
|
SpearIcons.Clear();
|
||||||
foreach (Sprite sprite in Resources.LoadAll<Sprite>("Weapons/Spears"))
|
Sprite[] spearSprites = Resources.LoadAll<Sprite>("Weapons/Spears");
|
||||||
|
foreach (Sprite sprite in spearSprites)
|
||||||
{
|
{
|
||||||
SpearIcons.Add(sprite);
|
SpearIcons.Add(sprite);
|
||||||
|
spritePathMap[sprite] = $"Weapons/Spears/{sprite.name}";
|
||||||
}
|
}
|
||||||
|
|
||||||
ScytheIcons.Clear();
|
ScytheIcons.Clear();
|
||||||
foreach (Sprite sprite in Resources.LoadAll<Sprite>("Weapons/Scythes"))
|
Sprite[] scytheSprites = Resources.LoadAll<Sprite>("Weapons/Scythes");
|
||||||
|
foreach (Sprite sprite in scytheSprites)
|
||||||
{
|
{
|
||||||
ScytheIcons.Add(sprite);
|
ScytheIcons.Add(sprite);
|
||||||
|
spritePathMap[sprite] = $"Weapons/Scythes/{sprite.name}";
|
||||||
}
|
}
|
||||||
|
|
||||||
HammerIcons.Clear();
|
HammerIcons.Clear();
|
||||||
foreach (Sprite sprite in Resources.LoadAll<Sprite>("Weapons/Hammers"))
|
Sprite[] hammerSprites = Resources.LoadAll<Sprite>("Weapons/Hammers");
|
||||||
|
foreach (Sprite sprite in hammerSprites)
|
||||||
{
|
{
|
||||||
HammerIcons.Add(sprite);
|
HammerIcons.Add(sprite);
|
||||||
|
spritePathMap[sprite] = $"Weapons/Hammers/{sprite.name}";
|
||||||
}
|
}
|
||||||
|
|
||||||
BowIcons.Clear();
|
BowIcons.Clear();
|
||||||
foreach (Sprite sprite in Resources.LoadAll<Sprite>("Weapons/Bows"))
|
Sprite[] bowSprites = Resources.LoadAll<Sprite>("Weapons/Bows");
|
||||||
|
foreach (Sprite sprite in bowSprites)
|
||||||
{
|
{
|
||||||
BowIcons.Add(sprite);
|
BowIcons.Add(sprite);
|
||||||
|
spritePathMap[sprite] = $"Weapons/Bows/{sprite.name}";
|
||||||
}
|
}
|
||||||
|
|
||||||
CrossbowIcons.Clear();
|
CrossbowIcons.Clear();
|
||||||
foreach (Sprite sprite in Resources.LoadAll<Sprite>("Weapons/Crossbows"))
|
Sprite[] crossbowSprites = Resources.LoadAll<Sprite>("Weapons/Crossbows");
|
||||||
|
foreach (Sprite sprite in crossbowSprites)
|
||||||
{
|
{
|
||||||
CrossbowIcons.Add(sprite);
|
CrossbowIcons.Add(sprite);
|
||||||
|
spritePathMap[sprite] = $"Weapons/Crossbows/{sprite.name}";
|
||||||
}
|
}
|
||||||
|
|
||||||
AxeIcons.Clear();
|
AxeIcons.Clear();
|
||||||
foreach (Sprite sprite in Resources.LoadAll<Sprite>("Weapons/Axes"))
|
Sprite[] axeSprites = Resources.LoadAll<Sprite>("Weapons/Axes");
|
||||||
|
foreach (Sprite sprite in axeSprites)
|
||||||
{
|
{
|
||||||
AxeIcons.Add(sprite);
|
AxeIcons.Add(sprite);
|
||||||
|
spritePathMap[sprite] = $"Weapons/Axes/{sprite.name}";
|
||||||
}
|
}
|
||||||
|
|
||||||
// One-handed weapons
|
// One-handed weapons
|
||||||
SwordIcons.Clear();
|
SwordIcons.Clear();
|
||||||
foreach (Sprite sprite in Resources.LoadAll<Sprite>("Weapons/Swords"))
|
Sprite[] swordSprites = Resources.LoadAll<Sprite>("Weapons/Swords");
|
||||||
|
foreach (Sprite sprite in swordSprites)
|
||||||
{
|
{
|
||||||
SwordIcons.Add(sprite);
|
SwordIcons.Add(sprite);
|
||||||
|
spritePathMap[sprite] = $"Weapons/Swords/{sprite.name}";
|
||||||
}
|
}
|
||||||
|
|
||||||
ShieldIcons.Clear();
|
ShieldIcons.Clear();
|
||||||
foreach (Sprite sprite in Resources.LoadAll<Sprite>("Weapons/Shields"))
|
Sprite[] shieldSprites = Resources.LoadAll<Sprite>("Weapons/Shields");
|
||||||
|
foreach (Sprite sprite in shieldSprites)
|
||||||
{
|
{
|
||||||
ShieldIcons.Add(sprite);
|
ShieldIcons.Add(sprite);
|
||||||
|
spritePathMap[sprite] = $"Weapons/Shields/{sprite.name}";
|
||||||
}
|
}
|
||||||
|
|
||||||
DaggerIcons.Clear();
|
DaggerIcons.Clear();
|
||||||
foreach (Sprite sprite in Resources.LoadAll<Sprite>("Weapons/Daggers"))
|
Sprite[] daggerSprites = Resources.LoadAll<Sprite>("Weapons/Daggers");
|
||||||
|
foreach (Sprite sprite in daggerSprites)
|
||||||
{
|
{
|
||||||
DaggerIcons.Add(sprite);
|
DaggerIcons.Add(sprite);
|
||||||
|
spritePathMap[sprite] = $"Weapons/Daggers/{sprite.name}";
|
||||||
}
|
}
|
||||||
|
|
||||||
BookIcons.Clear();
|
BookIcons.Clear();
|
||||||
foreach (Sprite sprite in Resources.LoadAll<Sprite>("Weapons/Books"))
|
Sprite[] bookSprites = Resources.LoadAll<Sprite>("Weapons/Books");
|
||||||
|
foreach (Sprite sprite in bookSprites)
|
||||||
{
|
{
|
||||||
BookIcons.Add(sprite);
|
BookIcons.Add(sprite);
|
||||||
|
spritePathMap[sprite] = $"Weapons/Books/{sprite.name}";
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.Log("Updated all icon lists from Resources folders");
|
Debug.Log($"Updated all icon lists from Resources folders. Loaded {spritePathMap.Count} sprites with paths.");
|
||||||
}
|
}
|
||||||
|
|
||||||
public EquippableItemInstance GenerateEquippableItemInstance()
|
public EquippableItemInstance GenerateEquippableItemInstance()
|
||||||
@ -229,7 +281,7 @@ public class EquippableItemGenerator : MonoBehaviour
|
|||||||
// Set basic properties
|
// Set basic properties
|
||||||
item.EquipmentType = equipmentType;
|
item.EquipmentType = equipmentType;
|
||||||
item.ItemName = GenerateItemName(equipmentType, tier);
|
item.ItemName = GenerateItemName(equipmentType, tier);
|
||||||
item.Icon = GetRandomIcon(equipmentType);
|
item.Icon = GetRandomIcon(equipmentType, item);
|
||||||
Debug.Log("Generated: " + item.ItemName + " icon " + item.Icon.name);
|
Debug.Log("Generated: " + item.ItemName + " icon " + item.Icon.name);
|
||||||
|
|
||||||
// Set weapon type if it's a weapon
|
// Set weapon type if it's a weapon
|
||||||
@ -253,7 +305,7 @@ public class EquippableItemGenerator : MonoBehaviour
|
|||||||
item.EquipmentType = EquipmentType.Weapon1;
|
item.EquipmentType = EquipmentType.Weapon1;
|
||||||
item.WeaponType = weaponType;
|
item.WeaponType = weaponType;
|
||||||
item.ItemName = GenerateWeaponName(weaponType, tier);
|
item.ItemName = GenerateWeaponName(weaponType, tier);
|
||||||
item.Icon = GetWeaponIcon(weaponType);
|
item.Icon = GetWeaponIcon(weaponType, item);
|
||||||
Debug.Log("Generated: " + item.ItemName + " icon " + item.Icon.name);
|
Debug.Log("Generated: " + item.ItemName + " icon " + item.Icon.name);
|
||||||
|
|
||||||
GenerateStatsForItem(item, tier, playerLevel);
|
GenerateStatsForItem(item, tier, playerLevel);
|
||||||
@ -274,7 +326,7 @@ public class EquippableItemGenerator : MonoBehaviour
|
|||||||
item.EquipmentType = weaponSlot;
|
item.EquipmentType = weaponSlot;
|
||||||
item.WeaponType = weaponType;
|
item.WeaponType = weaponType;
|
||||||
item.ItemName = GenerateWeaponName(weaponType, tier);
|
item.ItemName = GenerateWeaponName(weaponType, tier);
|
||||||
item.Icon = GetWeaponIcon(weaponType);
|
item.Icon = GetWeaponIcon(weaponType, item);
|
||||||
|
|
||||||
GenerateStatsForItem(item, tier, playerLevel);
|
GenerateStatsForItem(item, tier, playerLevel);
|
||||||
|
|
||||||
@ -572,7 +624,8 @@ public class EquippableItemGenerator : MonoBehaviour
|
|||||||
return string.IsNullOrEmpty(prefix) ? baseName : $"{prefix} {baseName}";
|
return string.IsNullOrEmpty(prefix) ? baseName : $"{prefix} {baseName}";
|
||||||
}
|
}
|
||||||
|
|
||||||
private Sprite GetRandomIcon(EquipmentType equipmentType)
|
// Update your icon selection methods to store the path
|
||||||
|
private Sprite GetRandomIcon(EquipmentType equipmentType, EquippableItemInstance item)
|
||||||
{
|
{
|
||||||
List<Sprite> iconList = equipmentType switch
|
List<Sprite> iconList = equipmentType switch
|
||||||
{
|
{
|
||||||
@ -590,12 +643,22 @@ public class EquippableItemGenerator : MonoBehaviour
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (iconList != null && iconList.Count > 0)
|
if (iconList != null && iconList.Count > 0)
|
||||||
return iconList[Random.Range(0, iconList.Count)];
|
{
|
||||||
|
Sprite selectedSprite = iconList[Random.Range(0, iconList.Count)];
|
||||||
|
|
||||||
|
// Store the path in the item
|
||||||
|
if (spritePathMap.TryGetValue(selectedSprite, out string path))
|
||||||
|
{
|
||||||
|
item.IconPath = path;
|
||||||
|
}
|
||||||
|
|
||||||
|
return selectedSprite;
|
||||||
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Sprite GetWeaponIcon(WeaponType weaponType)
|
private Sprite GetWeaponIcon(WeaponType weaponType, EquippableItemInstance item)
|
||||||
{
|
{
|
||||||
List<Sprite> iconList = weaponType switch
|
List<Sprite> iconList = weaponType switch
|
||||||
{
|
{
|
||||||
@ -614,7 +677,17 @@ public class EquippableItemGenerator : MonoBehaviour
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (iconList != null && iconList.Count > 0)
|
if (iconList != null && iconList.Count > 0)
|
||||||
return iconList[Random.Range(0, iconList.Count)];
|
{
|
||||||
|
Sprite selectedSprite = iconList[Random.Range(0, iconList.Count)];
|
||||||
|
|
||||||
|
// Store the path in the item
|
||||||
|
if (spritePathMap.TryGetValue(selectedSprite, out string path))
|
||||||
|
{
|
||||||
|
item.IconPath = path;
|
||||||
|
}
|
||||||
|
|
||||||
|
return selectedSprite;
|
||||||
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user